Frequently asked
questions.
How dothub works: publishing your Claude Code setup from your agent, reading the effects manifest, and installing other people's setups safely.
+What is dothub?
dothub is a hub for sharing your whole coding-agent setup. Publish your Claude Code configuration, browse a public feed of other people's setups, and pull setups into your own environment. It is one app: a remote MCP server your agent talks to, plus a web feed you read in the browser.
It is agent-first by design. Setups are text-only: your CLAUDE.md, skills, commands, agents, hooks, MCP config, plugins and settings.
+How do I publish my Claude Code setup?
Publishing is agent-native. You do not fill in a form or run an export script. Instead:
- Add the dothub remote MCP server to Claude Code (see the question below).
- In a Claude Code session, say something like "publish my Claude Code setup to dothub as my-flow".
- The agent gathers your files, previews the effects with you, and publishes once you approve.
Under the hood the agent calls prepare_setup(files) to preview, then publish_setup(title, description, files) after you say yes. Your setup gets a public page at /s/<slug>.
+Why is there no upload form or upload button?
Deliberately. The dothub server never reads your disk - your coding agent does. The agent is the export step: it reads your files with its own tools and sends them as a path-to-content map. dothub validates the paths and size, computes the effects manifest, and shows it for review.
This keeps publishing honest about what a setup actually does, and means there is no server-side extractor guessing at your config.
+What gets captured when I publish?
Your agent gathers from your user scope (~/.claude/) and, for project setups, the project .claude/ and repo root. The captured pieces are:
CLAUDE.mdskills/commands/agents/hooks/hooks.json.mcp.json- plus
output-styles/,settings.json, and a synthesizedplugins.jsonwhere present.
Setups are text-only. Limits are 500 files, 1 MB per file, and 5 MB per bundle. Oversized publishes are rejected whole, so trim contents rather than dropping whole pieces.
+How do I avoid uploading secrets?
The effects manifest flags secret-looking patterns - things like sk-..., AKIA..., and PRIVATE KEY blocks - under secret_flags. But that flagging is a safety net, not a guarantee: you are responsible for not publishing tokens.
Don't publish .env, live tokens, or anything with credentials in it. Your agent should never upload ~/.claude.json (it holds private state), memory files, or conversation history. Review the secret_flags in the preview before you approve a publish.
+What is the "effects manifest" and why does it matter?
The effects manifest is the summary of what a setup will actually do on your machine. It shows:
- Every hook command, verbatim.
- A
runs_codeflag - whether the setup executes code via hooks, MCP servers, plugins, or a statusLine command. secret_flags- any secret-looking strings detected in the files.- The MCP servers and plugins it adds.
It is shown to you before you publish (via prepare_setup) and to installers before they install (via preview). Read it. A setup whose hooks were not gathered advertises itself as safer than it really is, so completeness matters.
+How do I install someone else's setup?
Always preview first. In a Claude Code session: "preview their-slug" to see the effects manifest, review it, then "install their-slug" to have the agent write the files into your ~/.claude/ (user scope) or the project .claude/.
The agent writes files only after you approve. Installing code that runs on your machine - hooks, MCP servers, plugins - is your responsibility, so read the effects manifest before you say yes.
+Do I need an account or an API key?
Browsing the public feed needs nothing. To publish or install you need an account and an API key.
Sign up, then mint a key on your Account page. Keys are Bearer tokens that start with dh_, and the key value is shown only once - copy it when it appears.
+How do I add the remote MCP server to Claude Code?
Mint a dh_ key on your Account page, then add dothub to Claude Code from a terminal:
claude mcp add --transport http dothub https://dothub.nl/mcp/ --header "Authorization: Bearer dh_your_key"
Once connected, your agent can publish, preview, install, and search setups directly. The full gather spec ships as the MCP server's instructions and at /llms.txt.
+Can I keep a setup private?
Yes - in fact, setups you publish through your agent land private by default. A private setup is visible only to you: it is hidden from the discovery feed, search, and your public profile, and anyone else gets a not-found response. You review it on its own page, and when you are ready you click Publish to everyone to make it public (or ask your agent to publish with public=true).
Private setups are stored on dothub's servers so it can show you the review page and publish them on your word - they are not shared or surfaced anywhere until you publish. Use private mode for a work-in-progress or a personal config you want backed up without sharing yet.
+Does dothub only work with Claude Code?
Claude Code is the primary agent, but publishing records provenance for other coding agents too. When a setup is published, the agent passes its own slug - claude-code, codex, cursor, gemini-cli, windsurf and many others - so installers can see where a setup came from. It defaults to claude-code when omitted.
+Is dothub free?
Yes - dothub is free to use. Sign up, mint a key, and publish or install setups at no cost. It also runs with zero infrastructure locally (SQLite and local disk), so you can self-host your own instance if you prefer.