Repo setup
Clone the godmode monorepo, install, build, and link a dev binary.
For contributing to godmode itself (the CLI, interfaces, first-party extensions). If you just want to use an extension you've written locally, see Local development — you don't need to clone this repo.
Clone & install
git clone https://github.com/tomsiwik/godmode.git
cd godmode
pnpm installpnpm 10+ is required (workspace + lockfile features). Node 20+.
Build the CLI
pnpm -C packages/cli buildOutput lands in packages/cli/dist/. The CLI's binary entry is packages/cli/dist/index.js.
Link a dev binary
pnpm -C packages/cli link --globalNow godmode on your $PATH resolves to the working-tree build. Edit packages/cli/src/, rebuild, and the next invocation runs your changes — no reinstall needed.
To unlink and revert to whatever was on $PATH before:
pnpm -C packages/cli unlink --globalWatch mode (recommended)
pnpm devTop-level dev runs turbo dev across the workspace — all packages rebuild on save. Combined with the global link, you get edit → save → run-godmode-from-anywhere with no manual rebuild.
Monorepo layout
packages/
cli/ # godmode binary; dispatch, parser, help system
test/ # @godmode-cli/test — shared test utils
ui/ # @godmode-cli/ui — UI components for the docs site
cli-tools/ # internal tools used by CLI dev workflows
interfaces/
api/ # @godmode-cli/interface-api — REST execution
graphql/ # @godmode-cli/interface-graphql — GraphQL execution
mcp/ # @godmode-cli/interface-mcp — MCP wrapping
commands/
agent/ # @godmode-cli/command-agent — built-in `agent` extension
extensions/
stripe/ github/ slack/ openai/ context7/ petstore/ claude-code-channels/
apps/
docs/ # documentation site (TanStack Start + fumadocs)
skills/
godmode/ # the godmode skill (npx skills add tomsiwik/godmode)Conventions:
- One folder per package, even for tiny ones. Workspace ranges (
workspace:*) link them. - Extensions use
manifest.yamlonly — no runtime code unless they're MCP package-based extensions. - Tests live alongside the package under
<pkg>/test/. Run a single package's tests withpnpm -C <pkg> test.
See also
- Local development — iterate on YOUR extension without cloning godmode.
- Testing — what
pnpm -r testcovers and the help-compliance pipeline. - PR workflow — how to land a change.