GSD Pi, published from this repository as @opengsd/gsd-pi, is a local-first coding agent for planning, implementing, and verifying project work from your terminal.
This guide gets you from a clean machine to your first GSD session.
Install these first:
| Requirement | Minimum | Recommended |
|---|---|---|
| Node.js | 22.0.0 | 24 LTS |
| npm | Bundled with Node.js | Latest bundled LTS version |
| Git | 2.20 | Latest stable |
| Model provider credentials | One supported provider | The provider your team already uses |
Verify the basics:
node --version
npm --version
git --versionInstall the CLI globally from the scoped npm package:
npm install -g @opengsd/gsd-pi@latestConfirm the command is available:
gsdIf gsd is not found, your npm global bin directory is probably not on PATH.
npm prefix -gAdd that directory's bin folder to your shell profile, then open a new terminal.
After the first install, upgrade to the latest release from your shell:
gsd upgradegsd update is an alias for the same command. Inside a GSD session, use /gsd update instead.
If gsd reports a version mismatch with synced resources, or you previously installed the unscoped gsd-pi package, see Upgrade from older gsd-pi installs in Troubleshooting.
Start GSD:
gsdThen run the setup wizard inside the GSD session:
/gsd config
The wizard walks through:
- model provider setup
- optional tool credentials
- default model and reasoning preferences
- local project/runtime settings
You can rerun it any time from inside GSD:
/gsd config
Move into the repository you want GSD to work on:
cd path/to/your-projectStart GSD:
gsdOn first run for a project, GSD creates local project state under .gsd/. This state tracks plans, milestones, tasks, decisions, session history, and runtime metadata.
For a small change, start GSD and use a quick task command:
gsd/gsd quick "Update the README with local setup instructions"
For planned work, start an interactive session:
gsdInside the session, describe what you want to build. GSD can help shape the request into milestones, slices, and tasks before implementing.
Auto mode lets GSD continue through planning, implementation, verification, and handoff until it needs input or finishes the current unit of work.
gsd/gsd auto
Use auto mode when:
- the task is clearly described
- the project has a clean Git state
- you are comfortable letting GSD create isolated worktrees and commits
Pause or stop auto mode from the session controls or with the relevant /gsd command in the interactive UI.
Use status commands inside GSD when you want to inspect progress before continuing:
/gsd status
In an interactive session, common commands include:
/gsd status
/gsd auto
/gsd next
/gsd stop
/gsd help
- Open a clean project checkout.
- Run
gsd. - Run
/gsd config. - Ask GSD to inspect the project and suggest the next small improvement.
- Approve one focused task.
- Let GSD implement and verify it.
- Review the Git diff and generated planning notes.
GSD expects Git to be the source of truth for code changes.
Before starting meaningful work:
git statusStart from a clean worktree when possible. GSD can create task worktrees for isolated implementation, but your base checkout should still be understandable before you begin.
GSD stores project state in .gsd/. Depending on your workflow, some generated markdown files may be useful to commit and review, while runtime/cache files should stay local.
When in doubt:
git status --shortReview generated files before committing them.
If setup fails:
gsd/gsd doctor
If the CLI cannot find your provider credentials, rerun:
/gsd config
If a session gets stuck, check status first:
/gsd status
Then inspect logs or use the debugging tools documented in Troubleshooting.
- Commands Reference - learn the available
/gsdcommands. - Configuration - tune model, reasoning, Git, and token settings.
- Provider Setup - connect the model provider your team uses.
- Git Strategy - understand worktrees, branches, and merge behavior.
- Auto Mode - run longer autonomous workflows safely.
- Working in Teams - configure shared-project workflows.
- Skills - discover and use bundled or custom skills.
- Subagents - delegate isolated work when a task can split cleanly.
- Parallel Orchestration - run multiple milestones with worker isolation.
- Cost Management - set budgets and review usage.
- Web Interface - use the browser-based project surface.
- Troubleshooting - diagnose setup, provider, Git, and runtime issues.