From d20d5e8fb5c3bddc45c64efd8f2b353d69be958c Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Wed, 25 Mar 2026 09:54:41 -0600 Subject: [PATCH] docs: add Mintlify documentation site and move internal docs Add a proper public-facing documentation site using Mintlify with 19 MDX pages covering getting started, auto mode, commands, configuration, and all user-facing features. Move internal/SDK documentation (Pi SDK, TUI, context & hooks, research notes, ADRs) to docs-internal/ since they should not be part of the public documentation. Co-Authored-By: Claude Opus 4.6 (1M context) --- ...DR-001-branchless-worktree-architecture.md | 0 .../ADR-003-pipeline-simplification.md | 0 {docs => docs-internal}/FILE-SYSTEM-MAP.md | 0 .../PRD-branchless-worktree-architecture.md | 0 {docs => docs-internal}/README.md | 0 .../agent-knowledge-index.md | 0 {docs => docs-internal}/architecture.md | 0 {docs => docs-internal}/auto-mode.md | 0 .../01-work-decomposition.md | 0 ...-to-keep-discard-from-human-engineering.md | 0 .../03-state-machine-context-management.md | 0 .../04-optimal-storage-for-project-context.md | 0 .../05-parallelization-strategy.md | 0 ...6-maximizing-agent-autonomy-superpowers.md | 0 ...ystem-prompt-llm-vs-deterministic-split.md | 0 .../08-speed-optimization.md | 0 .../09-top-10-tips-for-a-world-class-agent.md | 0 .../10-top-10-pitfalls-to-avoid.md | 0 .../11-god-tier-context-engineering.md | 0 .../12-handling-ambiguity-contradiction.md | 0 .../13-long-running-memory-fidelity.md | 0 ...ulti-agent-semantic-conflict-resolution.md | 0 .../15-legacy-code-brownfield-onboarding.md | 0 .../16-encoding-taste-aesthetics.md | 0 ...versible-operations-safety-architecture.md | 0 ...off-problem-agent-human-maintainability.md | 0 .../19-when-to-scrap-and-start-over.md | 0 .../20-error-taxonomy-routing.md | 0 .../21-cost-quality-tradeoff-model-routing.md | 0 ...-project-learning-reusable-intelligence.md | 0 .../23-evolution-across-project-scale.md | 0 .../24-security-trust-boundaries.md | 0 ...ing-for-non-technical-users-vibe-coders.md | 0 ...ting-themes-where-all-4-models-converge.md | 0 .../building-coding-agents/README.md | 0 {docs => docs-internal}/captures-triage.md | 0 {docs => docs-internal}/ci-cd-pipeline.md | 0 {docs => docs-internal}/commands.md | 0 {docs => docs-internal}/configuration.md | 0 .../01-the-context-pipeline.md | 0 .../context-and-hooks/02-hook-reference.md | 0 .../03-context-injection-patterns.md | 0 .../04-message-types-and-llm-visibility.md | 0 .../05-inter-extension-communication.md | 0 .../06-advanced-patterns-from-source.md | 0 .../07-the-system-prompt-anatomy.md | 0 .../context-and-hooks/README.md | 0 {docs => docs-internal}/cost-management.md | 0 {docs => docs-internal}/custom-models.md | 0 .../dynamic-model-routing.md | 0 .../extending-pi/01-what-are-extensions.md | 0 .../02-architecture-mental-model.md | 0 .../extending-pi/03-getting-started.md | 0 .../04-extension-locations-discovery.md | 0 .../05-extension-structure-styles.md | 0 .../06-the-extension-lifecycle.md | 0 .../07-events-the-nervous-system.md | 0 ...08-extensioncontext-what-you-can-access.md | 0 .../09-extensionapi-what-you-can-do.md | 0 ...stom-tools-giving-the-llm-new-abilities.md | 0 .../11-custom-commands-user-facing-actions.md | 0 .../12-custom-ui-visual-components.md | 0 .../13-state-management-persistence.md | 0 ...endering-controlling-what-the-user-sees.md | 0 .../15-system-prompt-modification.md | 0 .../16-compaction-session-control.md | 0 .../17-model-provider-management.md | 0 .../18-remote-execution-tool-overrides.md | 0 .../extending-pi/19-packaging-distribution.md | 0 .../extending-pi/20-mode-behavior.md | 0 .../extending-pi/21-error-handling.md | 0 .../extending-pi/22-key-rules-gotchas.md | 0 .../23-file-reference-documentation.md | 0 .../24-file-reference-example-extensions.md | 0 .../25-slash-command-subcommand-patterns.md | 0 .../extending-pi/README.md | 0 {docs => docs-internal}/getting-started.md | 0 {docs => docs-internal}/git-strategy.md | 0 {docs => docs-internal}/migration.md | 0 {docs => docs-internal}/node-lts-macos.md | 0 .../parallel-orchestration.md | 0 .../pi-ui-tui/01-the-ui-architecture.md | 0 ...nent-interface-foundation-of-everything.md | 0 .../03-entry-points-how-ui-gets-on-screen.md | 0 .../pi-ui-tui/04-built-in-dialog-methods.md | 0 .../pi-ui-tui/05-persistent-ui-elements.md | 0 ...06-ctx-ui-custom-full-custom-components.md | 0 ...built-in-components-the-building-blocks.md | 0 ...h-level-components-from-pi-coding-agent.md | 0 .../09-keyboard-input-how-to-handle-keys.md | 0 .../10-line-width-the-cardinal-rule.md | 0 .../pi-ui-tui/11-theming-colors-and-styles.md | 0 .../12-overlays-floating-modals-and-panels.md | 0 .../13-custom-editors-replacing-the-input.md | 0 .../14-tool-rendering-custom-tool-display.md | 0 ...essage-rendering-custom-message-display.md | 0 ...16-performance-caching-and-invalidation.md | 0 .../17-theme-changes-and-invalidation.md | 0 .../18-ime-support-the-focusable-interface.md | 0 ...lding-a-complete-component-step-by-step.md | 0 .../20-real-world-patterns-from-examples.md | 0 ...1-common-mistakes-and-how-to-avoid-them.md | 0 .../22-quick-reference-all-ui-apis.md | 0 ...le-reference-example-extensions-with-ui.md | 0 {docs => docs-internal}/pi-ui-tui/README.md | 0 {docs => docs-internal}/pr-1530/01-full.png | Bin {docs => docs-internal}/pr-1530/02-small.png | Bin {docs => docs-internal}/pr-1530/03-min.png | Bin .../pr-1530/04-unhealthy.png | Bin {docs => docs-internal}/pr-876/01-index.png | Bin {docs => docs-internal}/pr-876/02-summary.png | Bin .../pr-876/03-progress.png | Bin .../pr-876/04-depgraph.png | Bin {docs => docs-internal}/pr-876/05-metrics.png | Bin .../pr-876/06-changelog.png | Bin .../pr-876/06-timeline.png | Bin .../pr-876/07-changelog.png | Bin .../pr-876/07-knowledge.png | Bin .../pr-876/08-knowledge.png | Bin .../pr-876/09-captures.png | Bin .../pr-876/10-artifacts.png | Bin .../698-browser-tools-feature-additions.md | 0 .../rfc-gitops-branching-strategy.md | 0 .../proposals/workflows/README.md | 0 .../proposals/workflows/backmerge.yml | 0 .../proposals/workflows/create-release.yml | 0 .../proposals/workflows/sync-next.yml | 0 {docs => docs-internal}/remote-questions.md | 0 {docs => docs-internal}/skills.md | 0 .../plans/2026-03-17-cicd-pipeline.md | 0 .../specs/2026-03-17-cicd-pipeline-design.md | 0 {docs => docs-internal}/token-optimization.md | 0 {docs => docs-internal}/troubleshooting.md | 0 {docs => docs-internal}/visualizer.md | 0 {docs => docs-internal}/web-interface.md | 0 .../what-is-pi/01-what-pi-is.md | 0 .../what-is-pi/02-design-philosophy.md | 0 .../03-the-four-modes-of-operation.md | 0 ...chitecture-how-everything-fits-together.md | 0 .../05-the-agent-loop-how-pi-thinks.md | 0 .../06-tools-how-pi-acts-on-the-world.md | 0 .../07-sessions-memory-that-branches.md | 0 ...ompaction-how-pi-manages-context-limits.md | 0 .../what-is-pi/09-the-customization-stack.md | 0 ...providers-models-multi-model-by-default.md | 0 .../what-is-pi/11-the-interactive-tui.md | 0 ...e-message-queue-talking-while-pi-thinks.md | 0 .../13-context-files-project-instructions.md | 0 .../what-is-pi/14-the-sdk-rpc-embedding-pi.md | 0 .../15-pi-packages-the-ecosystem.md | 0 ...-why-pi-matters-what-makes-it-different.md | 0 .../17-file-reference-all-documentation.md | 0 .../18-quick-reference-commands-shortcuts.md | 0 .../19-building-branded-apps-on-top-of-pi.md | 0 {docs => docs-internal}/what-is-pi/README.md | 0 {docs => docs-internal}/working-in-teams.md | 0 mintlify-docs/docs.json | 101 ++++++ mintlify-docs/getting-started.mdx | 183 +++++++++++ mintlify-docs/guides/auto-mode.mdx | 181 +++++++++++ mintlify-docs/guides/captures-triage.mdx | 75 +++++ mintlify-docs/guides/commands.mdx | 180 +++++++++++ mintlify-docs/guides/configuration.mdx | 306 ++++++++++++++++++ mintlify-docs/guides/cost-management.mdx | 80 +++++ mintlify-docs/guides/custom-models.mdx | 126 ++++++++ .../guides/dynamic-model-routing.mdx | 94 ++++++ mintlify-docs/guides/git-strategy.mdx | 150 +++++++++ mintlify-docs/guides/migration.mdx | 47 +++ .../guides/parallel-orchestration.mdx | 123 +++++++ mintlify-docs/guides/remote-questions.mdx | 84 +++++ mintlify-docs/guides/skills.mdx | 97 ++++++ mintlify-docs/guides/token-optimization.mdx | 175 ++++++++++ mintlify-docs/guides/troubleshooting.mdx | 140 ++++++++ mintlify-docs/guides/visualizer.mdx | 82 +++++ mintlify-docs/guides/web-interface.mdx | 38 +++ mintlify-docs/guides/working-in-teams.mdx | 72 +++++ mintlify-docs/images/favicon.svg | 68 ++++ mintlify-docs/images/logo.png | Bin 0 -> 16032 bytes mintlify-docs/images/logo.svg | 17 + mintlify-docs/introduction.mdx | 101 ++++++ 179 files changed, 2520 insertions(+) rename {docs => docs-internal}/ADR-001-branchless-worktree-architecture.md (100%) rename {docs => docs-internal}/ADR-003-pipeline-simplification.md (100%) rename {docs => docs-internal}/FILE-SYSTEM-MAP.md (100%) rename {docs => docs-internal}/PRD-branchless-worktree-architecture.md (100%) rename {docs => docs-internal}/README.md (100%) rename {docs => docs-internal}/agent-knowledge-index.md (100%) rename {docs => docs-internal}/architecture.md (100%) rename {docs => docs-internal}/auto-mode.md (100%) rename {docs => docs-internal}/building-coding-agents/01-work-decomposition.md (100%) rename {docs => docs-internal}/building-coding-agents/02-what-to-keep-discard-from-human-engineering.md (100%) rename {docs => docs-internal}/building-coding-agents/03-state-machine-context-management.md (100%) rename {docs => docs-internal}/building-coding-agents/04-optimal-storage-for-project-context.md (100%) rename {docs => docs-internal}/building-coding-agents/05-parallelization-strategy.md (100%) rename {docs => docs-internal}/building-coding-agents/06-maximizing-agent-autonomy-superpowers.md (100%) rename {docs => docs-internal}/building-coding-agents/07-system-prompt-llm-vs-deterministic-split.md (100%) rename {docs => docs-internal}/building-coding-agents/08-speed-optimization.md (100%) rename {docs => docs-internal}/building-coding-agents/09-top-10-tips-for-a-world-class-agent.md (100%) rename {docs => docs-internal}/building-coding-agents/10-top-10-pitfalls-to-avoid.md (100%) rename {docs => docs-internal}/building-coding-agents/11-god-tier-context-engineering.md (100%) rename {docs => docs-internal}/building-coding-agents/12-handling-ambiguity-contradiction.md (100%) rename {docs => docs-internal}/building-coding-agents/13-long-running-memory-fidelity.md (100%) rename {docs => docs-internal}/building-coding-agents/14-multi-agent-semantic-conflict-resolution.md (100%) rename {docs => docs-internal}/building-coding-agents/15-legacy-code-brownfield-onboarding.md (100%) rename {docs => docs-internal}/building-coding-agents/16-encoding-taste-aesthetics.md (100%) rename {docs => docs-internal}/building-coding-agents/17-irreversible-operations-safety-architecture.md (100%) rename {docs => docs-internal}/building-coding-agents/18-the-handoff-problem-agent-human-maintainability.md (100%) rename {docs => docs-internal}/building-coding-agents/19-when-to-scrap-and-start-over.md (100%) rename {docs => docs-internal}/building-coding-agents/20-error-taxonomy-routing.md (100%) rename {docs => docs-internal}/building-coding-agents/21-cost-quality-tradeoff-model-routing.md (100%) rename {docs => docs-internal}/building-coding-agents/22-cross-project-learning-reusable-intelligence.md (100%) rename {docs => docs-internal}/building-coding-agents/23-evolution-across-project-scale.md (100%) rename {docs => docs-internal}/building-coding-agents/24-security-trust-boundaries.md (100%) rename {docs => docs-internal}/building-coding-agents/25-designing-for-non-technical-users-vibe-coders.md (100%) rename {docs => docs-internal}/building-coding-agents/26-cross-cutting-themes-where-all-4-models-converge.md (100%) rename {docs => docs-internal}/building-coding-agents/README.md (100%) rename {docs => docs-internal}/captures-triage.md (100%) rename {docs => docs-internal}/ci-cd-pipeline.md (100%) rename {docs => docs-internal}/commands.md (100%) rename {docs => docs-internal}/configuration.md (100%) rename {docs => docs-internal}/context-and-hooks/01-the-context-pipeline.md (100%) rename {docs => docs-internal}/context-and-hooks/02-hook-reference.md (100%) rename {docs => docs-internal}/context-and-hooks/03-context-injection-patterns.md (100%) rename {docs => docs-internal}/context-and-hooks/04-message-types-and-llm-visibility.md (100%) rename {docs => docs-internal}/context-and-hooks/05-inter-extension-communication.md (100%) rename {docs => docs-internal}/context-and-hooks/06-advanced-patterns-from-source.md (100%) rename {docs => docs-internal}/context-and-hooks/07-the-system-prompt-anatomy.md (100%) rename {docs => docs-internal}/context-and-hooks/README.md (100%) rename {docs => docs-internal}/cost-management.md (100%) rename {docs => docs-internal}/custom-models.md (100%) rename {docs => docs-internal}/dynamic-model-routing.md (100%) rename {docs => docs-internal}/extending-pi/01-what-are-extensions.md (100%) rename {docs => docs-internal}/extending-pi/02-architecture-mental-model.md (100%) rename {docs => docs-internal}/extending-pi/03-getting-started.md (100%) rename {docs => docs-internal}/extending-pi/04-extension-locations-discovery.md (100%) rename {docs => docs-internal}/extending-pi/05-extension-structure-styles.md (100%) rename {docs => docs-internal}/extending-pi/06-the-extension-lifecycle.md (100%) rename {docs => docs-internal}/extending-pi/07-events-the-nervous-system.md (100%) rename {docs => docs-internal}/extending-pi/08-extensioncontext-what-you-can-access.md (100%) rename {docs => docs-internal}/extending-pi/09-extensionapi-what-you-can-do.md (100%) rename {docs => docs-internal}/extending-pi/10-custom-tools-giving-the-llm-new-abilities.md (100%) rename {docs => docs-internal}/extending-pi/11-custom-commands-user-facing-actions.md (100%) rename {docs => docs-internal}/extending-pi/12-custom-ui-visual-components.md (100%) rename {docs => docs-internal}/extending-pi/13-state-management-persistence.md (100%) rename {docs => docs-internal}/extending-pi/14-custom-rendering-controlling-what-the-user-sees.md (100%) rename {docs => docs-internal}/extending-pi/15-system-prompt-modification.md (100%) rename {docs => docs-internal}/extending-pi/16-compaction-session-control.md (100%) rename {docs => docs-internal}/extending-pi/17-model-provider-management.md (100%) rename {docs => docs-internal}/extending-pi/18-remote-execution-tool-overrides.md (100%) rename {docs => docs-internal}/extending-pi/19-packaging-distribution.md (100%) rename {docs => docs-internal}/extending-pi/20-mode-behavior.md (100%) rename {docs => docs-internal}/extending-pi/21-error-handling.md (100%) rename {docs => docs-internal}/extending-pi/22-key-rules-gotchas.md (100%) rename {docs => docs-internal}/extending-pi/23-file-reference-documentation.md (100%) rename {docs => docs-internal}/extending-pi/24-file-reference-example-extensions.md (100%) rename {docs => docs-internal}/extending-pi/25-slash-command-subcommand-patterns.md (100%) rename {docs => docs-internal}/extending-pi/README.md (100%) rename {docs => docs-internal}/getting-started.md (100%) rename {docs => docs-internal}/git-strategy.md (100%) rename {docs => docs-internal}/migration.md (100%) rename {docs => docs-internal}/node-lts-macos.md (100%) rename {docs => docs-internal}/parallel-orchestration.md (100%) rename {docs => docs-internal}/pi-ui-tui/01-the-ui-architecture.md (100%) rename {docs => docs-internal}/pi-ui-tui/02-the-component-interface-foundation-of-everything.md (100%) rename {docs => docs-internal}/pi-ui-tui/03-entry-points-how-ui-gets-on-screen.md (100%) rename {docs => docs-internal}/pi-ui-tui/04-built-in-dialog-methods.md (100%) rename {docs => docs-internal}/pi-ui-tui/05-persistent-ui-elements.md (100%) rename {docs => docs-internal}/pi-ui-tui/06-ctx-ui-custom-full-custom-components.md (100%) rename {docs => docs-internal}/pi-ui-tui/07-built-in-components-the-building-blocks.md (100%) rename {docs => docs-internal}/pi-ui-tui/08-high-level-components-from-pi-coding-agent.md (100%) rename {docs => docs-internal}/pi-ui-tui/09-keyboard-input-how-to-handle-keys.md (100%) rename {docs => docs-internal}/pi-ui-tui/10-line-width-the-cardinal-rule.md (100%) rename {docs => docs-internal}/pi-ui-tui/11-theming-colors-and-styles.md (100%) rename {docs => docs-internal}/pi-ui-tui/12-overlays-floating-modals-and-panels.md (100%) rename {docs => docs-internal}/pi-ui-tui/13-custom-editors-replacing-the-input.md (100%) rename {docs => docs-internal}/pi-ui-tui/14-tool-rendering-custom-tool-display.md (100%) rename {docs => docs-internal}/pi-ui-tui/15-message-rendering-custom-message-display.md (100%) rename {docs => docs-internal}/pi-ui-tui/16-performance-caching-and-invalidation.md (100%) rename {docs => docs-internal}/pi-ui-tui/17-theme-changes-and-invalidation.md (100%) rename {docs => docs-internal}/pi-ui-tui/18-ime-support-the-focusable-interface.md (100%) rename {docs => docs-internal}/pi-ui-tui/19-building-a-complete-component-step-by-step.md (100%) rename {docs => docs-internal}/pi-ui-tui/20-real-world-patterns-from-examples.md (100%) rename {docs => docs-internal}/pi-ui-tui/21-common-mistakes-and-how-to-avoid-them.md (100%) rename {docs => docs-internal}/pi-ui-tui/22-quick-reference-all-ui-apis.md (100%) rename {docs => docs-internal}/pi-ui-tui/23-file-reference-example-extensions-with-ui.md (100%) rename {docs => docs-internal}/pi-ui-tui/README.md (100%) rename {docs => docs-internal}/pr-1530/01-full.png (100%) rename {docs => docs-internal}/pr-1530/02-small.png (100%) rename {docs => docs-internal}/pr-1530/03-min.png (100%) rename {docs => docs-internal}/pr-1530/04-unhealthy.png (100%) rename {docs => docs-internal}/pr-876/01-index.png (100%) rename {docs => docs-internal}/pr-876/02-summary.png (100%) rename {docs => docs-internal}/pr-876/03-progress.png (100%) rename {docs => docs-internal}/pr-876/04-depgraph.png (100%) rename {docs => docs-internal}/pr-876/05-metrics.png (100%) rename {docs => docs-internal}/pr-876/06-changelog.png (100%) rename {docs => docs-internal}/pr-876/06-timeline.png (100%) rename {docs => docs-internal}/pr-876/07-changelog.png (100%) rename {docs => docs-internal}/pr-876/07-knowledge.png (100%) rename {docs => docs-internal}/pr-876/08-knowledge.png (100%) rename {docs => docs-internal}/pr-876/09-captures.png (100%) rename {docs => docs-internal}/pr-876/10-artifacts.png (100%) rename {docs => docs-internal}/proposals/698-browser-tools-feature-additions.md (100%) rename {docs => docs-internal}/proposals/rfc-gitops-branching-strategy.md (100%) rename {docs => docs-internal}/proposals/workflows/README.md (100%) rename {docs => docs-internal}/proposals/workflows/backmerge.yml (100%) rename {docs => docs-internal}/proposals/workflows/create-release.yml (100%) rename {docs => docs-internal}/proposals/workflows/sync-next.yml (100%) rename {docs => docs-internal}/remote-questions.md (100%) rename {docs => docs-internal}/skills.md (100%) rename {docs => docs-internal}/superpowers/plans/2026-03-17-cicd-pipeline.md (100%) rename {docs => docs-internal}/superpowers/specs/2026-03-17-cicd-pipeline-design.md (100%) rename {docs => docs-internal}/token-optimization.md (100%) rename {docs => docs-internal}/troubleshooting.md (100%) rename {docs => docs-internal}/visualizer.md (100%) rename {docs => docs-internal}/web-interface.md (100%) rename {docs => docs-internal}/what-is-pi/01-what-pi-is.md (100%) rename {docs => docs-internal}/what-is-pi/02-design-philosophy.md (100%) rename {docs => docs-internal}/what-is-pi/03-the-four-modes-of-operation.md (100%) rename {docs => docs-internal}/what-is-pi/04-the-architecture-how-everything-fits-together.md (100%) rename {docs => docs-internal}/what-is-pi/05-the-agent-loop-how-pi-thinks.md (100%) rename {docs => docs-internal}/what-is-pi/06-tools-how-pi-acts-on-the-world.md (100%) rename {docs => docs-internal}/what-is-pi/07-sessions-memory-that-branches.md (100%) rename {docs => docs-internal}/what-is-pi/08-compaction-how-pi-manages-context-limits.md (100%) rename {docs => docs-internal}/what-is-pi/09-the-customization-stack.md (100%) rename {docs => docs-internal}/what-is-pi/10-providers-models-multi-model-by-default.md (100%) rename {docs => docs-internal}/what-is-pi/11-the-interactive-tui.md (100%) rename {docs => docs-internal}/what-is-pi/12-the-message-queue-talking-while-pi-thinks.md (100%) rename {docs => docs-internal}/what-is-pi/13-context-files-project-instructions.md (100%) rename {docs => docs-internal}/what-is-pi/14-the-sdk-rpc-embedding-pi.md (100%) rename {docs => docs-internal}/what-is-pi/15-pi-packages-the-ecosystem.md (100%) rename {docs => docs-internal}/what-is-pi/16-why-pi-matters-what-makes-it-different.md (100%) rename {docs => docs-internal}/what-is-pi/17-file-reference-all-documentation.md (100%) rename {docs => docs-internal}/what-is-pi/18-quick-reference-commands-shortcuts.md (100%) rename {docs => docs-internal}/what-is-pi/19-building-branded-apps-on-top-of-pi.md (100%) rename {docs => docs-internal}/what-is-pi/README.md (100%) rename {docs => docs-internal}/working-in-teams.md (100%) create mode 100644 mintlify-docs/docs.json create mode 100644 mintlify-docs/getting-started.mdx create mode 100644 mintlify-docs/guides/auto-mode.mdx create mode 100644 mintlify-docs/guides/captures-triage.mdx create mode 100644 mintlify-docs/guides/commands.mdx create mode 100644 mintlify-docs/guides/configuration.mdx create mode 100644 mintlify-docs/guides/cost-management.mdx create mode 100644 mintlify-docs/guides/custom-models.mdx create mode 100644 mintlify-docs/guides/dynamic-model-routing.mdx create mode 100644 mintlify-docs/guides/git-strategy.mdx create mode 100644 mintlify-docs/guides/migration.mdx create mode 100644 mintlify-docs/guides/parallel-orchestration.mdx create mode 100644 mintlify-docs/guides/remote-questions.mdx create mode 100644 mintlify-docs/guides/skills.mdx create mode 100644 mintlify-docs/guides/token-optimization.mdx create mode 100644 mintlify-docs/guides/troubleshooting.mdx create mode 100644 mintlify-docs/guides/visualizer.mdx create mode 100644 mintlify-docs/guides/web-interface.mdx create mode 100644 mintlify-docs/guides/working-in-teams.mdx create mode 100644 mintlify-docs/images/favicon.svg create mode 100644 mintlify-docs/images/logo.png create mode 100644 mintlify-docs/images/logo.svg create mode 100644 mintlify-docs/introduction.mdx diff --git a/docs/ADR-001-branchless-worktree-architecture.md b/docs-internal/ADR-001-branchless-worktree-architecture.md similarity index 100% rename from docs/ADR-001-branchless-worktree-architecture.md rename to docs-internal/ADR-001-branchless-worktree-architecture.md diff --git a/docs/ADR-003-pipeline-simplification.md b/docs-internal/ADR-003-pipeline-simplification.md similarity index 100% rename from docs/ADR-003-pipeline-simplification.md rename to docs-internal/ADR-003-pipeline-simplification.md diff --git a/docs/FILE-SYSTEM-MAP.md b/docs-internal/FILE-SYSTEM-MAP.md similarity index 100% rename from docs/FILE-SYSTEM-MAP.md rename to docs-internal/FILE-SYSTEM-MAP.md diff --git a/docs/PRD-branchless-worktree-architecture.md b/docs-internal/PRD-branchless-worktree-architecture.md similarity index 100% rename from docs/PRD-branchless-worktree-architecture.md rename to docs-internal/PRD-branchless-worktree-architecture.md diff --git a/docs/README.md b/docs-internal/README.md similarity index 100% rename from docs/README.md rename to docs-internal/README.md diff --git a/docs/agent-knowledge-index.md b/docs-internal/agent-knowledge-index.md similarity index 100% rename from docs/agent-knowledge-index.md rename to docs-internal/agent-knowledge-index.md diff --git a/docs/architecture.md b/docs-internal/architecture.md similarity index 100% rename from docs/architecture.md rename to docs-internal/architecture.md diff --git a/docs/auto-mode.md b/docs-internal/auto-mode.md similarity index 100% rename from docs/auto-mode.md rename to docs-internal/auto-mode.md diff --git a/docs/building-coding-agents/01-work-decomposition.md b/docs-internal/building-coding-agents/01-work-decomposition.md similarity index 100% rename from docs/building-coding-agents/01-work-decomposition.md rename to docs-internal/building-coding-agents/01-work-decomposition.md diff --git a/docs/building-coding-agents/02-what-to-keep-discard-from-human-engineering.md b/docs-internal/building-coding-agents/02-what-to-keep-discard-from-human-engineering.md similarity index 100% rename from docs/building-coding-agents/02-what-to-keep-discard-from-human-engineering.md rename to docs-internal/building-coding-agents/02-what-to-keep-discard-from-human-engineering.md diff --git a/docs/building-coding-agents/03-state-machine-context-management.md b/docs-internal/building-coding-agents/03-state-machine-context-management.md similarity index 100% rename from docs/building-coding-agents/03-state-machine-context-management.md rename to docs-internal/building-coding-agents/03-state-machine-context-management.md diff --git a/docs/building-coding-agents/04-optimal-storage-for-project-context.md b/docs-internal/building-coding-agents/04-optimal-storage-for-project-context.md similarity index 100% rename from docs/building-coding-agents/04-optimal-storage-for-project-context.md rename to docs-internal/building-coding-agents/04-optimal-storage-for-project-context.md diff --git a/docs/building-coding-agents/05-parallelization-strategy.md b/docs-internal/building-coding-agents/05-parallelization-strategy.md similarity index 100% rename from docs/building-coding-agents/05-parallelization-strategy.md rename to docs-internal/building-coding-agents/05-parallelization-strategy.md diff --git a/docs/building-coding-agents/06-maximizing-agent-autonomy-superpowers.md b/docs-internal/building-coding-agents/06-maximizing-agent-autonomy-superpowers.md similarity index 100% rename from docs/building-coding-agents/06-maximizing-agent-autonomy-superpowers.md rename to docs-internal/building-coding-agents/06-maximizing-agent-autonomy-superpowers.md diff --git a/docs/building-coding-agents/07-system-prompt-llm-vs-deterministic-split.md b/docs-internal/building-coding-agents/07-system-prompt-llm-vs-deterministic-split.md similarity index 100% rename from docs/building-coding-agents/07-system-prompt-llm-vs-deterministic-split.md rename to docs-internal/building-coding-agents/07-system-prompt-llm-vs-deterministic-split.md diff --git a/docs/building-coding-agents/08-speed-optimization.md b/docs-internal/building-coding-agents/08-speed-optimization.md similarity index 100% rename from docs/building-coding-agents/08-speed-optimization.md rename to docs-internal/building-coding-agents/08-speed-optimization.md diff --git a/docs/building-coding-agents/09-top-10-tips-for-a-world-class-agent.md b/docs-internal/building-coding-agents/09-top-10-tips-for-a-world-class-agent.md similarity index 100% rename from docs/building-coding-agents/09-top-10-tips-for-a-world-class-agent.md rename to docs-internal/building-coding-agents/09-top-10-tips-for-a-world-class-agent.md diff --git a/docs/building-coding-agents/10-top-10-pitfalls-to-avoid.md b/docs-internal/building-coding-agents/10-top-10-pitfalls-to-avoid.md similarity index 100% rename from docs/building-coding-agents/10-top-10-pitfalls-to-avoid.md rename to docs-internal/building-coding-agents/10-top-10-pitfalls-to-avoid.md diff --git a/docs/building-coding-agents/11-god-tier-context-engineering.md b/docs-internal/building-coding-agents/11-god-tier-context-engineering.md similarity index 100% rename from docs/building-coding-agents/11-god-tier-context-engineering.md rename to docs-internal/building-coding-agents/11-god-tier-context-engineering.md diff --git a/docs/building-coding-agents/12-handling-ambiguity-contradiction.md b/docs-internal/building-coding-agents/12-handling-ambiguity-contradiction.md similarity index 100% rename from docs/building-coding-agents/12-handling-ambiguity-contradiction.md rename to docs-internal/building-coding-agents/12-handling-ambiguity-contradiction.md diff --git a/docs/building-coding-agents/13-long-running-memory-fidelity.md b/docs-internal/building-coding-agents/13-long-running-memory-fidelity.md similarity index 100% rename from docs/building-coding-agents/13-long-running-memory-fidelity.md rename to docs-internal/building-coding-agents/13-long-running-memory-fidelity.md diff --git a/docs/building-coding-agents/14-multi-agent-semantic-conflict-resolution.md b/docs-internal/building-coding-agents/14-multi-agent-semantic-conflict-resolution.md similarity index 100% rename from docs/building-coding-agents/14-multi-agent-semantic-conflict-resolution.md rename to docs-internal/building-coding-agents/14-multi-agent-semantic-conflict-resolution.md diff --git a/docs/building-coding-agents/15-legacy-code-brownfield-onboarding.md b/docs-internal/building-coding-agents/15-legacy-code-brownfield-onboarding.md similarity index 100% rename from docs/building-coding-agents/15-legacy-code-brownfield-onboarding.md rename to docs-internal/building-coding-agents/15-legacy-code-brownfield-onboarding.md diff --git a/docs/building-coding-agents/16-encoding-taste-aesthetics.md b/docs-internal/building-coding-agents/16-encoding-taste-aesthetics.md similarity index 100% rename from docs/building-coding-agents/16-encoding-taste-aesthetics.md rename to docs-internal/building-coding-agents/16-encoding-taste-aesthetics.md diff --git a/docs/building-coding-agents/17-irreversible-operations-safety-architecture.md b/docs-internal/building-coding-agents/17-irreversible-operations-safety-architecture.md similarity index 100% rename from docs/building-coding-agents/17-irreversible-operations-safety-architecture.md rename to docs-internal/building-coding-agents/17-irreversible-operations-safety-architecture.md diff --git a/docs/building-coding-agents/18-the-handoff-problem-agent-human-maintainability.md b/docs-internal/building-coding-agents/18-the-handoff-problem-agent-human-maintainability.md similarity index 100% rename from docs/building-coding-agents/18-the-handoff-problem-agent-human-maintainability.md rename to docs-internal/building-coding-agents/18-the-handoff-problem-agent-human-maintainability.md diff --git a/docs/building-coding-agents/19-when-to-scrap-and-start-over.md b/docs-internal/building-coding-agents/19-when-to-scrap-and-start-over.md similarity index 100% rename from docs/building-coding-agents/19-when-to-scrap-and-start-over.md rename to docs-internal/building-coding-agents/19-when-to-scrap-and-start-over.md diff --git a/docs/building-coding-agents/20-error-taxonomy-routing.md b/docs-internal/building-coding-agents/20-error-taxonomy-routing.md similarity index 100% rename from docs/building-coding-agents/20-error-taxonomy-routing.md rename to docs-internal/building-coding-agents/20-error-taxonomy-routing.md diff --git a/docs/building-coding-agents/21-cost-quality-tradeoff-model-routing.md b/docs-internal/building-coding-agents/21-cost-quality-tradeoff-model-routing.md similarity index 100% rename from docs/building-coding-agents/21-cost-quality-tradeoff-model-routing.md rename to docs-internal/building-coding-agents/21-cost-quality-tradeoff-model-routing.md diff --git a/docs/building-coding-agents/22-cross-project-learning-reusable-intelligence.md b/docs-internal/building-coding-agents/22-cross-project-learning-reusable-intelligence.md similarity index 100% rename from docs/building-coding-agents/22-cross-project-learning-reusable-intelligence.md rename to docs-internal/building-coding-agents/22-cross-project-learning-reusable-intelligence.md diff --git a/docs/building-coding-agents/23-evolution-across-project-scale.md b/docs-internal/building-coding-agents/23-evolution-across-project-scale.md similarity index 100% rename from docs/building-coding-agents/23-evolution-across-project-scale.md rename to docs-internal/building-coding-agents/23-evolution-across-project-scale.md diff --git a/docs/building-coding-agents/24-security-trust-boundaries.md b/docs-internal/building-coding-agents/24-security-trust-boundaries.md similarity index 100% rename from docs/building-coding-agents/24-security-trust-boundaries.md rename to docs-internal/building-coding-agents/24-security-trust-boundaries.md diff --git a/docs/building-coding-agents/25-designing-for-non-technical-users-vibe-coders.md b/docs-internal/building-coding-agents/25-designing-for-non-technical-users-vibe-coders.md similarity index 100% rename from docs/building-coding-agents/25-designing-for-non-technical-users-vibe-coders.md rename to docs-internal/building-coding-agents/25-designing-for-non-technical-users-vibe-coders.md diff --git a/docs/building-coding-agents/26-cross-cutting-themes-where-all-4-models-converge.md b/docs-internal/building-coding-agents/26-cross-cutting-themes-where-all-4-models-converge.md similarity index 100% rename from docs/building-coding-agents/26-cross-cutting-themes-where-all-4-models-converge.md rename to docs-internal/building-coding-agents/26-cross-cutting-themes-where-all-4-models-converge.md diff --git a/docs/building-coding-agents/README.md b/docs-internal/building-coding-agents/README.md similarity index 100% rename from docs/building-coding-agents/README.md rename to docs-internal/building-coding-agents/README.md diff --git a/docs/captures-triage.md b/docs-internal/captures-triage.md similarity index 100% rename from docs/captures-triage.md rename to docs-internal/captures-triage.md diff --git a/docs/ci-cd-pipeline.md b/docs-internal/ci-cd-pipeline.md similarity index 100% rename from docs/ci-cd-pipeline.md rename to docs-internal/ci-cd-pipeline.md diff --git a/docs/commands.md b/docs-internal/commands.md similarity index 100% rename from docs/commands.md rename to docs-internal/commands.md diff --git a/docs/configuration.md b/docs-internal/configuration.md similarity index 100% rename from docs/configuration.md rename to docs-internal/configuration.md diff --git a/docs/context-and-hooks/01-the-context-pipeline.md b/docs-internal/context-and-hooks/01-the-context-pipeline.md similarity index 100% rename from docs/context-and-hooks/01-the-context-pipeline.md rename to docs-internal/context-and-hooks/01-the-context-pipeline.md diff --git a/docs/context-and-hooks/02-hook-reference.md b/docs-internal/context-and-hooks/02-hook-reference.md similarity index 100% rename from docs/context-and-hooks/02-hook-reference.md rename to docs-internal/context-and-hooks/02-hook-reference.md diff --git a/docs/context-and-hooks/03-context-injection-patterns.md b/docs-internal/context-and-hooks/03-context-injection-patterns.md similarity index 100% rename from docs/context-and-hooks/03-context-injection-patterns.md rename to docs-internal/context-and-hooks/03-context-injection-patterns.md diff --git a/docs/context-and-hooks/04-message-types-and-llm-visibility.md b/docs-internal/context-and-hooks/04-message-types-and-llm-visibility.md similarity index 100% rename from docs/context-and-hooks/04-message-types-and-llm-visibility.md rename to docs-internal/context-and-hooks/04-message-types-and-llm-visibility.md diff --git a/docs/context-and-hooks/05-inter-extension-communication.md b/docs-internal/context-and-hooks/05-inter-extension-communication.md similarity index 100% rename from docs/context-and-hooks/05-inter-extension-communication.md rename to docs-internal/context-and-hooks/05-inter-extension-communication.md diff --git a/docs/context-and-hooks/06-advanced-patterns-from-source.md b/docs-internal/context-and-hooks/06-advanced-patterns-from-source.md similarity index 100% rename from docs/context-and-hooks/06-advanced-patterns-from-source.md rename to docs-internal/context-and-hooks/06-advanced-patterns-from-source.md diff --git a/docs/context-and-hooks/07-the-system-prompt-anatomy.md b/docs-internal/context-and-hooks/07-the-system-prompt-anatomy.md similarity index 100% rename from docs/context-and-hooks/07-the-system-prompt-anatomy.md rename to docs-internal/context-and-hooks/07-the-system-prompt-anatomy.md diff --git a/docs/context-and-hooks/README.md b/docs-internal/context-and-hooks/README.md similarity index 100% rename from docs/context-and-hooks/README.md rename to docs-internal/context-and-hooks/README.md diff --git a/docs/cost-management.md b/docs-internal/cost-management.md similarity index 100% rename from docs/cost-management.md rename to docs-internal/cost-management.md diff --git a/docs/custom-models.md b/docs-internal/custom-models.md similarity index 100% rename from docs/custom-models.md rename to docs-internal/custom-models.md diff --git a/docs/dynamic-model-routing.md b/docs-internal/dynamic-model-routing.md similarity index 100% rename from docs/dynamic-model-routing.md rename to docs-internal/dynamic-model-routing.md diff --git a/docs/extending-pi/01-what-are-extensions.md b/docs-internal/extending-pi/01-what-are-extensions.md similarity index 100% rename from docs/extending-pi/01-what-are-extensions.md rename to docs-internal/extending-pi/01-what-are-extensions.md diff --git a/docs/extending-pi/02-architecture-mental-model.md b/docs-internal/extending-pi/02-architecture-mental-model.md similarity index 100% rename from docs/extending-pi/02-architecture-mental-model.md rename to docs-internal/extending-pi/02-architecture-mental-model.md diff --git a/docs/extending-pi/03-getting-started.md b/docs-internal/extending-pi/03-getting-started.md similarity index 100% rename from docs/extending-pi/03-getting-started.md rename to docs-internal/extending-pi/03-getting-started.md diff --git a/docs/extending-pi/04-extension-locations-discovery.md b/docs-internal/extending-pi/04-extension-locations-discovery.md similarity index 100% rename from docs/extending-pi/04-extension-locations-discovery.md rename to docs-internal/extending-pi/04-extension-locations-discovery.md diff --git a/docs/extending-pi/05-extension-structure-styles.md b/docs-internal/extending-pi/05-extension-structure-styles.md similarity index 100% rename from docs/extending-pi/05-extension-structure-styles.md rename to docs-internal/extending-pi/05-extension-structure-styles.md diff --git a/docs/extending-pi/06-the-extension-lifecycle.md b/docs-internal/extending-pi/06-the-extension-lifecycle.md similarity index 100% rename from docs/extending-pi/06-the-extension-lifecycle.md rename to docs-internal/extending-pi/06-the-extension-lifecycle.md diff --git a/docs/extending-pi/07-events-the-nervous-system.md b/docs-internal/extending-pi/07-events-the-nervous-system.md similarity index 100% rename from docs/extending-pi/07-events-the-nervous-system.md rename to docs-internal/extending-pi/07-events-the-nervous-system.md diff --git a/docs/extending-pi/08-extensioncontext-what-you-can-access.md b/docs-internal/extending-pi/08-extensioncontext-what-you-can-access.md similarity index 100% rename from docs/extending-pi/08-extensioncontext-what-you-can-access.md rename to docs-internal/extending-pi/08-extensioncontext-what-you-can-access.md diff --git a/docs/extending-pi/09-extensionapi-what-you-can-do.md b/docs-internal/extending-pi/09-extensionapi-what-you-can-do.md similarity index 100% rename from docs/extending-pi/09-extensionapi-what-you-can-do.md rename to docs-internal/extending-pi/09-extensionapi-what-you-can-do.md diff --git a/docs/extending-pi/10-custom-tools-giving-the-llm-new-abilities.md b/docs-internal/extending-pi/10-custom-tools-giving-the-llm-new-abilities.md similarity index 100% rename from docs/extending-pi/10-custom-tools-giving-the-llm-new-abilities.md rename to docs-internal/extending-pi/10-custom-tools-giving-the-llm-new-abilities.md diff --git a/docs/extending-pi/11-custom-commands-user-facing-actions.md b/docs-internal/extending-pi/11-custom-commands-user-facing-actions.md similarity index 100% rename from docs/extending-pi/11-custom-commands-user-facing-actions.md rename to docs-internal/extending-pi/11-custom-commands-user-facing-actions.md diff --git a/docs/extending-pi/12-custom-ui-visual-components.md b/docs-internal/extending-pi/12-custom-ui-visual-components.md similarity index 100% rename from docs/extending-pi/12-custom-ui-visual-components.md rename to docs-internal/extending-pi/12-custom-ui-visual-components.md diff --git a/docs/extending-pi/13-state-management-persistence.md b/docs-internal/extending-pi/13-state-management-persistence.md similarity index 100% rename from docs/extending-pi/13-state-management-persistence.md rename to docs-internal/extending-pi/13-state-management-persistence.md diff --git a/docs/extending-pi/14-custom-rendering-controlling-what-the-user-sees.md b/docs-internal/extending-pi/14-custom-rendering-controlling-what-the-user-sees.md similarity index 100% rename from docs/extending-pi/14-custom-rendering-controlling-what-the-user-sees.md rename to docs-internal/extending-pi/14-custom-rendering-controlling-what-the-user-sees.md diff --git a/docs/extending-pi/15-system-prompt-modification.md b/docs-internal/extending-pi/15-system-prompt-modification.md similarity index 100% rename from docs/extending-pi/15-system-prompt-modification.md rename to docs-internal/extending-pi/15-system-prompt-modification.md diff --git a/docs/extending-pi/16-compaction-session-control.md b/docs-internal/extending-pi/16-compaction-session-control.md similarity index 100% rename from docs/extending-pi/16-compaction-session-control.md rename to docs-internal/extending-pi/16-compaction-session-control.md diff --git a/docs/extending-pi/17-model-provider-management.md b/docs-internal/extending-pi/17-model-provider-management.md similarity index 100% rename from docs/extending-pi/17-model-provider-management.md rename to docs-internal/extending-pi/17-model-provider-management.md diff --git a/docs/extending-pi/18-remote-execution-tool-overrides.md b/docs-internal/extending-pi/18-remote-execution-tool-overrides.md similarity index 100% rename from docs/extending-pi/18-remote-execution-tool-overrides.md rename to docs-internal/extending-pi/18-remote-execution-tool-overrides.md diff --git a/docs/extending-pi/19-packaging-distribution.md b/docs-internal/extending-pi/19-packaging-distribution.md similarity index 100% rename from docs/extending-pi/19-packaging-distribution.md rename to docs-internal/extending-pi/19-packaging-distribution.md diff --git a/docs/extending-pi/20-mode-behavior.md b/docs-internal/extending-pi/20-mode-behavior.md similarity index 100% rename from docs/extending-pi/20-mode-behavior.md rename to docs-internal/extending-pi/20-mode-behavior.md diff --git a/docs/extending-pi/21-error-handling.md b/docs-internal/extending-pi/21-error-handling.md similarity index 100% rename from docs/extending-pi/21-error-handling.md rename to docs-internal/extending-pi/21-error-handling.md diff --git a/docs/extending-pi/22-key-rules-gotchas.md b/docs-internal/extending-pi/22-key-rules-gotchas.md similarity index 100% rename from docs/extending-pi/22-key-rules-gotchas.md rename to docs-internal/extending-pi/22-key-rules-gotchas.md diff --git a/docs/extending-pi/23-file-reference-documentation.md b/docs-internal/extending-pi/23-file-reference-documentation.md similarity index 100% rename from docs/extending-pi/23-file-reference-documentation.md rename to docs-internal/extending-pi/23-file-reference-documentation.md diff --git a/docs/extending-pi/24-file-reference-example-extensions.md b/docs-internal/extending-pi/24-file-reference-example-extensions.md similarity index 100% rename from docs/extending-pi/24-file-reference-example-extensions.md rename to docs-internal/extending-pi/24-file-reference-example-extensions.md diff --git a/docs/extending-pi/25-slash-command-subcommand-patterns.md b/docs-internal/extending-pi/25-slash-command-subcommand-patterns.md similarity index 100% rename from docs/extending-pi/25-slash-command-subcommand-patterns.md rename to docs-internal/extending-pi/25-slash-command-subcommand-patterns.md diff --git a/docs/extending-pi/README.md b/docs-internal/extending-pi/README.md similarity index 100% rename from docs/extending-pi/README.md rename to docs-internal/extending-pi/README.md diff --git a/docs/getting-started.md b/docs-internal/getting-started.md similarity index 100% rename from docs/getting-started.md rename to docs-internal/getting-started.md diff --git a/docs/git-strategy.md b/docs-internal/git-strategy.md similarity index 100% rename from docs/git-strategy.md rename to docs-internal/git-strategy.md diff --git a/docs/migration.md b/docs-internal/migration.md similarity index 100% rename from docs/migration.md rename to docs-internal/migration.md diff --git a/docs/node-lts-macos.md b/docs-internal/node-lts-macos.md similarity index 100% rename from docs/node-lts-macos.md rename to docs-internal/node-lts-macos.md diff --git a/docs/parallel-orchestration.md b/docs-internal/parallel-orchestration.md similarity index 100% rename from docs/parallel-orchestration.md rename to docs-internal/parallel-orchestration.md diff --git a/docs/pi-ui-tui/01-the-ui-architecture.md b/docs-internal/pi-ui-tui/01-the-ui-architecture.md similarity index 100% rename from docs/pi-ui-tui/01-the-ui-architecture.md rename to docs-internal/pi-ui-tui/01-the-ui-architecture.md diff --git a/docs/pi-ui-tui/02-the-component-interface-foundation-of-everything.md b/docs-internal/pi-ui-tui/02-the-component-interface-foundation-of-everything.md similarity index 100% rename from docs/pi-ui-tui/02-the-component-interface-foundation-of-everything.md rename to docs-internal/pi-ui-tui/02-the-component-interface-foundation-of-everything.md diff --git a/docs/pi-ui-tui/03-entry-points-how-ui-gets-on-screen.md b/docs-internal/pi-ui-tui/03-entry-points-how-ui-gets-on-screen.md similarity index 100% rename from docs/pi-ui-tui/03-entry-points-how-ui-gets-on-screen.md rename to docs-internal/pi-ui-tui/03-entry-points-how-ui-gets-on-screen.md diff --git a/docs/pi-ui-tui/04-built-in-dialog-methods.md b/docs-internal/pi-ui-tui/04-built-in-dialog-methods.md similarity index 100% rename from docs/pi-ui-tui/04-built-in-dialog-methods.md rename to docs-internal/pi-ui-tui/04-built-in-dialog-methods.md diff --git a/docs/pi-ui-tui/05-persistent-ui-elements.md b/docs-internal/pi-ui-tui/05-persistent-ui-elements.md similarity index 100% rename from docs/pi-ui-tui/05-persistent-ui-elements.md rename to docs-internal/pi-ui-tui/05-persistent-ui-elements.md diff --git a/docs/pi-ui-tui/06-ctx-ui-custom-full-custom-components.md b/docs-internal/pi-ui-tui/06-ctx-ui-custom-full-custom-components.md similarity index 100% rename from docs/pi-ui-tui/06-ctx-ui-custom-full-custom-components.md rename to docs-internal/pi-ui-tui/06-ctx-ui-custom-full-custom-components.md diff --git a/docs/pi-ui-tui/07-built-in-components-the-building-blocks.md b/docs-internal/pi-ui-tui/07-built-in-components-the-building-blocks.md similarity index 100% rename from docs/pi-ui-tui/07-built-in-components-the-building-blocks.md rename to docs-internal/pi-ui-tui/07-built-in-components-the-building-blocks.md diff --git a/docs/pi-ui-tui/08-high-level-components-from-pi-coding-agent.md b/docs-internal/pi-ui-tui/08-high-level-components-from-pi-coding-agent.md similarity index 100% rename from docs/pi-ui-tui/08-high-level-components-from-pi-coding-agent.md rename to docs-internal/pi-ui-tui/08-high-level-components-from-pi-coding-agent.md diff --git a/docs/pi-ui-tui/09-keyboard-input-how-to-handle-keys.md b/docs-internal/pi-ui-tui/09-keyboard-input-how-to-handle-keys.md similarity index 100% rename from docs/pi-ui-tui/09-keyboard-input-how-to-handle-keys.md rename to docs-internal/pi-ui-tui/09-keyboard-input-how-to-handle-keys.md diff --git a/docs/pi-ui-tui/10-line-width-the-cardinal-rule.md b/docs-internal/pi-ui-tui/10-line-width-the-cardinal-rule.md similarity index 100% rename from docs/pi-ui-tui/10-line-width-the-cardinal-rule.md rename to docs-internal/pi-ui-tui/10-line-width-the-cardinal-rule.md diff --git a/docs/pi-ui-tui/11-theming-colors-and-styles.md b/docs-internal/pi-ui-tui/11-theming-colors-and-styles.md similarity index 100% rename from docs/pi-ui-tui/11-theming-colors-and-styles.md rename to docs-internal/pi-ui-tui/11-theming-colors-and-styles.md diff --git a/docs/pi-ui-tui/12-overlays-floating-modals-and-panels.md b/docs-internal/pi-ui-tui/12-overlays-floating-modals-and-panels.md similarity index 100% rename from docs/pi-ui-tui/12-overlays-floating-modals-and-panels.md rename to docs-internal/pi-ui-tui/12-overlays-floating-modals-and-panels.md diff --git a/docs/pi-ui-tui/13-custom-editors-replacing-the-input.md b/docs-internal/pi-ui-tui/13-custom-editors-replacing-the-input.md similarity index 100% rename from docs/pi-ui-tui/13-custom-editors-replacing-the-input.md rename to docs-internal/pi-ui-tui/13-custom-editors-replacing-the-input.md diff --git a/docs/pi-ui-tui/14-tool-rendering-custom-tool-display.md b/docs-internal/pi-ui-tui/14-tool-rendering-custom-tool-display.md similarity index 100% rename from docs/pi-ui-tui/14-tool-rendering-custom-tool-display.md rename to docs-internal/pi-ui-tui/14-tool-rendering-custom-tool-display.md diff --git a/docs/pi-ui-tui/15-message-rendering-custom-message-display.md b/docs-internal/pi-ui-tui/15-message-rendering-custom-message-display.md similarity index 100% rename from docs/pi-ui-tui/15-message-rendering-custom-message-display.md rename to docs-internal/pi-ui-tui/15-message-rendering-custom-message-display.md diff --git a/docs/pi-ui-tui/16-performance-caching-and-invalidation.md b/docs-internal/pi-ui-tui/16-performance-caching-and-invalidation.md similarity index 100% rename from docs/pi-ui-tui/16-performance-caching-and-invalidation.md rename to docs-internal/pi-ui-tui/16-performance-caching-and-invalidation.md diff --git a/docs/pi-ui-tui/17-theme-changes-and-invalidation.md b/docs-internal/pi-ui-tui/17-theme-changes-and-invalidation.md similarity index 100% rename from docs/pi-ui-tui/17-theme-changes-and-invalidation.md rename to docs-internal/pi-ui-tui/17-theme-changes-and-invalidation.md diff --git a/docs/pi-ui-tui/18-ime-support-the-focusable-interface.md b/docs-internal/pi-ui-tui/18-ime-support-the-focusable-interface.md similarity index 100% rename from docs/pi-ui-tui/18-ime-support-the-focusable-interface.md rename to docs-internal/pi-ui-tui/18-ime-support-the-focusable-interface.md diff --git a/docs/pi-ui-tui/19-building-a-complete-component-step-by-step.md b/docs-internal/pi-ui-tui/19-building-a-complete-component-step-by-step.md similarity index 100% rename from docs/pi-ui-tui/19-building-a-complete-component-step-by-step.md rename to docs-internal/pi-ui-tui/19-building-a-complete-component-step-by-step.md diff --git a/docs/pi-ui-tui/20-real-world-patterns-from-examples.md b/docs-internal/pi-ui-tui/20-real-world-patterns-from-examples.md similarity index 100% rename from docs/pi-ui-tui/20-real-world-patterns-from-examples.md rename to docs-internal/pi-ui-tui/20-real-world-patterns-from-examples.md diff --git a/docs/pi-ui-tui/21-common-mistakes-and-how-to-avoid-them.md b/docs-internal/pi-ui-tui/21-common-mistakes-and-how-to-avoid-them.md similarity index 100% rename from docs/pi-ui-tui/21-common-mistakes-and-how-to-avoid-them.md rename to docs-internal/pi-ui-tui/21-common-mistakes-and-how-to-avoid-them.md diff --git a/docs/pi-ui-tui/22-quick-reference-all-ui-apis.md b/docs-internal/pi-ui-tui/22-quick-reference-all-ui-apis.md similarity index 100% rename from docs/pi-ui-tui/22-quick-reference-all-ui-apis.md rename to docs-internal/pi-ui-tui/22-quick-reference-all-ui-apis.md diff --git a/docs/pi-ui-tui/23-file-reference-example-extensions-with-ui.md b/docs-internal/pi-ui-tui/23-file-reference-example-extensions-with-ui.md similarity index 100% rename from docs/pi-ui-tui/23-file-reference-example-extensions-with-ui.md rename to docs-internal/pi-ui-tui/23-file-reference-example-extensions-with-ui.md diff --git a/docs/pi-ui-tui/README.md b/docs-internal/pi-ui-tui/README.md similarity index 100% rename from docs/pi-ui-tui/README.md rename to docs-internal/pi-ui-tui/README.md diff --git a/docs/pr-1530/01-full.png b/docs-internal/pr-1530/01-full.png similarity index 100% rename from docs/pr-1530/01-full.png rename to docs-internal/pr-1530/01-full.png diff --git a/docs/pr-1530/02-small.png b/docs-internal/pr-1530/02-small.png similarity index 100% rename from docs/pr-1530/02-small.png rename to docs-internal/pr-1530/02-small.png diff --git a/docs/pr-1530/03-min.png b/docs-internal/pr-1530/03-min.png similarity index 100% rename from docs/pr-1530/03-min.png rename to docs-internal/pr-1530/03-min.png diff --git a/docs/pr-1530/04-unhealthy.png b/docs-internal/pr-1530/04-unhealthy.png similarity index 100% rename from docs/pr-1530/04-unhealthy.png rename to docs-internal/pr-1530/04-unhealthy.png diff --git a/docs/pr-876/01-index.png b/docs-internal/pr-876/01-index.png similarity index 100% rename from docs/pr-876/01-index.png rename to docs-internal/pr-876/01-index.png diff --git a/docs/pr-876/02-summary.png b/docs-internal/pr-876/02-summary.png similarity index 100% rename from docs/pr-876/02-summary.png rename to docs-internal/pr-876/02-summary.png diff --git a/docs/pr-876/03-progress.png b/docs-internal/pr-876/03-progress.png similarity index 100% rename from docs/pr-876/03-progress.png rename to docs-internal/pr-876/03-progress.png diff --git a/docs/pr-876/04-depgraph.png b/docs-internal/pr-876/04-depgraph.png similarity index 100% rename from docs/pr-876/04-depgraph.png rename to docs-internal/pr-876/04-depgraph.png diff --git a/docs/pr-876/05-metrics.png b/docs-internal/pr-876/05-metrics.png similarity index 100% rename from docs/pr-876/05-metrics.png rename to docs-internal/pr-876/05-metrics.png diff --git a/docs/pr-876/06-changelog.png b/docs-internal/pr-876/06-changelog.png similarity index 100% rename from docs/pr-876/06-changelog.png rename to docs-internal/pr-876/06-changelog.png diff --git a/docs/pr-876/06-timeline.png b/docs-internal/pr-876/06-timeline.png similarity index 100% rename from docs/pr-876/06-timeline.png rename to docs-internal/pr-876/06-timeline.png diff --git a/docs/pr-876/07-changelog.png b/docs-internal/pr-876/07-changelog.png similarity index 100% rename from docs/pr-876/07-changelog.png rename to docs-internal/pr-876/07-changelog.png diff --git a/docs/pr-876/07-knowledge.png b/docs-internal/pr-876/07-knowledge.png similarity index 100% rename from docs/pr-876/07-knowledge.png rename to docs-internal/pr-876/07-knowledge.png diff --git a/docs/pr-876/08-knowledge.png b/docs-internal/pr-876/08-knowledge.png similarity index 100% rename from docs/pr-876/08-knowledge.png rename to docs-internal/pr-876/08-knowledge.png diff --git a/docs/pr-876/09-captures.png b/docs-internal/pr-876/09-captures.png similarity index 100% rename from docs/pr-876/09-captures.png rename to docs-internal/pr-876/09-captures.png diff --git a/docs/pr-876/10-artifacts.png b/docs-internal/pr-876/10-artifacts.png similarity index 100% rename from docs/pr-876/10-artifacts.png rename to docs-internal/pr-876/10-artifacts.png diff --git a/docs/proposals/698-browser-tools-feature-additions.md b/docs-internal/proposals/698-browser-tools-feature-additions.md similarity index 100% rename from docs/proposals/698-browser-tools-feature-additions.md rename to docs-internal/proposals/698-browser-tools-feature-additions.md diff --git a/docs/proposals/rfc-gitops-branching-strategy.md b/docs-internal/proposals/rfc-gitops-branching-strategy.md similarity index 100% rename from docs/proposals/rfc-gitops-branching-strategy.md rename to docs-internal/proposals/rfc-gitops-branching-strategy.md diff --git a/docs/proposals/workflows/README.md b/docs-internal/proposals/workflows/README.md similarity index 100% rename from docs/proposals/workflows/README.md rename to docs-internal/proposals/workflows/README.md diff --git a/docs/proposals/workflows/backmerge.yml b/docs-internal/proposals/workflows/backmerge.yml similarity index 100% rename from docs/proposals/workflows/backmerge.yml rename to docs-internal/proposals/workflows/backmerge.yml diff --git a/docs/proposals/workflows/create-release.yml b/docs-internal/proposals/workflows/create-release.yml similarity index 100% rename from docs/proposals/workflows/create-release.yml rename to docs-internal/proposals/workflows/create-release.yml diff --git a/docs/proposals/workflows/sync-next.yml b/docs-internal/proposals/workflows/sync-next.yml similarity index 100% rename from docs/proposals/workflows/sync-next.yml rename to docs-internal/proposals/workflows/sync-next.yml diff --git a/docs/remote-questions.md b/docs-internal/remote-questions.md similarity index 100% rename from docs/remote-questions.md rename to docs-internal/remote-questions.md diff --git a/docs/skills.md b/docs-internal/skills.md similarity index 100% rename from docs/skills.md rename to docs-internal/skills.md diff --git a/docs/superpowers/plans/2026-03-17-cicd-pipeline.md b/docs-internal/superpowers/plans/2026-03-17-cicd-pipeline.md similarity index 100% rename from docs/superpowers/plans/2026-03-17-cicd-pipeline.md rename to docs-internal/superpowers/plans/2026-03-17-cicd-pipeline.md diff --git a/docs/superpowers/specs/2026-03-17-cicd-pipeline-design.md b/docs-internal/superpowers/specs/2026-03-17-cicd-pipeline-design.md similarity index 100% rename from docs/superpowers/specs/2026-03-17-cicd-pipeline-design.md rename to docs-internal/superpowers/specs/2026-03-17-cicd-pipeline-design.md diff --git a/docs/token-optimization.md b/docs-internal/token-optimization.md similarity index 100% rename from docs/token-optimization.md rename to docs-internal/token-optimization.md diff --git a/docs/troubleshooting.md b/docs-internal/troubleshooting.md similarity index 100% rename from docs/troubleshooting.md rename to docs-internal/troubleshooting.md diff --git a/docs/visualizer.md b/docs-internal/visualizer.md similarity index 100% rename from docs/visualizer.md rename to docs-internal/visualizer.md diff --git a/docs/web-interface.md b/docs-internal/web-interface.md similarity index 100% rename from docs/web-interface.md rename to docs-internal/web-interface.md diff --git a/docs/what-is-pi/01-what-pi-is.md b/docs-internal/what-is-pi/01-what-pi-is.md similarity index 100% rename from docs/what-is-pi/01-what-pi-is.md rename to docs-internal/what-is-pi/01-what-pi-is.md diff --git a/docs/what-is-pi/02-design-philosophy.md b/docs-internal/what-is-pi/02-design-philosophy.md similarity index 100% rename from docs/what-is-pi/02-design-philosophy.md rename to docs-internal/what-is-pi/02-design-philosophy.md diff --git a/docs/what-is-pi/03-the-four-modes-of-operation.md b/docs-internal/what-is-pi/03-the-four-modes-of-operation.md similarity index 100% rename from docs/what-is-pi/03-the-four-modes-of-operation.md rename to docs-internal/what-is-pi/03-the-four-modes-of-operation.md diff --git a/docs/what-is-pi/04-the-architecture-how-everything-fits-together.md b/docs-internal/what-is-pi/04-the-architecture-how-everything-fits-together.md similarity index 100% rename from docs/what-is-pi/04-the-architecture-how-everything-fits-together.md rename to docs-internal/what-is-pi/04-the-architecture-how-everything-fits-together.md diff --git a/docs/what-is-pi/05-the-agent-loop-how-pi-thinks.md b/docs-internal/what-is-pi/05-the-agent-loop-how-pi-thinks.md similarity index 100% rename from docs/what-is-pi/05-the-agent-loop-how-pi-thinks.md rename to docs-internal/what-is-pi/05-the-agent-loop-how-pi-thinks.md diff --git a/docs/what-is-pi/06-tools-how-pi-acts-on-the-world.md b/docs-internal/what-is-pi/06-tools-how-pi-acts-on-the-world.md similarity index 100% rename from docs/what-is-pi/06-tools-how-pi-acts-on-the-world.md rename to docs-internal/what-is-pi/06-tools-how-pi-acts-on-the-world.md diff --git a/docs/what-is-pi/07-sessions-memory-that-branches.md b/docs-internal/what-is-pi/07-sessions-memory-that-branches.md similarity index 100% rename from docs/what-is-pi/07-sessions-memory-that-branches.md rename to docs-internal/what-is-pi/07-sessions-memory-that-branches.md diff --git a/docs/what-is-pi/08-compaction-how-pi-manages-context-limits.md b/docs-internal/what-is-pi/08-compaction-how-pi-manages-context-limits.md similarity index 100% rename from docs/what-is-pi/08-compaction-how-pi-manages-context-limits.md rename to docs-internal/what-is-pi/08-compaction-how-pi-manages-context-limits.md diff --git a/docs/what-is-pi/09-the-customization-stack.md b/docs-internal/what-is-pi/09-the-customization-stack.md similarity index 100% rename from docs/what-is-pi/09-the-customization-stack.md rename to docs-internal/what-is-pi/09-the-customization-stack.md diff --git a/docs/what-is-pi/10-providers-models-multi-model-by-default.md b/docs-internal/what-is-pi/10-providers-models-multi-model-by-default.md similarity index 100% rename from docs/what-is-pi/10-providers-models-multi-model-by-default.md rename to docs-internal/what-is-pi/10-providers-models-multi-model-by-default.md diff --git a/docs/what-is-pi/11-the-interactive-tui.md b/docs-internal/what-is-pi/11-the-interactive-tui.md similarity index 100% rename from docs/what-is-pi/11-the-interactive-tui.md rename to docs-internal/what-is-pi/11-the-interactive-tui.md diff --git a/docs/what-is-pi/12-the-message-queue-talking-while-pi-thinks.md b/docs-internal/what-is-pi/12-the-message-queue-talking-while-pi-thinks.md similarity index 100% rename from docs/what-is-pi/12-the-message-queue-talking-while-pi-thinks.md rename to docs-internal/what-is-pi/12-the-message-queue-talking-while-pi-thinks.md diff --git a/docs/what-is-pi/13-context-files-project-instructions.md b/docs-internal/what-is-pi/13-context-files-project-instructions.md similarity index 100% rename from docs/what-is-pi/13-context-files-project-instructions.md rename to docs-internal/what-is-pi/13-context-files-project-instructions.md diff --git a/docs/what-is-pi/14-the-sdk-rpc-embedding-pi.md b/docs-internal/what-is-pi/14-the-sdk-rpc-embedding-pi.md similarity index 100% rename from docs/what-is-pi/14-the-sdk-rpc-embedding-pi.md rename to docs-internal/what-is-pi/14-the-sdk-rpc-embedding-pi.md diff --git a/docs/what-is-pi/15-pi-packages-the-ecosystem.md b/docs-internal/what-is-pi/15-pi-packages-the-ecosystem.md similarity index 100% rename from docs/what-is-pi/15-pi-packages-the-ecosystem.md rename to docs-internal/what-is-pi/15-pi-packages-the-ecosystem.md diff --git a/docs/what-is-pi/16-why-pi-matters-what-makes-it-different.md b/docs-internal/what-is-pi/16-why-pi-matters-what-makes-it-different.md similarity index 100% rename from docs/what-is-pi/16-why-pi-matters-what-makes-it-different.md rename to docs-internal/what-is-pi/16-why-pi-matters-what-makes-it-different.md diff --git a/docs/what-is-pi/17-file-reference-all-documentation.md b/docs-internal/what-is-pi/17-file-reference-all-documentation.md similarity index 100% rename from docs/what-is-pi/17-file-reference-all-documentation.md rename to docs-internal/what-is-pi/17-file-reference-all-documentation.md diff --git a/docs/what-is-pi/18-quick-reference-commands-shortcuts.md b/docs-internal/what-is-pi/18-quick-reference-commands-shortcuts.md similarity index 100% rename from docs/what-is-pi/18-quick-reference-commands-shortcuts.md rename to docs-internal/what-is-pi/18-quick-reference-commands-shortcuts.md diff --git a/docs/what-is-pi/19-building-branded-apps-on-top-of-pi.md b/docs-internal/what-is-pi/19-building-branded-apps-on-top-of-pi.md similarity index 100% rename from docs/what-is-pi/19-building-branded-apps-on-top-of-pi.md rename to docs-internal/what-is-pi/19-building-branded-apps-on-top-of-pi.md diff --git a/docs/what-is-pi/README.md b/docs-internal/what-is-pi/README.md similarity index 100% rename from docs/what-is-pi/README.md rename to docs-internal/what-is-pi/README.md diff --git a/docs/working-in-teams.md b/docs-internal/working-in-teams.md similarity index 100% rename from docs/working-in-teams.md rename to docs-internal/working-in-teams.md diff --git a/mintlify-docs/docs.json b/mintlify-docs/docs.json new file mode 100644 index 000000000..a100f196a --- /dev/null +++ b/mintlify-docs/docs.json @@ -0,0 +1,101 @@ +{ + "$schema": "https://mintlify.com/docs.json", + "theme": "mint", + "name": "GSD", + "logo": { + "light": "/images/logo.svg", + "dark": "/images/logo.svg", + "href": "https://gsd.build" + }, + "favicon": "/images/favicon.svg", + "colors": { + "primary": "#7dcfff", + "light": "#7dcfff", + "dark": "#1a1b26" + }, + "appearance": { + "default": "dark" + }, + "background": { + "decoration": "gradient" + }, + "fonts": { + "heading": { + "family": "JetBrains Mono", + "weight": 700 + }, + "body": { + "family": "Inter", + "weight": 400 + } + }, + "navbar": { + "links": [ + { + "label": "GitHub", + "href": "https://github.com/gsd-build/gsd-2" + } + ], + "primary": { + "type": "button", + "label": "Install", + "href": "/getting-started" + } + }, + "footer": { + "socials": { + "github": "https://github.com/gsd-build/gsd-2" + } + }, + "navigation": { + "groups": [ + { + "group": "Getting started", + "pages": [ + "introduction", + "getting-started" + ] + }, + { + "group": "Core concepts", + "pages": [ + "guides/auto-mode", + "guides/commands", + "guides/git-strategy" + ] + }, + { + "group": "Configuration", + "pages": [ + "guides/configuration", + "guides/custom-models", + "guides/token-optimization", + "guides/dynamic-model-routing", + "guides/cost-management" + ] + }, + { + "group": "Features", + "pages": [ + "guides/captures-triage", + "guides/parallel-orchestration", + "guides/remote-questions", + "guides/skills", + "guides/visualizer", + "guides/web-interface", + "guides/working-in-teams" + ] + }, + { + "group": "Reference", + "pages": [ + "guides/troubleshooting", + "guides/migration" + ] + } + ] + }, + "search": { + "prompt": "Search GSD docs..." + } +} diff --git a/mintlify-docs/getting-started.mdx b/mintlify-docs/getting-started.mdx new file mode 100644 index 000000000..648f92821 --- /dev/null +++ b/mintlify-docs/getting-started.mdx @@ -0,0 +1,183 @@ +--- +title: "Getting started" +description: "Install GSD, configure your LLM provider, and run your first autonomous session." +--- + +## Install + +```bash +npm install -g gsd-pi +``` + +Requires Node.js 22+ and Git. + + +**`command not found: gsd`?** Your shell may not have npm's global bin directory in `$PATH`. Run `npm prefix -g` to find it, then add `$(npm prefix -g)/bin` to your PATH. See [troubleshooting](/guides/troubleshooting) for details. + + +GSD checks for updates every 24 hours. Update in-session with `/gsd update`. + +## First launch + +```bash +gsd +``` + +On first launch, a setup wizard walks you through: + +1. **LLM provider** — 20+ providers (Anthropic, OpenAI, Google, OpenRouter, GitHub Copilot, Amazon Bedrock, Azure, and more). OAuth handles Claude Max and Copilot subscriptions automatically; otherwise paste an API key. +2. **Tool API keys** (optional) — Brave Search, Context7, Jina, Slack, Discord. Press Enter to skip any. + +Re-run the wizard anytime: + +```bash +gsd config +``` + +### Set up API keys + +For non-Anthropic models, you may need a search API key. Run `/gsd config` to set keys globally — they're saved to `~/.gsd/agent/auth.json` and apply to all projects. + +### Set up MCP servers + +To connect GSD to local or external MCP servers, add project-local config in `.mcp.json` or `.gsd/mcp.json`. See [configuration](/guides/configuration) for examples. + +## Choose a model + +GSD auto-selects a default model after login. Switch anytime: + +``` +/model +``` + +Or configure per-phase models in [preferences](/guides/configuration). + +## Two ways to work + + + + Type `/gsd` inside a session. GSD executes one unit at a time, pausing between each with a wizard showing what completed and what's next. + + - **No `.gsd/` directory** → starts a discussion to capture your project vision + - **Milestone exists, no roadmap** → discuss or research the milestone + - **Roadmap exists, slices pending** → plan the next slice or execute a task + - **Mid-task** → resume where you left off + + + Type `/gsd auto` and walk away. GSD autonomously researches, plans, executes, verifies, commits, and advances through every slice until the milestone is complete. + + ``` + /gsd auto + ``` + + See [auto mode](/guides/auto-mode) for the full details. + + + +## Two terminals, one project + +The recommended workflow: auto mode in one terminal, steering from another. + +**Terminal 1 — let it build:** + +```bash +gsd +/gsd auto +``` + +**Terminal 2 — steer while it works:** + +```bash +gsd +/gsd discuss # talk through architecture decisions +/gsd status # check progress +/gsd queue # queue the next milestone +``` + +Both terminals read and write the same `.gsd/` files. Decisions in terminal 2 are picked up at the next phase boundary automatically. + +## Project structure + +GSD organizes work into a hierarchy: + +``` +Milestone → a shippable version (4-10 slices) + Slice → one demoable vertical capability (1-7 tasks) + Task → one context-window-sized unit of work +``` + +All state lives on disk in `.gsd/`: + + +``` +.gsd/ + PROJECT.md — what the project is right now + REQUIREMENTS.md — requirement contract (active/validated/deferred) + DECISIONS.md — append-only architectural decisions + KNOWLEDGE.md — cross-session rules, patterns, and lessons + RUNTIME.md — runtime context: API endpoints, env vars, services + STATE.md — quick-glance status + milestones/ + M001/ + M001-ROADMAP.md — slice plan with risk levels and dependencies + M001-CONTEXT.md — scope and goals from discussion + slices/ + S01/ + S01-PLAN.md — task decomposition + S01-SUMMARY.md — what happened + S01-UAT.md — human test script + tasks/ + T01-PLAN.md + T01-SUMMARY.md +``` + + +## Resume a session + +```bash +gsd --continue # or gsd -c +``` + +Resumes the most recent session. To pick from all saved sessions: + +```bash +gsd sessions +``` + +## VS Code extension + +GSD is also available as a VS Code extension (publisher: FluxLabs). It provides: + +- **`@gsd` chat participant** — talk to the agent in VS Code Chat +- **Sidebar dashboard** — connection status, model info, token usage, quick actions +- **Full command palette** — start/stop agent, switch models, export sessions + +The CLI (`gsd-pi`) must be installed first — the extension connects to it via RPC. + +## Web interface + +```bash +gsd --web +``` + +A browser-based dashboard with real-time progress and multi-project support. See [web interface](/guides/web-interface) for details. + +## Troubleshooting + +### `gsd` runs `git svn dcommit` instead of GSD + +The [oh-my-zsh git plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git) defines `alias gsd='git svn dcommit'`. + +**Option 1** — Remove the alias in `~/.zshrc` (after the `source $ZSH/oh-my-zsh.sh` line): + +```bash +unalias gsd 2>/dev/null +``` + +**Option 2** — Use the alternative binary name: + +```bash +gsd-cli +``` + +Both `gsd` and `gsd-cli` point to the same binary. diff --git a/mintlify-docs/guides/auto-mode.mdx b/mintlify-docs/guides/auto-mode.mdx new file mode 100644 index 000000000..0a49f6c9c --- /dev/null +++ b/mintlify-docs/guides/auto-mode.mdx @@ -0,0 +1,181 @@ +--- +title: "Auto mode" +description: "GSD's autonomous execution engine — run /gsd auto, walk away, come back to built software with clean git history." +--- + +Auto mode is a **state machine driven by files on disk**. It reads `.gsd/STATE.md`, determines the next unit of work, creates a fresh agent session with pre-loaded context, and lets the LLM execute. When the LLM finishes, auto mode reads disk state again and dispatches the next unit. + +## The loop + +``` +Plan → Execute (per task) → Complete → Reassess Roadmap → Next Slice + ↓ (all slices done) + Validate → Complete Milestone +``` + +- **Plan** — scouts the codebase, researches docs, decomposes the slice into tasks +- **Execute** — runs each task in a fresh context window +- **Complete** — writes summary, UAT script, marks roadmap, commits +- **Reassess** — checks if the roadmap still makes sense +- **Validate** — reconciliation gate after all slices; catches gaps before sealing the milestone + +## Key properties + +### Fresh session per unit + +Every task, research phase, and planning step gets a clean context window. The dispatch prompt includes everything needed — task plans, prior summaries, dependency context, decisions register — so the LLM starts oriented. + +### Context pre-loading + +| Inlined artifact | Purpose | +|------------------|---------| +| Task plan | What to build | +| Slice plan | Where this task fits | +| Prior task summaries | What's already done | +| Dependency summaries | Cross-slice context | +| Roadmap excerpt | Overall direction | +| Decisions register | Architectural context | + +The amount of context inlined is controlled by your [token profile](/guides/token-optimization). Budget mode inlines minimal context; quality mode inlines everything. + +### Git isolation + +GSD isolates milestone work using one of three modes (configured via `git.isolation` in preferences): + +- **`worktree`** (default) — each milestone runs in its own git worktree. Squash-merged to main on completion. +- **`branch`** — work happens on a `milestone/` branch in the project root. Useful for submodule-heavy repos. +- **`none`** — work happens on your current branch. No isolation. For hot-reload workflows. + +See [git strategy](/guides/git-strategy) for details. + +### Crash recovery + +A lock file tracks the current unit. If the session dies, the next `/gsd auto` synthesizes a recovery briefing from tool calls that made it to disk and resumes with full context. + +**Headless auto-restart:** When running `gsd headless auto`, crashes trigger automatic restart with exponential backoff (5s → 10s → 30s cap, default 3 attempts). Combined with crash recovery, this enables overnight "run until done" execution. + +### Provider error recovery + +| Error type | Examples | Action | +|-----------|----------|--------| +| Rate limit | 429, "too many requests" | Auto-resume after retry-after header or 60s | +| Server error | 500, 502, 503, "overloaded" | Auto-resume after 30s | +| Permanent | "unauthorized", "invalid key" | Pause indefinitely (requires manual resume) | + +### Stuck detection + +A sliding-window analysis detects stuck loops — catching cycles like A→B→A→B as well as single-unit repeats. On detection, GSD retries once with a diagnostic prompt. If it fails again, auto mode stops with the exact file it expected. + +### Timeout supervision + +| Timeout | Default | Behavior | +|---------|---------|----------| +| Soft | 20 min | Warns the LLM to wrap up | +| Idle | 10 min | Detects stalls, intervenes | +| Hard | 30 min | Pauses auto mode | + +Configure in preferences: + +```yaml +auto_supervisor: + soft_timeout_minutes: 20 + idle_timeout_minutes: 10 + hard_timeout_minutes: 30 +``` + +### Incremental memory + +GSD maintains a `KNOWLEDGE.md` file — an append-only register of project-specific rules, patterns, and lessons learned. The agent reads it at the start of every unit and appends when discovering recurring issues or non-obvious patterns. + +### Verification enforcement + +```yaml +verification_commands: + - npm run lint + - npm run test +verification_auto_fix: true +verification_max_retries: 2 +``` + +Failures trigger auto-fix retries — the agent sees the output and attempts to fix issues before advancing. + +### HTML reports + +After milestone completion, GSD auto-generates a self-contained HTML report with progress tree, dependency graph, cost/token metrics, execution timeline, and changelog. + +```yaml +auto_report: true # enabled by default +``` + +Generate manually with `/gsd export --html`, or for all milestones with `/gsd export --html --all`. + +### Reactive task execution + +When `reactive_execution: true` is set, GSD derives a dependency graph from IO annotations in task plans. Tasks that don't conflict are dispatched in parallel via subagents. + +```yaml +reactive_execution: true # disabled by default +``` + +## Controlling auto mode + + + + ``` + /gsd auto + ``` + + + Press **Escape**. The conversation is preserved. You can interact with the agent, inspect state, or resume. + + + ``` + /gsd auto + ``` + Auto mode reads disk state and picks up where it left off. + + + ``` + /gsd stop + ``` + Stops auto mode gracefully. Can be run from a different terminal. + + + +### Steer during execution + +``` +/gsd steer +``` + +Hard-steer plan documents without stopping the pipeline. Changes are picked up at the next phase boundary. + +### Capture thoughts + +``` +/gsd capture "add rate limiting to API endpoints" +``` + +Fire-and-forget thought capture. Triaged automatically between tasks. See [captures and triage](/guides/captures-triage). + +## Dashboard + +`Ctrl+Alt+G` or `/gsd status` shows real-time progress: + +- Current milestone, slice, and task +- Auto mode elapsed time and phase +- Per-unit cost and token breakdown +- Cost projections +- Pending capture count + +## Phase skipping + +Token profiles can skip phases to reduce cost: + +| Phase | `budget` | `balanced` | `quality` | +|-------|----------|------------|-----------| +| Milestone research | Skipped | Runs | Runs | +| Slice research | Skipped | Skipped | Runs | +| Reassess roadmap | Skipped | Runs | Runs | + +See [token optimization](/guides/token-optimization) for details. diff --git a/mintlify-docs/guides/captures-triage.mdx b/mintlify-docs/guides/captures-triage.mdx new file mode 100644 index 000000000..9ac838640 --- /dev/null +++ b/mintlify-docs/guides/captures-triage.mdx @@ -0,0 +1,75 @@ +--- +title: "Captures and triage" +description: "Fire-and-forget thought capture during auto-mode with automated triage." +--- + +Captures let you fire-and-forget thoughts during auto-mode execution. Instead of pausing to steer, capture ideas, bugs, or scope changes and let GSD triage them at natural seams between tasks. + +## Quick start + +While auto-mode is running (or any time): + +``` +/gsd capture "add rate limiting to the API endpoints" +/gsd capture "the auth flow should support OAuth, not just JWT" +``` + +Captures are appended to `.gsd/CAPTURES.md` and triaged automatically between tasks. + +## How it works + +``` +capture → triage → confirm → resolve → resume +``` + + + + `/gsd capture "thought"` appends to `.gsd/CAPTURES.md` with a timestamp and unique ID. + + + At natural seams between tasks, GSD classifies each capture. + + + You're shown the proposed resolution. Plan-modifying resolutions require confirmation. + + + The resolution is applied (task injection, replan trigger, deferral, etc.). + + + Auto-mode continues. + + + +## Classification types + +| Type | Meaning | Resolution | +|------|---------|------------| +| `quick-task` | Small, self-contained fix | Inline quick task executed immediately | +| `inject` | New task needed in current slice | Task injected into the active slice plan | +| `defer` | Important but not urgent | Deferred to roadmap reassessment | +| `replan` | Changes the current approach | Triggers slice replan with capture context | +| `note` | Informational, no action | Acknowledged, no plan changes | + +## Manual triage + +Trigger triage at any time: + +``` +/gsd triage +``` + +Useful when you've accumulated several captures and want to process them before the next natural seam. + +## Dashboard integration + +The progress widget shows a pending capture count badge when captures are waiting for triage. Visible in both the `Ctrl+Alt+G` dashboard and the auto-mode widget. + +## Context injection + +Capture context is automatically injected into: +- **Replan-slice prompts** — so the replan knows what triggered it +- **Reassess-roadmap prompts** — so deferred captures influence roadmap decisions + +## Worktree awareness + +Captures resolve to the **original project root's** `.gsd/CAPTURES.md`, not the worktree's local copy. Captures from a steering terminal are visible to the auto-mode session running in a worktree. diff --git a/mintlify-docs/guides/commands.mdx b/mintlify-docs/guides/commands.mdx new file mode 100644 index 000000000..20122c3d9 --- /dev/null +++ b/mintlify-docs/guides/commands.mdx @@ -0,0 +1,180 @@ +--- +title: "Commands reference" +description: "Every GSD command, keyboard shortcut, and CLI flag." +--- + +## Session commands + +| Command | Description | +|---------|-------------| +| `/gsd` | Step mode — execute one unit at a time, pause between each | +| `/gsd next` | Explicit step mode (same as `/gsd`) | +| `/gsd auto` | Autonomous mode — research, plan, execute, commit, repeat | +| `/gsd quick` | Execute a quick task with GSD guarantees without full planning overhead | +| `/gsd stop` | Stop auto mode gracefully | +| `/gsd pause` | Pause auto mode (preserves state, `/gsd auto` to resume) | +| `/gsd steer` | Hard-steer plan documents during execution | +| `/gsd discuss` | Discuss architecture and decisions (works alongside auto mode) | +| `/gsd status` | Progress dashboard | +| `/gsd widget` | Cycle dashboard widget: full / small / min / off | +| `/gsd queue` | Queue and reorder future milestones (safe during auto mode) | +| `/gsd capture` | Fire-and-forget thought capture (works during auto mode) | +| `/gsd triage` | Manually trigger triage of pending captures | +| `/gsd dispatch` | Dispatch a specific phase directly | +| `/gsd history` | View execution history (supports `--cost`, `--phase`, `--model` filters) | +| `/gsd forensics` | Full-access debugger for auto-mode failures | +| `/gsd cleanup` | Clean up GSD state files and stale worktrees | +| `/gsd visualize` | Open workflow visualizer | +| `/gsd export --html` | Generate self-contained HTML report | +| `/gsd export --html --all` | Generate reports for all milestones | +| `/gsd update` | Update GSD to the latest version in-session | +| `/gsd knowledge` | Add persistent project knowledge | +| `/gsd fast` | Toggle service tier for supported models | +| `/gsd rate` | Rate last unit's model tier (over/ok/under) | +| `/gsd changelog` | Show categorized release notes | +| `/gsd logs` | Browse activity logs, debug logs, and metrics | +| `/gsd remote` | Control remote auto-mode | +| `/gsd help` | Categorized command reference | + +## Configuration and diagnostics + +| Command | Description | +|---------|-------------| +| `/gsd prefs` | Model selection, timeouts, budget ceiling | +| `/gsd mode` | Switch workflow mode (solo/team) | +| `/gsd config` | Re-run the provider setup wizard | +| `/gsd keys` | API key manager — list, add, remove, test, rotate | +| `/gsd doctor` | Runtime health checks with auto-fix | +| `/gsd inspect` | Show SQLite DB diagnostics | +| `/gsd init` | Project init wizard | +| `/gsd setup` | Global setup status and configuration | +| `/gsd skill-health` | Skill lifecycle dashboard | +| `/gsd hooks` | Show configured post-unit and pre-dispatch hooks | +| `/gsd run-hook` | Manually trigger a specific hook | +| `/gsd migrate` | Migrate a v1 `.planning` directory to `.gsd` format | + +## Milestone management + +| Command | Description | +|---------|-------------| +| `/gsd new-milestone` | Create a new milestone | +| `/gsd skip` | Prevent a unit from auto-mode dispatch | +| `/gsd undo` | Revert last completed unit | +| `/gsd undo-task` | Reset a specific task's completion state | +| `/gsd reset-slice` | Reset a slice and all its tasks | +| `/gsd park` | Park a milestone — skip without deleting | +| `/gsd unpark` | Reactivate a parked milestone | + +## Parallel orchestration + +| Command | Description | +|---------|-------------| +| `/gsd parallel start` | Analyze eligibility, confirm, and start workers | +| `/gsd parallel status` | Show all workers with state, progress, and cost | +| `/gsd parallel stop [MID]` | Stop all workers or a specific one | +| `/gsd parallel pause [MID]` | Pause all or a specific worker | +| `/gsd parallel resume [MID]` | Resume paused workers | +| `/gsd parallel merge [MID]` | Merge completed milestones to main | + +## Workflow templates + +| Command | Description | +|---------|-------------| +| `/gsd start` | Start a workflow template (bugfix, spike, feature, hotfix, refactor, etc.) | +| `/gsd start resume` | Resume an in-progress workflow | +| `/gsd templates` | List available workflow templates | +| `/gsd templates info ` | Show detailed template info | + +## Custom workflows + +| Command | Description | +|---------|-------------| +| `/gsd workflow new` | Create a new workflow definition | +| `/gsd workflow run ` | Create a run and start auto-mode | +| `/gsd workflow list` | List workflow runs | +| `/gsd workflow validate ` | Validate a workflow definition | +| `/gsd workflow pause` | Pause custom workflow auto-mode | +| `/gsd workflow resume` | Resume paused custom workflow auto-mode | + +## Extensions + +| Command | Description | +|---------|-------------| +| `/gsd extensions list` | List all extensions and their status | +| `/gsd extensions enable ` | Enable a disabled extension | +| `/gsd extensions disable ` | Disable an extension | +| `/gsd extensions info ` | Show extension details | + +## Keyboard shortcuts + +| Shortcut | Action | +|----------|--------| +| `Ctrl+Alt+G` | Toggle dashboard overlay | +| `Ctrl+Alt+V` | Toggle voice transcription | +| `Ctrl+Alt+B` | Show background shell processes | +| `Ctrl+V` / `Alt+V` | Paste image from clipboard | +| `Escape` | Pause auto mode | + + +In terminals without Kitty keyboard protocol support (macOS Terminal.app, JetBrains IDEs), slash-command fallbacks are shown instead of `Ctrl+Alt` shortcuts. + + +## CLI flags + +| Flag | Description | +|------|-------------| +| `gsd` | Start a new interactive session | +| `gsd --continue` (`-c`) | Resume the most recent session | +| `gsd --model ` | Override the default model | +| `gsd --print "msg"` (`-p`) | Single-shot prompt mode (no TUI) | +| `gsd --mode ` | Output mode for non-interactive use | +| `gsd --list-models [search]` | List available models and exit | +| `gsd --web [path]` | Start browser-based web interface | +| `gsd --worktree` (`-w`) `[name]` | Start session in a git worktree | +| `gsd --no-session` | Disable session persistence | +| `gsd --extension ` | Load an additional extension | +| `gsd --version` (`-v`) | Print version and exit | +| `gsd sessions` | Interactive session picker | +| `gsd config` | Set up global API keys | +| `gsd update` | Update GSD to the latest version | + +## Headless mode + +`gsd headless` runs commands without a TUI — designed for CI, cron jobs, and scripted automation. + +```bash +gsd headless # run auto mode +gsd headless next # run a single unit +gsd headless query # instant JSON snapshot (~50ms, no LLM) +gsd headless --timeout 600000 auto # with timeout +gsd headless new-milestone --context brief.md --auto +``` + +| Flag | Description | +|------|-------------| +| `--timeout N` | Overall timeout in milliseconds (default: 300000) | +| `--max-restarts N` | Auto-restart on crash (default: 3, set 0 to disable) | +| `--json` | Stream events as JSONL to stdout | +| `--model ID` | Override the model | +| `--context ` | Context file for `new-milestone` (use `-` for stdin) | +| `--auto` | Chain into auto-mode after milestone creation | + +**Exit codes:** `0` = complete, `1` = error/timeout, `2` = blocked. + +### `gsd headless query` + +Returns a JSON snapshot of the project state — no LLM session, instant response. + +```bash +gsd headless query | jq '.state.phase' # "executing" +gsd headless query | jq '.next' # next dispatch action +gsd headless query | jq '.cost.total' # total spend +``` + +## MCP server mode + +```bash +gsd --mode mcp +``` + +Runs GSD as a Model Context Protocol server over stdin/stdout, exposing all tools to external AI clients (Claude Desktop, VS Code Copilot, etc.). diff --git a/mintlify-docs/guides/configuration.mdx b/mintlify-docs/guides/configuration.mdx new file mode 100644 index 000000000..dfa920d47 --- /dev/null +++ b/mintlify-docs/guides/configuration.mdx @@ -0,0 +1,306 @@ +--- +title: "Configuration" +description: "Preferences, model selection, MCP servers, hooks, and all settings." +--- + +GSD preferences live in `~/.gsd/preferences.md` (global) or `.gsd/preferences.md` (project-local). Manage interactively with `/gsd prefs`. + +## Preferences commands + +| Command | Description | +|---------|-------------| +| `/gsd prefs` | Open the global preferences wizard | +| `/gsd prefs global` | Global preferences wizard | +| `/gsd prefs project` | Project preferences wizard | +| `/gsd prefs status` | Show current files, merged values, and skill status | + +## Preferences file format + +Preferences use YAML frontmatter in a markdown file: + +```yaml +--- +version: 1 +models: + research: claude-sonnet-4-6 + planning: claude-opus-4-6 + execution: claude-sonnet-4-6 + completion: claude-sonnet-4-6 +skill_discovery: suggest +auto_supervisor: + soft_timeout_minutes: 20 + idle_timeout_minutes: 10 + hard_timeout_minutes: 30 +budget_ceiling: 50.00 +token_profile: balanced +--- +``` + +## Global vs project preferences + +| Scope | Path | Applies to | +|-------|------|-----------| +| Global | `~/.gsd/preferences.md` | All projects | +| Project | `.gsd/preferences.md` | Current project only | + +**Merge behavior:** +- **Scalar fields** — project wins if defined +- **Array fields** — concatenated (global first, then project) +- **Object fields** — shallow-merged, project overrides per-key + +## Global API keys + +Tool API keys are stored globally in `~/.gsd/agent/auth.json`. Set them once with `/gsd config`. + +| Tool | Environment variable | Purpose | +|------|---------------------|---------| +| Tavily Search | `TAVILY_API_KEY` | Web search for non-Anthropic models | +| Brave Search | `BRAVE_API_KEY` | Web search for non-Anthropic models | +| Context7 Docs | `CONTEXT7_API_KEY` | Library documentation lookup | + +Anthropic models have built-in web search — no extra keys needed. + +## MCP servers + +GSD connects to external MCP servers configured in project files: + +- `.mcp.json` — repo-shared config +- `.gsd/mcp.json` — local-only config + + + + ```json + { + "mcpServers": { + "my-server": { + "type": "stdio", + "command": "/absolute/path/to/python3", + "args": ["/absolute/path/to/server.py"], + "env": { + "API_URL": "http://localhost:8000" + } + } + } + } + ``` + + + ```json + { + "mcpServers": { + "my-http-server": { + "url": "http://localhost:8080/mcp" + } + } + } + ``` + + + +Verify from a GSD session: `mcp_servers` → `mcp_discover` → `mcp_call`. + +## Models + +Per-phase model selection: + +```yaml +models: + research: claude-sonnet-4-6 + planning: + model: claude-opus-4-6 + fallbacks: + - openrouter/z-ai/glm-5 + execution: claude-sonnet-4-6 + execution_simple: claude-haiku-4-5-20250414 + completion: claude-sonnet-4-6 + subagent: claude-sonnet-4-6 +``` + +**Phases:** `research`, `planning`, `execution`, `execution_simple`, `completion`, `subagent` + +When a model fails to switch, GSD automatically tries the next model in the `fallbacks` list. + +For custom providers (Ollama, vLLM, LM Studio), see [custom models](/guides/custom-models). + +## All settings + +### `token_profile` + +Coordinates model selection, phase skipping, and context compression. Values: `budget`, `balanced` (default), `quality`. See [token optimization](/guides/token-optimization). + +### `budget_ceiling` + +Maximum USD spend during auto mode: + +```yaml +budget_ceiling: 50.00 +budget_enforcement: pause # warn, pause (default), or halt +``` + +### `auto_supervisor` + +Timeout thresholds: + +```yaml +auto_supervisor: + soft_timeout_minutes: 20 + idle_timeout_minutes: 10 + hard_timeout_minutes: 30 +``` + +### `skill_discovery` + +| Value | Behavior | +|-------|----------| +| `auto` | Skills found and applied automatically | +| `suggest` | Skills identified but not auto-installed (default) | +| `off` | Disabled | + +### Verification + +```yaml +verification_commands: + - npm run lint + - npm run test +verification_auto_fix: true +verification_max_retries: 2 +``` + +### Git + +See [git strategy](/guides/git-strategy) for full git configuration. + +### Notifications + +```yaml +notifications: + enabled: true + on_complete: true + on_error: true + on_budget: true + on_milestone: true + on_attention: true +``` + +### Post-unit hooks + +```yaml +post_unit_hooks: + - name: code-review + after: [execute-task] + prompt: "Review the code changes for quality and security." + model: claude-opus-4-6 + max_cycles: 1 + artifact: REVIEW.md +``` + +### Pre-dispatch hooks + +```yaml +pre_dispatch_hooks: + - name: add-standards + before: [execute-task] + action: modify # modify, skip, or replace + prepend: "Follow our coding standards." +``` + +### Skill routing + +```yaml +always_use_skills: + - debug-like-expert +prefer_skills: + - frontend-design +skill_rules: + - when: task involves authentication + use: [clerk] +``` + +### Custom instructions + +```yaml +custom_instructions: + - "Always use TypeScript strict mode" + - "Prefer functional patterns over classes" +``` + +### Dynamic routing + +See [dynamic model routing](/guides/dynamic-model-routing). + +### Parallel execution + +See [parallel orchestration](/guides/parallel-orchestration). + +## Environment variables + +| Variable | Default | Description | +|----------|---------|-------------| +| `GSD_HOME` | `~/.gsd` | Global GSD directory | +| `GSD_PROJECT_ID` | (auto-hash) | Override project identity hash | +| `GSD_STATE_DIR` | `$GSD_HOME` | Per-project state root | +| `GSD_CODING_AGENT_DIR` | `$GSD_HOME/agent` | Agent directory | + +## Full example + + +```yaml +--- +version: 1 + +models: + research: openrouter/deepseek/deepseek-r1 + planning: + model: claude-opus-4-6 + fallbacks: + - openrouter/z-ai/glm-5 + execution: claude-sonnet-4-6 + execution_simple: claude-haiku-4-5-20250414 + completion: claude-sonnet-4-6 + +token_profile: balanced + +dynamic_routing: + enabled: true + escalate_on_failure: true + budget_pressure: true + +budget_ceiling: 25.00 +budget_enforcement: pause +context_pause_threshold: 80 + +auto_supervisor: + soft_timeout_minutes: 15 + hard_timeout_minutes: 25 + +git: + auto_push: true + merge_strategy: squash + isolation: worktree + commit_docs: true + +skill_discovery: suggest +always_use_skills: + - debug-like-expert +skill_rules: + - when: task involves authentication + use: [clerk] + +notifications: + on_complete: false + on_milestone: true + on_attention: true + +auto_visualize: true +service_tier: priority +forensics_dedup: true +show_token_cost: true + +post_unit_hooks: + - name: code-review + after: [execute-task] + prompt: "Review {sliceId}/{taskId} for quality and security." + artifact: REVIEW.md +--- +``` + diff --git a/mintlify-docs/guides/cost-management.mdx b/mintlify-docs/guides/cost-management.mdx new file mode 100644 index 000000000..52e25e6c8 --- /dev/null +++ b/mintlify-docs/guides/cost-management.mdx @@ -0,0 +1,80 @@ +--- +title: "Cost management" +description: "Budget ceilings, cost tracking, projections, and enforcement modes." +--- + +GSD tracks token usage and cost for every unit of work dispatched during auto mode. This data powers the dashboard, budget enforcement, and cost projections. + +## Cost tracking + +Every unit's metrics are captured automatically: + +- **Token counts** — input, output, cache read, cache write, total +- **Cost** — USD cost per unit +- **Duration** — wall-clock time +- **Tool calls** — number of tool invocations +- **Message counts** — assistant and user messages + +Data is stored in `.gsd/metrics.json` and survives across sessions. + +### Viewing costs + +`Ctrl+Alt+G` or `/gsd status` shows real-time cost breakdown by: + +- Phase (research, planning, execution, completion, reassessment) +- Slice (M001/S01, M001/S02, ...) +- Model (which models consumed the most budget) +- Project totals + +## Budget ceiling + +```yaml +budget_ceiling: 50.00 +``` + +### Enforcement modes + +| Mode | Behavior | +|------|----------| +| `warn` | Log a warning, continue | +| `pause` | Pause auto mode (default when ceiling is set) | +| `halt` | Stop auto mode entirely | + +## Cost projections + +After two or more slices complete, GSD projects the remaining cost: + +``` +Projected remaining: $12.40 ($6.20/slice avg × 2 remaining) +``` + +## Budget pressure and model downgrading + +When approaching the budget ceiling, the [complexity router](/guides/token-optimization) automatically downgrades model assignments: + +| Budget used | Effect | +|------------|--------| +| < 50% | No adjustment | +| 50-75% | Standard tasks → Light | +| 75-90% | More aggressive | +| > 90% | Nearly everything downgrades | + +## Token profiles and cost + +| Profile | Typical savings | How | +|---------|----------------|-----| +| `budget` | 40-60% | Cheaper models, phase skipping, minimal context | +| `balanced` | 10-20% | Default models, skip slice research | +| `quality` | 0% (baseline) | Full models, all phases | + +See [token optimization](/guides/token-optimization) for details. + +## Tips + +- Start with `balanced` and a generous `budget_ceiling` to establish baseline costs +- Check `/gsd status` after a few slices to see per-slice averages +- Switch to `budget` for well-understood, repetitive work +- Use `quality` only for architectural decisions +- Per-phase model selection lets you use Opus for planning while keeping execution on Sonnet +- Enable [dynamic routing](/guides/dynamic-model-routing) for automatic downgrading on simple tasks +- Use `/gsd visualize` → Metrics tab to see where your budget is going diff --git a/mintlify-docs/guides/custom-models.mdx b/mintlify-docs/guides/custom-models.mdx new file mode 100644 index 000000000..02e61ae7d --- /dev/null +++ b/mintlify-docs/guides/custom-models.mdx @@ -0,0 +1,126 @@ +--- +title: "Custom models" +description: "Add custom providers and models (Ollama, vLLM, LM Studio, proxies) via models.json." +--- + +Define custom models and providers in `~/.gsd/agent/models.json`. This lets you add models not in the default registry — self-hosted endpoints, fine-tuned models, proxies, or new provider releases. + +The file reloads each time you open `/model` — no restart needed. + +## Minimal example + +For local models (Ollama, LM Studio, vLLM): + +```json +{ + "providers": { + "ollama": { + "baseUrl": "http://localhost:11434/v1", + "api": "openai-completions", + "apiKey": "ollama", + "models": [ + { "id": "llama3.1:8b" }, + { "id": "qwen2.5-coder:7b" } + ] + } + } +} +``` + +The `apiKey` is required but Ollama ignores it — any value works. + +## Supported APIs + +| API | Description | +|-----|-------------| +| `openai-completions` | OpenAI Chat Completions (most compatible) | +| `openai-responses` | OpenAI Responses API | +| `anthropic-messages` | Anthropic Messages API | +| `google-generative-ai` | Google Generative AI | + +## Provider configuration + +| Field | Description | +|-------|-------------| +| `baseUrl` | API endpoint URL | +| `api` | API type | +| `apiKey` | API key (supports shell commands, env vars, or literals) | +| `headers` | Custom headers | +| `authHeader` | Set `true` to add `Authorization: Bearer` automatically | +| `models` | Array of model configurations | +| `modelOverrides` | Per-model overrides for built-in models | + +### Value resolution + +The `apiKey` and `headers` fields support three formats: + +```json +"apiKey": "!security find-generic-password -ws 'anthropic'" // shell command +"apiKey": "MY_API_KEY" // env variable +"apiKey": "sk-..." // literal value +``` + +## Model configuration + +| Field | Required | Default | Description | +|-------|----------|---------|-------------| +| `id` | Yes | — | Model identifier (passed to the API) | +| `name` | No | `id` | Human-readable label | +| `api` | No | provider's `api` | Override per model | +| `reasoning` | No | `false` | Supports extended thinking | +| `input` | No | `["text"]` | `["text"]` or `["text", "image"]` | +| `contextWindow` | No | `128000` | Context window size | +| `maxTokens` | No | `16384` | Maximum output tokens | +| `cost` | No | all zeros | Per-million tokens: `input`, `output`, `cacheRead`, `cacheWrite` | + +## Overriding built-in providers + +Route a built-in provider through a proxy without redefining models: + +```json +{ + "providers": { + "anthropic": { + "baseUrl": "https://my-proxy.example.com/v1" + } + } +} +``` + +All built-in Anthropic models remain available. To add custom models alongside built-in ones, include the `models` array. + +## OpenAI compatibility + +For providers with partial OpenAI compatibility, use the `compat` field at provider or model level: + +```json +{ + "providers": { + "local-llm": { + "baseUrl": "http://localhost:8080/v1", + "api": "openai-completions", + "compat": { + "supportsDeveloperRole": false, + "supportsReasoningEffort": false + }, + "models": [...] + } + } +} +``` + +| Field | Description | +|-------|-------------| +| `supportsDeveloperRole` | Use `developer` vs `system` role | +| `supportsReasoningEffort` | Support for `reasoning_effort` parameter | +| `supportsUsageInStreaming` | Support for `stream_options: { include_usage: true }` | +| `maxTokensField` | `max_completion_tokens` or `max_tokens` | +| `thinkingFormat` | `reasoning_effort`, `zai`, `qwen`, or `qwen-chat-template` | +| `openRouterRouting` | OpenRouter provider selection config | +| `vercelGatewayRouting` | Vercel AI Gateway provider selection | + +## Community provider extensions + +| Extension | Provider | Models | Install | +|-----------|----------|--------|---------| +| [`pi-dashscope`](https://www.npmjs.com/package/pi-dashscope) | Alibaba DashScope | Qwen3, GLM-5, MiniMax M2.5, Kimi K2.5 | `gsd install npm:pi-dashscope` | diff --git a/mintlify-docs/guides/dynamic-model-routing.mdx b/mintlify-docs/guides/dynamic-model-routing.mdx new file mode 100644 index 000000000..d6cb80ed6 --- /dev/null +++ b/mintlify-docs/guides/dynamic-model-routing.mdx @@ -0,0 +1,94 @@ +--- +title: "Dynamic model routing" +description: "Automatically select cheaper models for simple work and reserve expensive models for complex tasks." +--- + +Dynamic model routing classifies each dispatched unit into a complexity tier and selects an appropriate model. This reduces token consumption by 20-50% without sacrificing quality where it matters. + +The key rule: **downgrade-only semantics**. Your configured model is always the ceiling — routing never upgrades beyond what you've configured. + +## Enabling + +```yaml +dynamic_routing: + enabled: true +``` + +## Complexity tiers + +| Tier | Typical work | Default model level | +|------|-------------|-------------------| +| **Light** | Slice completion, UAT, hooks | Haiku-class | +| **Standard** | Research, planning, execution | Sonnet-class | +| **Heavy** | Replanning, roadmap reassessment | Opus-class | + +## Configuration + +```yaml +dynamic_routing: + enabled: true + tier_models: + light: claude-haiku-4-5 + standard: claude-sonnet-4-6 + heavy: claude-opus-4-6 + escalate_on_failure: true # bump tier on task failure + budget_pressure: true # auto-downgrade near budget ceiling + cross_provider: true # consider models from other providers +``` + +### `escalate_on_failure` + +When a task fails at a given tier, the router escalates: Light → Standard → Heavy. Prevents cheap models from burning retries on work that needs more reasoning. + +### `budget_pressure` + +Progressive downgrading as budget ceiling approaches: + +| Budget used | Effect | +|------------|--------| +| < 50% | No adjustment | +| 50-75% | Standard → Light | +| 75-90% | More aggressive | +| > 90% | Nearly everything → Light | + +### `cross_provider` + +The router may select models from providers other than your primary, using a built-in cost table to find the cheapest model at each tier. + +## Task plan analysis + +For `execute-task` units, the classifier analyzes the task plan: + +| Signal | Simple → Light | Complex → Heavy | +|--------|---------------|----------------| +| Step count | ≤ 3 | ≥ 8 | +| File count | ≤ 3 | ≥ 8 | +| Description length | < 500 chars | > 2000 chars | +| Code blocks | — | ≥ 5 | +| Complexity keywords | None | Present | + +## Adaptive learning + +The routing history (`.gsd/routing-history.json`) tracks success/failure per tier per unit type. If a tier's failure rate exceeds 20%, future classifications are bumped up. + +User feedback (`/gsd rate`) is weighted 2x vs automatic outcomes. + +## Cost table + +| Model | Input (per M) | Output (per M) | +|-------|-------|--------| +| claude-haiku-4-5 | $0.80 | $4.00 | +| claude-sonnet-4-6 | $3.00 | $15.00 | +| claude-opus-4-6 | $15.00 | $75.00 | +| gpt-4o-mini | $0.15 | $0.60 | +| gpt-4o | $2.50 | $10.00 | +| gemini-2.0-flash | $0.10 | $0.40 | + +The cost table is for comparison only — actual billing comes from your provider. + +## Interaction with token profiles + +- **Token profiles** control phase skipping and context compression +- **Dynamic routing** controls per-unit model selection within those constraints + +The `budget` profile + dynamic routing provides maximum cost savings. diff --git a/mintlify-docs/guides/git-strategy.mdx b/mintlify-docs/guides/git-strategy.mdx new file mode 100644 index 000000000..6ce804ec1 --- /dev/null +++ b/mintlify-docs/guides/git-strategy.mdx @@ -0,0 +1,150 @@ +--- +title: "Git strategy" +description: "Isolation modes, branching model, and merge behavior for milestone work." +--- + +GSD uses git for milestone isolation and sequential commits. You choose an **isolation mode** that controls where work happens. The strategy is fully automated — no manual branch management needed. + +## Isolation modes + +Configure via the `git.isolation` preference: + +| Mode | Working directory | Branch | Best for | +|------|-------------------|--------|----------| +| `worktree` (default) | `.gsd/worktrees//` | `milestone/` | Most projects — full file isolation | +| `branch` | Project root | `milestone/` | Submodule-heavy repos | +| `none` | Project root | Current branch | Hot-reload workflows | + +### `worktree` mode (default) + +Each milestone gets its own git worktree on a `milestone/` branch. All execution happens inside the worktree. On completion, the worktree is squash-merged to main as one clean commit. The worktree and branch are cleaned up. + +### `branch` mode + +Work happens in the project root on a `milestone/` branch. No worktree is created. On completion, the branch is merged to main. + +### `none` mode + +Work happens directly on your current branch. No worktree, no milestone branch. GSD still commits sequentially with conventional commit messages, but there's no branch isolation. + +## Branching model + +``` +main ───────────────────────────────────────────────────────── + │ ↑ + └── milestone/M001 (worktree) ────────────────────────┘ + commit: feat(S01/T01): core types + commit: feat(S01/T02): markdown parser + commit: feat(S01/T03): file writer + → squash-merged to main as single commit +``` + +### Parallel worktrees + +With [parallel orchestration](/guides/parallel-orchestration) enabled, multiple milestones run in separate worktrees simultaneously: + +``` +main ────────────────────────────────────────────────────────── + │ ↑ ↑ + ├── milestone/M002 (worktree) ─────────┘ │ + │ → squash-merged first │ + │ │ + └── milestone/M003 (worktree) ────────────────────────┘ + → squash-merged second +``` + +Merges happen sequentially to avoid conflicts. + +### Commit format + +Conventional commit format with scope: + +``` +feat(S01/T01): core type definitions +feat(S01/T02): markdown parser for plan files +fix(M001/S03): bug fixes and doc corrections +docs(M001/S04): workflow documentation +``` + +## Workflow modes + +Set `mode` to get sensible defaults: + +```yaml +mode: solo # personal projects +mode: team # shared repos +``` + +| Setting | `solo` | `team` | +|---|---|---| +| `git.auto_push` | `true` | `false` | +| `git.push_branches` | `false` | `true` | +| `git.pre_merge_check` | `false` | `true` | +| `git.merge_strategy` | `"squash"` | `"squash"` | +| `unique_milestone_ids` | `false` | `true` | + +Mode defaults are the lowest priority — any explicit preference overrides them. + +## Git preferences + +```yaml +git: + auto_push: false + push_branches: false + remote: origin + snapshots: false + pre_merge_check: false + commit_type: feat + main_branch: main + merge_strategy: squash # "squash" or "merge" + isolation: worktree # "worktree", "branch", or "none" + commit_docs: true + auto_pr: false + pr_target_branch: develop +``` + +### Automatic pull requests + +For teams using Gitflow or branch-based workflows: + +```yaml +git: + auto_push: true + auto_pr: true + pr_target_branch: develop +``` + +Pushes the milestone branch and creates a PR targeting your specified branch. Requires `gh` CLI installed and authenticated. + +### `commit_docs: false` + +Adds `.gsd/` to `.gitignore` and keeps all planning artifacts local-only. Useful for teams where only some members use GSD. + +## Worktree management + +### Automatic (auto mode) + +1. Milestone starts → worktree created at `.gsd/worktrees//` +2. Planning artifacts copied into the worktree +3. All execution happens inside the worktree +4. Milestone completes → squash-merged to main +5. Worktree and branch cleaned up + +### Manual + +``` +/worktree create +/worktree switch +/worktree merge +/worktree remove +``` + +## Self-healing + +GSD includes automatic recovery for common git issues: + +- **Detached HEAD** — automatically reattaches to the correct branch +- **Stale lock files** — removes `index.lock` files from crashed processes +- **Orphaned worktrees** — detects and offers cleanup + +Run `/gsd doctor` to check git health manually. diff --git a/mintlify-docs/guides/migration.mdx b/mintlify-docs/guides/migration.mdx new file mode 100644 index 000000000..8f4646d79 --- /dev/null +++ b/mintlify-docs/guides/migration.mdx @@ -0,0 +1,47 @@ +--- +title: "Migration from v1" +description: "Migrate .planning directories from the original GSD to GSD-2's .gsd format." +--- + +If you have projects with `.planning` directories from the original Get Shit Done (v1), you can migrate them to GSD-2's `.gsd` format. + +## Running the migration + +```bash +# From within the project directory +/gsd migrate + +# Or specify a path +/gsd migrate ~/projects/my-old-project +``` + +## What gets migrated + +The migration tool: + +- Parses `PROJECT.md`, `ROADMAP.md`, `REQUIREMENTS.md`, phase directories, plans, summaries, and research +- Maps phases → slices, plans → tasks, milestones → milestones +- Preserves completion state (`[x]` phases stay done, summaries carry over) +- Consolidates research files +- Shows a preview before writing anything +- Optionally runs an agent-driven review of the output + +## Supported formats + +The migration handles various v1 format variations: + +- Milestone-sectioned roadmaps with `
` blocks +- Bold phase entries +- Bullet-format requirements +- Decimal phase numbering +- Duplicate phase numbers across milestones + +## Post-migration + +Verify the output: + +``` +/gsd doctor +``` + +This checks `.gsd/` integrity and flags any structural issues. diff --git a/mintlify-docs/guides/parallel-orchestration.mdx b/mintlify-docs/guides/parallel-orchestration.mdx new file mode 100644 index 000000000..830f0d10e --- /dev/null +++ b/mintlify-docs/guides/parallel-orchestration.mdx @@ -0,0 +1,123 @@ +--- +title: "Parallel orchestration" +description: "Run multiple milestones simultaneously in isolated git worktrees." +--- + +Run multiple milestones simultaneously. Each gets its own worker process, branch, and context window — while a coordinator tracks progress, enforces budgets, and keeps everything in sync. + + +Parallel mode is behind `parallel.enabled: false` by default. Opt-in only. + + +## Quick start + +1. Enable in preferences: + +```yaml +parallel: + enabled: true + max_workers: 2 +``` + +2. Start parallel execution: + +``` +/gsd parallel start +``` + +3. Monitor progress: + +``` +/gsd parallel status +``` + +## Architecture + +``` +┌─────────────────────────────────────────────────────┐ +│ Coordinator (your GSD session) │ +│ │ +│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ +│ │ Worker 1 │ │ Worker 2 │ │ Worker 3 │ ... │ +│ │ M001 │ │ M003 │ │ M005 │ │ +│ └──────────┘ └──────────┘ └──────────┘ │ +│ │ │ │ │ +│ ▼ ▼ ▼ │ +│ .gsd/worktrees/ .gsd/worktrees/ .gsd/worktrees/ │ +└─────────────────────────────────────────────────────┘ +``` + +### Worker isolation + +| Resource | Isolation method | +|----------|-----------------| +| Filesystem | Git worktree — separate checkout | +| Git branch | `milestone/` per milestone | +| State | `GSD_MILESTONE_LOCK` — each worker sees only its milestone | +| Context | Separate process with its own agent sessions | +| Metrics | Each worktree has its own `metrics.json` | + +## Eligibility analysis + +Before starting, GSD checks which milestones can run concurrently: + +1. **Not complete** — finished milestones are skipped +2. **Dependencies satisfied** — all `dependsOn` entries must be complete +3. **File overlap check** — shared files get a warning (not a blocker) + +## Configuration + +```yaml +parallel: + enabled: false + max_workers: 2 + budget_ceiling: 50.00 + merge_strategy: "per-milestone" # or "per-slice" + auto_merge: "confirm" # "auto", "confirm", or "manual" +``` + +| Key | Default | Description | +|-----|---------|-------------| +| `enabled` | `false` | Master toggle | +| `max_workers` | `2` | Concurrent workers (1-4) | +| `budget_ceiling` | none | Aggregate cost limit across all workers | +| `merge_strategy` | `"per-milestone"` | When to merge back to main | +| `auto_merge` | `"confirm"` | How merge-back is handled | + +## Commands + +| Command | Description | +|---------|-------------| +| `/gsd parallel start` | Analyze, confirm, and start workers | +| `/gsd parallel status` | Show workers with state, progress, cost | +| `/gsd parallel stop [MID]` | Stop all or a specific worker | +| `/gsd parallel pause [MID]` | Pause all or a specific worker | +| `/gsd parallel resume [MID]` | Resume paused workers | +| `/gsd parallel merge [MID]` | Merge completed milestones to main | + +## Merge reconciliation + +- `.gsd/` state files — auto-resolved (accept milestone branch version) +- Code conflicts — merge halts, shows conflicting files. Resolve manually and retry. + +## Budget management + +When `budget_ceiling` is set, aggregate cost is tracked across all workers. Ceiling reached → coordinator signals workers to stop. + +## Troubleshooting + +### "No milestones are eligible" + +All milestones are complete or blocked by dependencies. Check `/gsd queue`. + +### Worker crashed + +Workers persist state to disk. On restart, the coordinator detects dead PIDs. Run `/gsd doctor --fix` to clean up, then `/gsd parallel start` to spawn new workers. + +### Merge conflicts + +``` +/gsd parallel merge # see which milestones conflict +# resolve in .gsd/worktrees// +/gsd parallel merge MID # retry +``` diff --git a/mintlify-docs/guides/remote-questions.mdx b/mintlify-docs/guides/remote-questions.mdx new file mode 100644 index 000000000..a21ac9ea8 --- /dev/null +++ b/mintlify-docs/guides/remote-questions.mdx @@ -0,0 +1,84 @@ +--- +title: "Remote questions" +description: "Discord, Slack, and Telegram integration for headless auto-mode." +--- + +Remote questions allow GSD to ask for user input via Slack, Discord, or Telegram when running in headless auto-mode. When GSD encounters a decision point, it posts the question to your configured channel and polls for a response. + +## Setup + + + + ``` + /gsd remote discord + ``` + + The setup wizard validates your bot token, picks a server and channel, sends a test message, and saves the config. + + **Bot requirements:** + - A Discord bot token from the [Developer Portal](https://discord.com/developers/applications) + - Permissions: Send Messages, Read Message History, Add Reactions, View Channel + + + ``` + /gsd remote slack + ``` + + The setup wizard validates your bot token, picks a channel, sends a test message, and saves the config. + + **Bot requirements:** + - A Slack bot token (`xoxb-...`) from [Slack API](https://api.slack.com/apps) + - Scopes: `chat:write`, `reactions:read`, `reactions:write`, `channels:read`, `groups:read`, `channels:history`, `groups:history` + + + ``` + /gsd remote telegram + ``` + + The setup wizard validates your bot token, prompts for a chat ID, sends a test message, and saves the config. + + **Bot requirements:** + - A bot token from [@BotFather](https://t.me/BotFather) + - Bot must be added to the target group chat + + + +## Configuration + +```yaml +remote_questions: + channel: discord + channel_id: "1234567890123456789" + timeout_minutes: 5 + poll_interval_seconds: 5 +``` + +## How it works + +1. GSD encounters a decision point during auto-mode +2. The question is posted to your channel as a rich embed (Discord) or Block Kit message (Slack) +3. GSD polls for a response at the configured interval +4. You respond by reacting with a number emoji or replying with text +5. GSD picks up the response and continues +6. A check reaction confirms receipt + +### Response formats + +**Single question:** React with a number emoji (1️⃣-5️⃣) or reply with a number. + +**Multiple questions:** Reply with semicolons (`1;2;custom text`) or one answer per line. + +### Timeouts + +If no response within `timeout_minutes`, the LLM makes a conservative default choice or pauses auto-mode. + +## Commands + +| Command | Description | +|---------|-------------| +| `/gsd remote` | Show menu and current status | +| `/gsd remote slack` | Set up Slack | +| `/gsd remote discord` | Set up Discord | +| `/gsd remote telegram` | Set up Telegram | +| `/gsd remote status` | Show current config and last prompt status | +| `/gsd remote disconnect` | Remove configuration | diff --git a/mintlify-docs/guides/skills.mdx b/mintlify-docs/guides/skills.mdx new file mode 100644 index 000000000..66a05b096 --- /dev/null +++ b/mintlify-docs/guides/skills.mdx @@ -0,0 +1,97 @@ +--- +title: "Skills" +description: "Specialized instruction sets that provide domain-specific guidance to the LLM." +--- + +Skills are specialized instruction sets that GSD loads when the task matches. They provide domain-specific guidance — coding patterns, framework idioms, testing strategies, and tool usage. + +## Bundled skills + +GSD ships with these skills, installed to `~/.gsd/agent/skills/`: + +| Skill | Trigger | Description | +|-------|---------|-------------| +| `frontend-design` | Web UI work | Production-grade frontend with high design quality | +| `swiftui` | macOS/iOS apps | Full lifecycle from creation to shipping | +| `debug-like-expert` | Complex debugging | Methodical investigation with evidence gathering | +| `rust-core` | Rust code | Idiomatic, safe, performant Rust patterns | +| `axum-web-framework` | Axum web apps | Complete Axum development guide | +| `tauri` | Tauri v2 desktop apps | Cross-platform desktop development | +| `github-workflows` | GitHub Actions | CI/CD, workflow debugging | +| `security-audit` | Security auditing | Dependency scanning, OWASP | +| `review` | Code review | Diff-aware quality analysis | +| `test` | Test generation | Auto-detects frameworks | +| `lint` | Linting and formatting | ESLint, Biome, Prettier | + +## Skill discovery + +The `skill_discovery` preference controls how GSD finds skills: + +| Mode | Behavior | +|------|----------| +| `auto` | Skills found and applied automatically | +| `suggest` | Skills identified but require confirmation (default) | +| `off` | No skill discovery | + +## Skill preferences + +```yaml +always_use_skills: + - debug-like-expert +prefer_skills: + - frontend-design +avoid_skills: + - security-docker +skill_rules: + - when: task involves Clerk authentication + use: [clerk] + - when: frontend styling work + prefer: [frontend-design] +``` + +### Resolution order + +1. **Bare name** — e.g., `frontend-design` → scans `~/.gsd/agent/skills/` and project skills +2. **Absolute path** — e.g., `/Users/you/.gsd/agent/skills/my-skill/SKILL.md` +3. **Directory path** — looks for `SKILL.md` inside + +User skills take precedence over project skills. + +## Custom skills + +Create a directory with a `SKILL.md` file: + +``` +~/.gsd/agent/skills/my-skill/ + SKILL.md — instructions for the LLM + references/ — optional reference files +``` + +### Project-local skills + +``` +.gsd/agent/skills/my-project-skill/ + SKILL.md +``` + +## Skill health dashboard + +``` +/gsd skill-health # overview table +/gsd skill-health rust-core # detailed view +/gsd skill-health --stale 30 # unused for 30+ days +/gsd skill-health --declining # falling success rates +``` + +The dashboard flags: +- Success rate below 70% over the last 10 uses +- Token usage rising 20%+ +- Skills unused beyond the staleness threshold + +### Staleness detection + +```yaml +skill_staleness_days: 60 # default: 60, set 0 to disable +``` + +Stale skills are excluded from automatic matching but remain invokable explicitly. diff --git a/mintlify-docs/guides/token-optimization.mdx b/mintlify-docs/guides/token-optimization.mdx new file mode 100644 index 000000000..ae79bf525 --- /dev/null +++ b/mintlify-docs/guides/token-optimization.mdx @@ -0,0 +1,175 @@ +--- +title: "Token optimization" +description: "Token profiles, context compression, and complexity-based task routing to reduce costs by 40-60%." +--- + +GSD's token optimization system has three pillars: **token profiles**, **context compression**, and **complexity-based task routing**. + +## Token profiles + +A token profile coordinates model selection, phase skipping, and context compression. Set it in preferences: + +```yaml +token_profile: balanced +``` + +### `budget` — maximum savings (40-60% reduction) + +| Dimension | Setting | +|-----------|---------| +| Planning model | Sonnet | +| Execution model | Sonnet | +| Simple task model | Haiku | +| Completion model | Haiku | +| Milestone research | Skipped | +| Slice research | Skipped | +| Reassessment | Skipped | +| Context level | Minimal | + +Best for: prototyping, small projects, well-understood codebases. + +### `balanced` — smart defaults + +| Dimension | Setting | +|-----------|---------| +| All models | User's default | +| Subagent model | Sonnet | +| Milestone research | Runs | +| Slice research | Skipped | +| Reassessment | Runs | +| Context level | Standard | + +Best for: most projects, day-to-day development. + +### `quality` — full context + +Every phase runs. Every context artifact is inlined. No shortcuts. Best for: complex architectures, greenfield projects, critical production work. + +## Context compression + +Each profile maps to an **inline level** controlling how much context is pre-loaded into dispatch prompts: + +| Profile | Level | What's included | +|---------|-------|-----------------| +| `budget` | Minimal | Task plan, essential prior summaries (truncated). Drops decisions, requirements, templates. | +| `balanced` | Standard | Task plan, prior summaries, slice plan, roadmap excerpt. | +| `quality` | Full | Everything — all plans, summaries, decisions, requirements, templates. | + +### Prompt compression + +GSD can apply deterministic text compression before falling back to section-boundary truncation: + +```yaml +compression_strategy: compress # or "truncate" +``` + +| Strategy | Behavior | Default for | +|----------|----------|------------| +| `truncate` | Drop entire sections at boundaries | `quality` | +| `compress` | Heuristic text compression first, then truncate | `budget`, `balanced` | + +### Context selection + +```yaml +context_selection: smart # or "full" +``` + +| Mode | Behavior | Default for | +|------|----------|------------| +| `full` | Inline entire files | `balanced`, `quality` | +| `smart` | TF-IDF semantic chunking for large files | `budget` | + +## Complexity-based task routing + +GSD classifies each task by complexity and routes it to an appropriate model tier. + + +Dynamic routing requires explicit `models` in your preferences. Without a `models` section, routing is skipped. + + +### Classification signals + +| Signal | Simple | Standard | Complex | +|--------|--------|----------|---------| +| Step count | ≤ 3 | 4-7 | ≥ 8 | +| File count | ≤ 3 | 4-7 | ≥ 8 | +| Description length | < 500 chars | 500-2000 | > 2000 chars | +| Code blocks | — | — | ≥ 5 | +| Complexity keywords | None | Any present | — | + +**Complexity keywords:** `research`, `investigate`, `refactor`, `migrate`, `integrate`, `complex`, `architect`, `redesign`, `security`, `performance`, `concurrent`, `parallel` + +### Budget pressure + +When approaching the budget ceiling, the classifier automatically downgrades tiers: + +| Budget used | Effect | +|------------|--------| +| < 50% | No adjustment | +| 50-75% | Standard → Light | +| 75-90% | More aggressive | +| > 90% | Everything except Heavy → Light | + +## Adaptive learning + +GSD tracks success/failure per tier and adjusts classifications over time. User feedback via `/gsd rate` is weighted 2x: + +``` +/gsd rate over # model was overpowered +/gsd rate ok # appropriate +/gsd rate under # too weak +``` + +## Configuration examples + + + + ```yaml + --- + version: 1 + token_profile: budget + budget_ceiling: 25.00 + models: + execution_simple: claude-haiku-4-5-20250414 + --- + ``` + + + ```yaml + --- + version: 1 + token_profile: balanced + models: + planning: + model: claude-opus-4-6 + fallbacks: + - openrouter/z-ai/glm-5 + execution: claude-sonnet-4-6 + --- + ``` + + + ```yaml + --- + version: 1 + token_profile: quality + models: + planning: claude-opus-4-6 + execution: claude-opus-4-6 + --- + ``` + + + +Per-phase overrides always win over profile defaults: + +```yaml +--- +version: 1 +token_profile: budget +phases: + skip_research: false # keep research despite budget profile +models: + planning: claude-opus-4-6 # use Opus for planning despite budget +--- +``` diff --git a/mintlify-docs/guides/troubleshooting.mdx b/mintlify-docs/guides/troubleshooting.mdx new file mode 100644 index 000000000..7904981a7 --- /dev/null +++ b/mintlify-docs/guides/troubleshooting.mdx @@ -0,0 +1,140 @@ +--- +title: "Troubleshooting" +description: "Common issues, /gsd doctor, /gsd forensics, and recovery procedures." +--- + +## `/gsd doctor` + +The built-in diagnostic tool validates `.gsd/` integrity: + +``` +/gsd doctor +``` + +It checks file structure, referential integrity, completion state consistency, git worktree health, and stale lock files. + +## Common issues + + + + **Cause:** Stale cache after a crash, or the LLM didn't produce the expected artifact. + + **Fix:** Run `/gsd doctor` to repair state, then `/gsd auto`. + + + + **Cause:** A unit failed to produce its expected artifact twice in a row. + + **Fix:** Check the task plan for clarity. Refine it manually, then `/gsd auto`. + + + + **Cause:** npm's global bin directory isn't in `$PATH`. + + **Fix:** + ```bash + npm prefix -g + echo 'export PATH="$(npm prefix -g)/bin:$PATH"' >> ~/.zshrc + source ~/.zshrc + ``` + + **Workaround:** `npx gsd-pi` or `$(npm prefix -g)/bin/gsd` + + + + | Error type | Auto-resume? | Delay | + |-----------|-------------|-------| + | Rate limit (429) | Yes | retry-after or 60s | + | Server error (500, 502, 503) | Yes | 30s | + | Auth/billing | No | Manual resume | + + For transient errors, configure fallback models: + ```yaml + models: + execution: + model: claude-sonnet-4-6 + fallbacks: + - openrouter/minimax/minimax-m2.5 + ``` + + + + Increase `budget_ceiling` in preferences, or switch to `budget` token profile. Resume with `/gsd auto`. + + + + GSD auto-detects stale locks. If automatic recovery fails: + ```bash + rm -f .gsd/auto.lock + rm -rf "$(dirname .gsd)/.gsd.lock" + ``` + + + + GSD auto-resolves conflicts on `.gsd/` runtime files. For code conflicts, the LLM attempts resolution. If that fails, resolve manually. + + + + **Cause:** Antivirus, indexers, or editors briefly locking files during atomic rename. + + **Fix:** Re-run the operation. Close tools holding files open if the error persists. Run `/gsd doctor` to verify repo health. + + + +## `/gsd forensics` + +Full-access debugger for post-mortem analysis: + +``` +/gsd forensics [optional problem description] +``` + +Provides anomaly detection, unit traces, metrics analysis, doctor integration, and LLM-guided investigation. + +## MCP client issues + + + + Verify `.mcp.json` or `.gsd/mcp.json` exists and parses as valid JSON. + + + + Run the configured command outside GSD to confirm the server starts. Check backend URLs and dependencies. + + + + Use absolute paths. Set required environment variables in the MCP config's `env` block. + + + +## Recovery procedures + +### Reset auto mode state + +```bash +rm .gsd/auto.lock +rm .gsd/completed-units.json +``` + +Then `/gsd auto` to restart from current disk state. + +### Reset routing history + +```bash +rm .gsd/routing-history.json +``` + +### Full state rebuild + +``` +/gsd doctor +``` + +Rebuilds `STATE.md` from plan and roadmap files on disk. + +## Getting help + +- **GitHub Issues:** [github.com/gsd-build/GSD-2/issues](https://github.com/gsd-build/gsd-2/issues) +- **Dashboard:** `Ctrl+Alt+G` or `/gsd status` +- **Forensics:** `/gsd forensics` +- **Session logs:** `.gsd/activity/` diff --git a/mintlify-docs/guides/visualizer.mdx b/mintlify-docs/guides/visualizer.mdx new file mode 100644 index 000000000..5ea199621 --- /dev/null +++ b/mintlify-docs/guides/visualizer.mdx @@ -0,0 +1,82 @@ +--- +title: "Workflow visualizer" +description: "Interactive TUI overlay for progress, dependencies, metrics, and timeline." +--- + +The workflow visualizer is a full-screen TUI overlay with four tabs showing project progress, dependencies, cost metrics, and execution timeline. + +## Opening + +``` +/gsd visualize +``` + +Or configure automatic display after milestone completion: + +```yaml +auto_visualize: true +``` + +## Tabs + +Switch tabs with `Tab`, `1`-`4`, or arrow keys. + +### 1. Progress + +A tree view of milestones, slices, and tasks with completion status: + +``` +M001: User Management 3/6 tasks ⏳ + ✅ S01: Auth module 3/3 tasks + ✅ T01: Core types + ✅ T02: JWT middleware + ✅ T03: Login flow + ⏳ S02: User dashboard 1/2 tasks + ✅ T01: Layout component + ⬜ T02: Profile page +``` + +### 2. Dependencies + +ASCII dependency graph showing slice relationships: + +``` +S01 ──→ S02 ──→ S04 + └───→ S03 ──↗ +``` + +### 3. Metrics + +Bar charts showing cost and token usage by phase, slice, and model. + +### 4. Timeline + +Chronological execution history with unit type, timestamps, duration, model, and token counts. + +## Controls + +| Key | Action | +|-----|--------| +| `Tab` | Next tab | +| `Shift+Tab` | Previous tab | +| `1`-`4` | Jump to tab | +| `↑`/`↓` | Scroll | +| `Escape` / `q` | Close | + +The visualizer refreshes from disk every 2 seconds, staying current alongside a running auto-mode session. + +## HTML export + +For shareable reports outside the terminal: + +``` +/gsd export --html +``` + +Generates a self-contained HTML file in `.gsd/reports/` with progress tree, dependency graph (SVG), cost/token charts, execution timeline, and changelog. All CSS and JS are inlined — printable to PDF from any browser. + +```yaml +auto_report: true # auto-generate after milestone completion (default) +``` + +An auto-generated `index.html` shows all reports with progression metrics across milestones. diff --git a/mintlify-docs/guides/web-interface.mdx b/mintlify-docs/guides/web-interface.mdx new file mode 100644 index 000000000..75f769c86 --- /dev/null +++ b/mintlify-docs/guides/web-interface.mdx @@ -0,0 +1,38 @@ +--- +title: "Web interface" +description: "Browser-based project management with real-time progress and multi-project support." +--- + +GSD includes a browser-based web interface for project management, real-time progress monitoring, and multi-project support. + +## Quick start + +```bash +gsd --web +``` + +### CLI flags + +```bash +gsd --web --host 0.0.0.0 --port 8080 --allowed-origins "https://example.com" +``` + +| Flag | Default | Description | +|------|---------|-------------| +| `--host` | `localhost` | Bind address | +| `--port` | `3000` | Port | +| `--allowed-origins` | (none) | Comma-separated CORS origins | + +## Features + +- **Project management** — view milestones, slices, and tasks in a visual dashboard +- **Real-time progress** — server-sent events push status updates during auto-mode +- **Multi-project support** — manage multiple projects from a single tab via `?project=` URL parameter +- **Change project root** — switch directories from the web UI without restarting +- **Onboarding flow** — API key setup and provider configuration through the browser +- **Model selection** — switch models and providers from the web UI + +## Platform notes + +- **macOS/Linux** — full support +- **Windows** — web build is skipped due to Next.js webpack issues. The CLI remains fully functional. diff --git a/mintlify-docs/guides/working-in-teams.mdx b/mintlify-docs/guides/working-in-teams.mdx new file mode 100644 index 000000000..17f6f0c1d --- /dev/null +++ b/mintlify-docs/guides/working-in-teams.mdx @@ -0,0 +1,72 @@ +--- +title: "Working in teams" +description: "Multi-user workflows with unique milestone IDs, push branches, and shared planning artifacts." +--- + +GSD supports multi-user workflows where several developers work on the same repository concurrently. + +## Setup + +### 1. Set team mode + +```yaml +# .gsd/preferences.md (project-level, committed to git) +--- +version: 1 +mode: team +--- +``` + +This enables unique milestone IDs, push branches, and pre-merge checks in one setting. Override individual settings on top of `mode: team` as needed. + +### 2. Configure `.gitignore` + +Share planning artifacts while keeping runtime files local: + +```bash +# Runtime / ephemeral (per-developer) +.gsd/auto.lock +.gsd/completed-units.json +.gsd/STATE.md +.gsd/metrics.json +.gsd/activity/ +.gsd/runtime/ +.gsd/worktrees/ +.gsd/milestones/**/continue.md +.gsd/milestones/**/*-CONTINUE.md +``` + +**Shared** (committed): preferences, PROJECT.md, REQUIREMENTS.md, DECISIONS.md, milestones. + +**Local** (gitignored): lock files, metrics, state cache, worktrees, activity logs. + +### 3. Commit + +```bash +git add .gsd/preferences.md +git commit -m "chore: enable GSD team workflow" +``` + +## `commit_docs: false` + +For teams where only some members use GSD: + +```yaml +git: + commit_docs: false +``` + +Adds `.gsd/` to `.gitignore` entirely. The developer gets structured planning without affecting teammates. + +## Parallel development + +Multiple developers run auto mode simultaneously on different milestones. Each developer gets their own worktree and unique `milestone/` branch. Milestone dependencies can be declared: + +```yaml +# M00X-CONTEXT.md frontmatter +--- +depends_on: [M001-eh88as] +--- +``` + +GSD enforces that dependent milestones complete before starting downstream work. diff --git a/mintlify-docs/images/favicon.svg b/mintlify-docs/images/favicon.svg new file mode 100644 index 000000000..90071ea65 --- /dev/null +++ b/mintlify-docs/images/favicon.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + Terminal + + + + + ~ + $ + npx get-shit-done-cc + + + ██████╗ ███████╗██████╗ + ██╔════╝ ██╔════╝██╔══██╗ + ██║ ███╗███████╗██║ ██║ + ██║ ██║╚════██║██║ ██║ + ╚██████╔╝███████║██████╔╝ + ╚═════╝ ╚══════╝╚═════╝ + + + Get Shit Done v1.0.1 + A meta-prompting, context engineering and spec-driven + development system for Claude Code by TÂCHES. + + + Installed commands/gsd + Installed get-shit-done + + + Done! Run /gsd:help to get started. + + + ~ + $ + + + diff --git a/mintlify-docs/images/logo.png b/mintlify-docs/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b4584cc6a0a3c7bb16bce7899f44a8a24f4cbc0f GIT binary patch literal 16032 zcmeHO2~?9;_Rj)*$QERPXw?L0vAD3f0}@D33b-H&EiOQ)idY>4WD60JV2UVo6e<;m zHHr#K1*=X`K@tQ+r9#|Mk%T>pj;Zj%v^I0$-pQ?~NW%KN4@UP}c$7?1VtLgm|wd`BPpEw7xyH+cVZS zq+;c7!-nN?*!m>*q^pU8rNtW*VXp}bvPC_vKsHjH`y#YA=z3KUF*#ZS zQaVEt&bd0&ZRXpK=nb=Axn~ZoH}-9J4cROo(kqE%3@w;})-8#|UnxmU(Drxa z$Y<-8_?}akX!+m3Z1u0MLM@!jR~Tsd+iaoDKrL*A7B3_RBh8E=X*#HdrVH3wNV7q- z`FHl^3_Zxv4UIHQ%OW3U=t+_353&P@Dd@byWQLx{1A7uNWt`#B-MEN#2ieq2B&Jw( zXIrrDByrAa)YG7+vAtiShDajLoulx=XeDywR`q}~b$~J*-DaX}bYdf(eilNx@)I*V z0IfR!t;IunHc^aDKT!gb#wVL1FbBZ zEr~Nw>r}K34n|rVMJDQ?)|oD-)o?&js$$#3K#3$78@f)&uughdd74OSXeZH^ui2f^f4!R&riU3Tnr+4OFSf-v z`%$>~hsLwdIfo~3|9*$5+r{6d2?2Rx~8$WNyL(8_O=%xF<2>W5ULPyOS;pHCVh<@bk6{Xi&u;BW7&Wm^gJ?;8NPN`}}NV#S8Xe>-W(oBCxvj2pfUsO(o z6-i_381#!j)Ult=DonQeP8Ir5eLD&f^FI!r*IQmk_}(i`(nVr((U`GY9nYea>so8m z&UtOZN%RRKR{5g;piq8p6K_?af{S-^>LWkL$X@JF%6O*UnW|V;5^`r{Pbx*S%}ve$ zUM!`nG+OdG-kE;M@03;48R&@D@qULC&8Po844Pi%)1#gFg3{_lX=QmZP5E*d4B-Kc@h?-}?6F{Z0PzPYS9!+LbI!IJQ4Inb1pWjFgrQw&(M^ZJBXx;y4;u4UB2j(ZdqU` zlMR^B6tC>+vMq?1YRm^Ugje;2hhniHaXWR;pt$y=di!Zzw1r~Z0uDF_N%;c7}`0o3nk&-2dlEf@BdwuK6T3ERM0(p($tpn$r~HCxfiHTDccQ}u=PRy zo6B6V{+{{_lWy4)Zwa#6REN+R3F;Hhk~)Q5mugWiEVgV`oquePoaUu~1i7Fl%eqT_ zI;uAwuFN1GMi5S4{n|x+cAB-5HVKK}sf;ky$;y1qPeON)L6?L)Fd0&xyLKMcD5F8< zk6<$(w90*g^dygTSMriZhK8F9U>Wa8=dEVrO@(Y!r7_4+niFiUs7#ytG9T`b;XDeM z0HGR9JT$C|sWwsrrL#Nw(yKUjb>Jy|^Lv zUFAvIwrFetd`PJZ14lp@*z;<(OGGCY`wr&9Cc$qg4$nWj}98 z!MqBevuQtz#+8g7)tO$3xOu~Hho}6aO-=w_xQG8v8uve{cM!!Ed1{?SK?vsxs zteQ#c`H`N07*ErY1|y9fskbW?MO;lq@?8Ab0C=su&zQ@C4Bu~DdO3r4Qc=gN9ySvh z&}|*n?xqrV5j1M&4U(Aecfi9JD)}U`9Y1C&5w$U62a&~xxFM4}=|xtb9fg~%@Azga ze`}c4ft)_v@~x9Q^1{8h^o3C3=x8lXI(m+`N_X!xwzp3plxfrL)beQtZnohg zWUtr2k5xzA4?eO*+ir?COb+6o)jZUIaLMoYw*+y2mDA90JbQeoySLC47WYE*@khBQ z^|bPE9ev?0{dcFnPnkOrMLTMU>L5^}um6KwJ^m&@DCP5nQD^eVcQWhkvSh~1JZN`b zoBSG*T+e2aIC4u|Y^U5@@pHb&I{lLncT9Dfl&>&p(&?&L!eb6gk+XU8WGCXsB|wT! zZM$&-qa4i+D;*x_8=OHI8wIgS!qdO?;uO7&&G3k#aFpjsSG~2Jk=pl~f@!jE|0|I; zXLT#|^oJIB&wRd&?fW*Fk&BkFJcvqHmJvh&XG3ELYa(X5R+kXnAIZqp=c18*D2;#y zhd-@79LI#W_D0YI6`;<{(Uk*>dZ=);gq~;=pBZ5q*_gzFLeWD~WNe}UfltTEGKUX=!FG^EIiR*34m(t?in zO@)$fG6H@SFT}+lc~I*?ynytQp-3XmQ*D>QFYlI8xY~*MDGL130AeLl`EDR}!VVO> zmE-ty>Y)^P_<>L8-s`{r?%h-_+6D^z%3L_*;hifEO^giFbJD9KI4eAcSlQ}1 zL^ZN!3JPhqGer+p29Mawl)}&9CC!0dN$3Nrc}`sm2}}QmEB_Rj=TyW$Q`e>Z9>U`B zO=Z#sP{Y_7$6!0P+=UO-o}v#$c*0+SibfGjpMuR`PZl)JZ>^o8;BStD!nWM4EER#OLSagQ*WNLjdUxt9Ef3Y0W!Q;hh*rsb|uH+*+mPGCAJSi zVW|3X$)rnuB#_)CbF^?0^LHpv9CH{Xh}n!8E&|&YZBPdDzHdsVc(%FbODa$WuC(rWZM@`Ts;?#A71W79km+sA)-1Gw&o~Qh#eAU; zj8xZ#ioaq5$!d@um@ByN&4HoLRQF>fVxrShqKnhIhAOjD;MZB%qhXhUl=^;d$cO%>! zSpwv9<}(y<1gNw&Xz>FiEt2>M{XJBw4V;12zlSvqzCWU*)bem+SY)B%tu0*<0iqc6 zpx-A13K(VlSNzY2Mnr>v1_2EM|62&~+m!fpu_Jecqm>IZw~q1H8ngS$m{8|k2SdRH zvD9JdN?V5|w#%0IFL88UzSP;lagl?Avx9@_)r*R04Ze!ot&Utp&+%jkmYOhKR5T3tNj_ b;CAT2(A^f-?;Y(1O%UE5K5NU|Lk|BFr~1f< literal 0 HcmV?d00001 diff --git a/mintlify-docs/images/logo.svg b/mintlify-docs/images/logo.svg new file mode 100644 index 000000000..d9f61c16e --- /dev/null +++ b/mintlify-docs/images/logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/mintlify-docs/introduction.mdx b/mintlify-docs/introduction.mdx new file mode 100644 index 000000000..ea30b2d5d --- /dev/null +++ b/mintlify-docs/introduction.mdx @@ -0,0 +1,101 @@ +--- +title: "GSD — Get Shit Done" +description: "An autonomous coding agent that researches, plans, executes, and commits code while you focus on what matters." +--- + +GSD is an autonomous coding agent. Describe what you want built, run `/gsd auto`, and walk away. Come back to working software with clean git history. + +## What GSD does + + + + A state machine reads your project state, dispatches work to an LLM in fresh context windows, and advances through research, planning, execution, and verification — all without manual intervention. + + + Every task produces a conventional commit. Milestones are squash-merged to main. Your `git log` reads like a changelog. + + + Budget ceilings, token profiles, and dynamic model routing keep costs in check. Use Haiku for simple tasks and Opus for architectural work — automatically. + + + Sessions recover from crashes, provider errors auto-retry, and headless mode auto-restarts with exponential backoff. Designed for overnight unattended execution. + + + +## How it works + +GSD organizes work into a hierarchy: + +``` +Milestone → a shippable version (4-10 slices) + Slice → one demoable vertical capability (1-7 tasks) + Task → one context-window-sized unit of work +``` + +The iron rule: **a task must fit in one context window.** If it can't, it's two tasks. + +Auto mode loops through this hierarchy: + +``` +Plan → Execute (per task) → Complete → Reassess Roadmap → Next Slice + ↓ (all slices done) + Validate → Complete Milestone +``` + +Every phase gets a fresh context window with pre-loaded context — no accumulated garbage, no degraded quality. + +## Two ways to work + + + + Type `/gsd` inside a session. GSD executes one unit at a time, pausing between each so you can review. + + ```bash + gsd + /gsd + ``` + + + Type `/gsd auto` and walk away. GSD autonomously researches, plans, executes, verifies, and commits until the milestone is complete. + + ```bash + gsd + /gsd auto + ``` + + + +The recommended workflow: auto mode in one terminal, steering from another. + +**Terminal 1 — let it build:** + +```bash +gsd +/gsd auto +``` + +**Terminal 2 — steer while it works:** + +```bash +gsd +/gsd discuss # talk through architecture decisions +/gsd status # check progress +/gsd capture # fire-and-forget thoughts +``` + +## Next steps + + + + Get up and running in under a minute. + + + How the autonomous execution engine works. + + + Every command, shortcut, and CLI flag. + + + Models, budgets, timeouts, and preferences. + +