Skip to main content

One-Command Install

Manual setup — copying prompt files into CLAUDE.md and keeping them current by hand — works, but it puts the burden on every developer and drifts out of date. The one-command install removes that burden: a single command run from your repository root wires Manicode prompts into your coding agent (the harness) and delivers them automatically on every session.

This guide covers Claude Code, whose plugin system makes the whole flow checkable-in and zero-touch for teammates.

Install

Run the install command from the root of the repository adopting Manicode prompts:

curl -fsSL https://raw.githubusercontent.com/manicode/forge-cli/main/install.js | node

The command needs curl and node. It does not modify tracked prompt files or fetch anything into your working tree — it writes a small amount of configuration into the repository's .claude/settings.json, prints a summary, and exits.

Review the resulting diff and check it in. That single commit is all your teammates need.

What Gets Written

The installer merges three things into .claude/settings.json — the file Claude Code reads at repository scope:

{
"extraKnownMarketplaces": {
"manicode": {
"source": { "source": "github", "repo": "manicode/forge-cli" },
"autoUpdate": true
}
},
"enabledPlugins": {
"forge@manicode": true
},
"hooks": {
"SessionStart": [
{
"matcher": "startup|clear",
"hooks": [{ "type": "command", "command": "…bootstrap…" }]
}
]
}
}
EntryPurpose
extraKnownMarketplacesPoints Claude Code at the Manicode plugin marketplace. autoUpdate keeps prompt updates flowing without a manual refresh.
enabledPluginsDeclares the Manicode prompts plugin as enabled for this repository.
hooks.SessionStartA bootstrap hook that installs the plugin on first use and delivers prompts each session (see below).

Because this configuration lives in a checked-in file rather than in machine-local CLI state, it travels with the repository — everyone who clones it inherits the same setup.

How Delivery Works

The checked-in declaration names the plugin but does not install it by itself. The SessionStart bootstrap hook closes that gap:

  1. First session on a machine. The hook installs the plugin at local scope. Consent state is recorded in the gitignored .claude/settings.local.json — the checked-in settings.json is never rewritten.
  2. Every session. Once installed, the plugin delivers the prompts that match your repository's stack straight into the session context, so the agent starts each session already configured for secure coding.
  3. Later sessions. The bootstrap detects the plugin is already present and exits without output.

Failures are kept soft: a broken network or missing dependency never blocks session start.

For Teammates

Teammates who pull the commit need nothing beyond Claude Code's standard workspace-trust prompt. Their first session installs the plugin from the marketplace and delivers prompts immediately. There is no per-developer setup, no files to copy, and no prompt content to keep in sync by hand.

Re-Running and Opting Out

  • Idempotent. Re-running the install command when the configuration is already present makes no changes and reports that the repository is up to date.
  • Opting out. An explicit "forge@manicode": false in .claude/settings.local.json keeps a developer opted out; the bootstrap honors it and delivers nothing.
  • Explicit updates. If your team prefers to review every prompt update rather than receive them automatically, remove the autoUpdate flag from the marketplace entry during review. Updates then arrive only when you refresh the marketplace.

When to Use Manual Setup Instead

The one-command install targets Claude Code's plugin system. For agents and tools without a comparable plugin mechanism, use the file-based setup described in AI Coding Agents and IDE Integrations, or deliver prompt updates through the Prompt Delivery PR workflow.