gsd-pi 2.75.0-dev.063e5a3 → 2.75.0-dev.96d4bb599
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +186 -149
- package/dist/claude-cli-check.d.ts +10 -0
- package/dist/claude-cli-check.js +13 -3
- package/dist/headless-events.d.ts +1 -1
- package/dist/headless-events.js +5 -2
- package/dist/headless.js +5 -6
- package/dist/loader.js +0 -0
- package/dist/onboarding.d.ts +20 -1
- package/dist/onboarding.js +99 -39
- package/dist/resources/extensions/ask-user-questions.js +17 -5
- package/dist/resources/extensions/claude-code-cli/models.js +9 -0
- package/dist/resources/extensions/claude-code-cli/readiness.js +12 -2
- package/dist/resources/extensions/claude-code-cli/stream-adapter.js +76 -4
- package/dist/resources/extensions/gsd/auto/detect-stuck.js +9 -0
- package/dist/resources/extensions/gsd/auto/loop.js +67 -4
- package/dist/resources/extensions/gsd/auto/phases.js +70 -47
- package/dist/resources/extensions/gsd/auto/resolve.js +1 -1
- package/dist/resources/extensions/gsd/auto/run-unit.js +10 -1
- package/dist/resources/extensions/gsd/auto/session.js +5 -0
- package/dist/resources/extensions/gsd/auto-artifact-paths.js +20 -0
- package/dist/resources/extensions/gsd/auto-dashboard.js +15 -7
- package/dist/resources/extensions/gsd/auto-dispatch.js +112 -6
- package/dist/resources/extensions/gsd/auto-loop.js +1 -1
- package/dist/resources/extensions/gsd/auto-model-selection.js +11 -3
- package/dist/resources/extensions/gsd/auto-post-unit.js +10 -8
- package/dist/resources/extensions/gsd/auto-prompts.js +173 -39
- package/dist/resources/extensions/gsd/auto-recovery.js +57 -0
- package/dist/resources/extensions/gsd/auto-start.js +5 -3
- package/dist/resources/extensions/gsd/auto-verification.js +3 -3
- package/dist/resources/extensions/gsd/auto-worktree.js +55 -1
- package/dist/resources/extensions/gsd/auto.js +57 -25
- package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +8 -21
- package/dist/resources/extensions/gsd/bootstrap/db-tools.js +45 -23
- package/dist/resources/extensions/gsd/bootstrap/memory-tools.js +128 -0
- package/dist/resources/extensions/gsd/bootstrap/query-tools.js +29 -0
- package/dist/resources/extensions/gsd/bootstrap/register-extension.js +2 -0
- package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +22 -0
- package/dist/resources/extensions/gsd/bootstrap/system-context.js +17 -4
- package/dist/resources/extensions/gsd/commands/catalog.js +81 -9
- package/dist/resources/extensions/gsd/commands/handlers/core.js +64 -24
- package/dist/resources/extensions/gsd/commands/handlers/escalate.js +171 -0
- package/dist/resources/extensions/gsd/commands/handlers/onboarding.js +159 -0
- package/dist/resources/extensions/gsd/commands/handlers/ops.js +21 -0
- package/dist/resources/extensions/gsd/commands/handlers/workflow.js +228 -29
- package/dist/resources/extensions/gsd/commands-cmux.js +5 -2
- package/dist/resources/extensions/gsd/commands-config.js +5 -0
- package/dist/resources/extensions/gsd/commands-debug.js +388 -0
- package/dist/resources/extensions/gsd/commands-do.js +1 -0
- package/dist/resources/extensions/gsd/commands-extract-learnings.js +233 -75
- package/dist/resources/extensions/gsd/commands-handlers.js +21 -2
- package/dist/resources/extensions/gsd/commands-memory.js +462 -0
- package/dist/resources/extensions/gsd/commands-prefs-wizard.js +40 -12
- package/dist/resources/extensions/gsd/commands-scan.js +94 -0
- package/dist/resources/extensions/gsd/commands-workflow-templates.js +101 -2
- package/dist/resources/extensions/gsd/custom-workflow-engine.js +74 -54
- package/dist/resources/extensions/gsd/db-writer.js +1 -0
- package/dist/resources/extensions/gsd/debug-session-store.js +238 -0
- package/dist/resources/extensions/gsd/definition-loader.js +7 -0
- package/dist/resources/extensions/gsd/docs/preferences-reference.md +9 -9
- package/dist/resources/extensions/gsd/doctor-environment.js +2 -1
- package/dist/resources/extensions/gsd/doctor-git-checks.js +5 -1
- package/dist/resources/extensions/gsd/doctor-proactive.js +4 -1
- package/dist/resources/extensions/gsd/doctor-providers.js +48 -20
- package/dist/resources/extensions/gsd/doctor-runtime-checks.js +22 -4
- package/dist/resources/extensions/gsd/doctor.js +7 -1
- package/dist/resources/extensions/gsd/error-classifier.js +6 -3
- package/dist/resources/extensions/gsd/escalation.js +321 -0
- package/dist/resources/extensions/gsd/forensics.js +26 -29
- package/dist/resources/extensions/gsd/git-service.js +0 -1
- package/dist/resources/extensions/gsd/graph.js +26 -2
- package/dist/resources/extensions/gsd/gsd-db.js +490 -32
- package/dist/resources/extensions/gsd/health-widget-core.js +42 -14
- package/dist/resources/extensions/gsd/health-widget.js +7 -4
- package/dist/resources/extensions/gsd/init-wizard.js +86 -45
- package/dist/resources/extensions/gsd/markdown-renderer.js +5 -5
- package/dist/resources/extensions/gsd/memory-embeddings.js +219 -0
- package/dist/resources/extensions/gsd/memory-extractor.js +78 -27
- package/dist/resources/extensions/gsd/memory-ingest.js +218 -0
- package/dist/resources/extensions/gsd/memory-relations.js +189 -0
- package/dist/resources/extensions/gsd/memory-source-store.js +113 -0
- package/dist/resources/extensions/gsd/memory-store.js +299 -6
- package/dist/resources/extensions/gsd/metrics.js +1 -0
- package/dist/resources/extensions/gsd/model-cost-table.js +3 -1
- package/dist/resources/extensions/gsd/model-router.js +16 -6
- package/dist/resources/extensions/gsd/native-git-bridge.js +137 -5
- package/dist/resources/extensions/gsd/notification-overlay.js +7 -22
- package/dist/resources/extensions/gsd/notification-widget.js +24 -39
- package/dist/resources/extensions/gsd/notifications.js +4 -0
- package/dist/resources/extensions/gsd/onboarding-state.js +133 -0
- package/dist/resources/extensions/gsd/post-execution-checks.js +27 -11
- package/dist/resources/extensions/gsd/pre-execution-checks.js +97 -4
- package/dist/resources/extensions/gsd/preferences-models.js +1 -0
- package/dist/resources/extensions/gsd/preferences-types.js +2 -1
- package/dist/resources/extensions/gsd/preferences-validation.js +42 -8
- package/dist/resources/extensions/gsd/preferences.js +10 -10
- package/dist/resources/extensions/gsd/prompts/complete-milestone.md +4 -1
- package/dist/resources/extensions/gsd/prompts/debug-diagnose.md +25 -0
- package/dist/resources/extensions/gsd/prompts/debug-session-manager.md +80 -0
- package/dist/resources/extensions/gsd/prompts/execute-task.md +12 -0
- package/dist/resources/extensions/gsd/prompts/plan-milestone.md +12 -0
- package/dist/resources/extensions/gsd/prompts/refine-slice.md +69 -0
- package/dist/resources/extensions/gsd/prompts/scan.md +79 -0
- package/dist/resources/extensions/gsd/prompts/workflow-oneshot.md +26 -0
- package/dist/resources/extensions/gsd/python-resolver.js +70 -0
- package/dist/resources/extensions/gsd/run-manager.js +37 -17
- package/dist/resources/extensions/gsd/setup-catalog.js +75 -0
- package/dist/resources/extensions/gsd/state.js +47 -3
- package/dist/resources/extensions/gsd/templates/PREFERENCES.md +7 -7
- package/dist/resources/extensions/gsd/tools/complete-task.js +80 -0
- package/dist/resources/extensions/gsd/tools/memory-tools.js +306 -0
- package/dist/resources/extensions/gsd/tools/plan-milestone.js +37 -12
- package/dist/resources/extensions/gsd/tools/plan-slice.js +5 -2
- package/dist/resources/extensions/gsd/tools/skip-slice.js +78 -0
- package/dist/resources/extensions/gsd/uok/flags.js +7 -7
- package/dist/resources/extensions/gsd/uok/kernel.js +8 -3
- package/dist/resources/extensions/gsd/verification-gate.js +2 -1
- package/dist/resources/extensions/gsd/workflow-dispatch.js +64 -0
- package/dist/resources/extensions/gsd/workflow-install.js +327 -0
- package/dist/resources/extensions/gsd/workflow-manifest.js +8 -0
- package/dist/resources/extensions/gsd/workflow-mcp.js +1 -6
- package/dist/resources/extensions/gsd/workflow-plugins.js +346 -0
- package/dist/resources/extensions/gsd/workflow-projections.js +17 -15
- package/dist/resources/extensions/gsd/workflow-templates/accessibility-audit.md +88 -0
- package/dist/resources/extensions/gsd/workflow-templates/api-breaking-change.md +117 -0
- package/dist/resources/extensions/gsd/workflow-templates/bugfix.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/changelog-gen.md +82 -0
- package/dist/resources/extensions/gsd/workflow-templates/ci-bootstrap.md +144 -0
- package/dist/resources/extensions/gsd/workflow-templates/dead-code.md +81 -0
- package/dist/resources/extensions/gsd/workflow-templates/dep-upgrade.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/docs-sync.yaml +76 -0
- package/dist/resources/extensions/gsd/workflow-templates/env-audit.yaml +88 -0
- package/dist/resources/extensions/gsd/workflow-templates/full-project.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/hotfix.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/issue-triage.md +84 -0
- package/dist/resources/extensions/gsd/workflow-templates/observability-setup.md +133 -0
- package/dist/resources/extensions/gsd/workflow-templates/onboarding-check.md +74 -0
- package/dist/resources/extensions/gsd/workflow-templates/performance-audit.md +125 -0
- package/dist/resources/extensions/gsd/workflow-templates/pr-review.md +67 -0
- package/dist/resources/extensions/gsd/workflow-templates/pr-triage.md +83 -0
- package/dist/resources/extensions/gsd/workflow-templates/refactor.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/registry.json +184 -0
- package/dist/resources/extensions/gsd/workflow-templates/release.md +118 -0
- package/dist/resources/extensions/gsd/workflow-templates/rename-symbol.yaml +99 -0
- package/dist/resources/extensions/gsd/workflow-templates/security-audit.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/small-feature.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/spike.md +1 -0
- package/dist/resources/extensions/gsd/workflow-templates/test-backfill.yaml +73 -0
- package/dist/resources/extensions/gsd/worktree-resolver.js +42 -1
- package/dist/resources/extensions/remote-questions/commands.js +380 -0
- package/dist/resources/extensions/remote-questions/manager.js +39 -5
- package/dist/resources/extensions/remote-questions/telegram-adapter.js +79 -4
- package/dist/resources/extensions/shared/interview-ui.js +189 -1
- package/dist/resources/extensions/shared/layout-utils.js +17 -0
- package/dist/resources/extensions/shared/rtk-shared.js +47 -0
- package/dist/resources/extensions/shared/rtk.js +3 -46
- package/dist/resources/skills/create-workflow/SKILL.md +33 -6
- package/dist/rtk-shared.d.ts +10 -0
- package/dist/rtk-shared.js +47 -0
- package/dist/rtk.d.ts +2 -6
- package/dist/rtk.js +3 -48
- package/dist/shared/workspace-types.d.ts +52 -0
- package/dist/shared/workspace-types.js +1 -0
- package/dist/tsconfig.extensions.tsbuildinfo +1 -1
- package/dist/update-check.d.ts +10 -0
- package/dist/update-check.js +24 -3
- package/dist/web/standalone/.next/BUILD_ID +1 -1
- package/dist/web/standalone/.next/app-path-routes-manifest.json +5 -5
- package/dist/web/standalone/.next/build-manifest.json +3 -3
- package/dist/web/standalone/.next/prerender-manifest.json +3 -3
- package/dist/web/standalone/.next/react-loadable-manifest.json +2 -2
- package/dist/web/standalone/.next/required-server-files.json +1 -1
- package/dist/web/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.rsc +2 -2
- package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/boot/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/captures/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/cleanup/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/doctor/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/export-data/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/files/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/forensics/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/hooks/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/inspect/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/inspect/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/knowledge/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/knowledge/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/live-state/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/live-state/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/notifications/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/projects/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/recovery/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/browser/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/browser/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/command/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/command/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/events/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/session/events/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/session/manage/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/session/manage/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/settings-data/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/skill-health/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/steer/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/steer/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/switch-root/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/switch-root/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +2 -2
- package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/undo/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
- package/dist/web/standalone/.next/server/app/api/visualizer/route.js.nft.json +1 -1
- package/dist/web/standalone/.next/server/app/index.html +1 -1
- package/dist/web/standalone/.next/server/app/index.rsc +3 -3
- package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/web/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/web/standalone/.next/server/app-paths-manifest.json +5 -5
- package/dist/web/standalone/.next/server/chunks/6897.js +2 -2
- package/dist/web/standalone/.next/server/chunks/7461.js +1 -0
- package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/web/standalone/.next/server/middleware-manifest.json +5 -5
- package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/web/standalone/.next/server/pages/404.html +1 -1
- package/dist/web/standalone/.next/server/pages/500.html +1 -1
- package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
- package/dist/web/standalone/.next/static/chunks/2826.e59e8578e2e28639.js +9 -0
- package/dist/web/standalone/.next/static/chunks/{2008.71ee9230ad78df21.js → 3621.fc7480022c972438.js} +2 -2
- package/dist/web/standalone/.next/static/chunks/app/{page-f1e30ab6bb269149.js → page-5b113fd32bc2a1c3.js} +1 -1
- package/dist/web/standalone/.next/static/chunks/{webpack-b868033a5834586d.js → webpack-5fc74f13a25fa1bb.js} +1 -1
- package/dist/web/standalone/.next/static/css/632cd626b1731d88.css +1 -0
- package/dist/web/standalone/server.js +1 -1
- package/dist/welcome-screen.js +48 -24
- package/dist/wizard.js +2 -2
- package/dist/worktree-cli.d.ts +6 -5
- package/dist/worktree-cli.js +23 -7
- package/package.json +3 -3
- package/packages/mcp-server/dist/server.d.ts.map +1 -1
- package/packages/mcp-server/dist/server.js +12 -10
- package/packages/mcp-server/dist/server.js.map +1 -1
- package/packages/mcp-server/dist/session-manager.d.ts.map +1 -1
- package/packages/mcp-server/dist/session-manager.js +8 -1
- package/packages/mcp-server/dist/session-manager.js.map +1 -1
- package/packages/mcp-server/dist/workflow-tools.d.ts +1 -0
- package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
- package/packages/mcp-server/dist/workflow-tools.js +113 -14
- package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
- package/packages/mcp-server/src/mcp-server.test.ts +40 -4
- package/packages/mcp-server/src/server.ts +12 -10
- package/packages/mcp-server/src/session-manager.ts +10 -3
- package/packages/mcp-server/src/workflow-tools.test.ts +91 -1
- package/packages/mcp-server/src/workflow-tools.ts +128 -18
- package/packages/mcp-server/tsconfig.tsbuildinfo +1 -1
- package/packages/native/tsconfig.tsbuildinfo +1 -1
- package/packages/pi-agent-core/tsconfig.tsbuildinfo +1 -1
- package/packages/pi-ai/dist/models/capability-patches.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/capability-patches.js +3 -2
- package/packages/pi-ai/dist/models/capability-patches.js.map +1 -1
- package/packages/pi-ai/dist/models/generated/amazon-bedrock.d.ts +68 -0
- package/packages/pi-ai/dist/models/generated/amazon-bedrock.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/generated/amazon-bedrock.js +68 -0
- package/packages/pi-ai/dist/models/generated/amazon-bedrock.js.map +1 -1
- package/packages/pi-ai/dist/models/generated/anthropic.d.ts +17 -0
- package/packages/pi-ai/dist/models/generated/anthropic.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/generated/anthropic.js +17 -0
- package/packages/pi-ai/dist/models/generated/anthropic.js.map +1 -1
- package/packages/pi-ai/dist/models/generated/google-antigravity.d.ts +17 -0
- package/packages/pi-ai/dist/models/generated/google-antigravity.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/generated/google-antigravity.js +17 -0
- package/packages/pi-ai/dist/models/generated/google-antigravity.js.map +1 -1
- package/packages/pi-ai/dist/models/generated/groq.d.ts +0 -153
- package/packages/pi-ai/dist/models/generated/groq.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/generated/groq.js +0 -153
- package/packages/pi-ai/dist/models/generated/groq.js.map +1 -1
- package/packages/pi-ai/dist/models/generated/index.d.ts +136 -153
- package/packages/pi-ai/dist/models/generated/index.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/generated/openai-codex.d.ts +17 -0
- package/packages/pi-ai/dist/models/generated/openai-codex.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/generated/openai-codex.js +17 -0
- package/packages/pi-ai/dist/models/generated/openai-codex.js.map +1 -1
- package/packages/pi-ai/dist/models/generated/openrouter.d.ts +17 -0
- package/packages/pi-ai/dist/models/generated/openrouter.d.ts.map +1 -1
- package/packages/pi-ai/dist/models/generated/openrouter.js +17 -0
- package/packages/pi-ai/dist/models/generated/openrouter.js.map +1 -1
- package/packages/pi-ai/dist/models.generated.test.js +17 -0
- package/packages/pi-ai/dist/models.generated.test.js.map +1 -1
- package/packages/pi-ai/dist/providers/amazon-bedrock.d.ts +22 -1
- package/packages/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
- package/packages/pi-ai/dist/providers/amazon-bedrock.js +40 -6
- package/packages/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
- package/packages/pi-ai/dist/providers/amazon-bedrock.test.d.ts +2 -0
- package/packages/pi-ai/dist/providers/amazon-bedrock.test.d.ts.map +1 -0
- package/packages/pi-ai/dist/providers/amazon-bedrock.test.js +106 -0
- package/packages/pi-ai/dist/providers/amazon-bedrock.test.js.map +1 -0
- package/packages/pi-ai/dist/providers/anthropic-auth.test.js +42 -1
- package/packages/pi-ai/dist/providers/anthropic-auth.test.js.map +1 -1
- package/packages/pi-ai/dist/providers/anthropic-shared.d.ts +20 -1
- package/packages/pi-ai/dist/providers/anthropic-shared.d.ts.map +1 -1
- package/packages/pi-ai/dist/providers/anthropic-shared.js +32 -2
- package/packages/pi-ai/dist/providers/anthropic-shared.js.map +1 -1
- package/packages/pi-ai/dist/providers/anthropic-shared.test.js +12 -1
- package/packages/pi-ai/dist/providers/anthropic-shared.test.js.map +1 -1
- package/packages/pi-ai/dist/providers/anthropic.d.ts +11 -0
- package/packages/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
- package/packages/pi-ai/dist/providers/anthropic.js +18 -1
- package/packages/pi-ai/dist/providers/anthropic.js.map +1 -1
- package/packages/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
- package/packages/pi-ai/dist/utils/oauth/openai-codex.js +12 -0
- package/packages/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
- package/packages/pi-ai/package.json +1 -1
- package/packages/pi-ai/scripts/generate-models.ts +50 -0
- package/packages/pi-ai/src/models/capability-patches.ts +5 -2
- package/packages/pi-ai/src/models/generated/amazon-bedrock.ts +68 -0
- package/packages/pi-ai/src/models/generated/anthropic.ts +17 -0
- package/packages/pi-ai/src/models/generated/google-antigravity.ts +17 -0
- package/packages/pi-ai/src/models/generated/groq.ts +0 -153
- package/packages/pi-ai/src/models/generated/openai-codex.ts +17 -0
- package/packages/pi-ai/src/models/generated/openrouter.ts +17 -0
- package/packages/pi-ai/src/models.generated.test.ts +17 -0
- package/packages/pi-ai/src/providers/amazon-bedrock.test.ts +164 -0
- package/packages/pi-ai/src/providers/amazon-bedrock.ts +41 -7
- package/packages/pi-ai/src/providers/anthropic-auth.test.ts +47 -1
- package/packages/pi-ai/src/providers/anthropic-shared.test.ts +15 -1
- package/packages/pi-ai/src/providers/anthropic-shared.ts +36 -3
- package/packages/pi-ai/src/providers/anthropic.ts +19 -1
- package/packages/pi-ai/src/utils/oauth/openai-codex.ts +15 -0
- package/packages/pi-ai/tsconfig.tsbuildinfo +1 -1
- package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.d.ts +2 -0
- package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js +38 -0
- package/packages/pi-coding-agent/dist/core/agent-session-abort-order.test.js.map +1 -0
- package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +14 -0
- package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/auth-storage.js +34 -0
- package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/auth-storage.test.js +74 -0
- package/packages/pi-coding-agent/dist/core/auth-storage.test.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.js +4 -1
- package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/model-registry-auth-mode.test.js +32 -0
- package/packages/pi-coding-agent/dist/core/model-registry-auth-mode.test.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/core/sdk.js +32 -0
- package/packages/pi-coding-agent/dist/core/sdk.js.map +1 -1
- package/packages/pi-coding-agent/dist/core/skill-tool.test.js +2 -2
- package/packages/pi-coding-agent/dist/core/skill-tool.test.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/chat-frame.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/chat-frame.js +17 -7
- package/packages/pi-coding-agent/dist/modes/interactive/components/chat-frame.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js +48 -34
- package/packages/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.d.ts +4 -0
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js +83 -33
- package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme-schema.d.ts +70 -0
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme-schema.js +77 -0
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme-schema.js.map +1 -0
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts +1 -66
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js +1 -75
- package/packages/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.d.ts +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.d.ts.map +1 -1
- package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.js +192 -24
- package/packages/pi-coding-agent/dist/modes/interactive/theme/themes.js.map +1 -1
- package/packages/pi-coding-agent/src/core/agent-session-abort-order.test.ts +56 -0
- package/packages/pi-coding-agent/src/core/auth-storage.test.ts +83 -0
- package/packages/pi-coding-agent/src/core/auth-storage.ts +35 -0
- package/packages/pi-coding-agent/src/core/chat-controller-ordering.test.ts +4 -1
- package/packages/pi-coding-agent/src/core/model-registry-auth-mode.test.ts +37 -1
- package/packages/pi-coding-agent/src/core/sdk.ts +41 -0
- package/packages/pi-coding-agent/src/core/skill-tool.test.ts +2 -2
- package/packages/pi-coding-agent/src/modes/interactive/components/chat-frame.ts +19 -7
- package/packages/pi-coding-agent/src/modes/interactive/components/footer.ts +53 -31
- package/packages/pi-coding-agent/src/modes/interactive/controllers/chat-controller.ts +88 -36
- package/packages/pi-coding-agent/src/modes/interactive/theme/theme-schema.ts +83 -0
- package/packages/pi-coding-agent/src/modes/interactive/theme/theme.ts +2 -83
- package/packages/pi-coding-agent/src/modes/interactive/theme/themes.ts +208 -27
- package/packages/pi-coding-agent/tsconfig.tsbuildinfo +1 -1
- package/packages/pi-tui/tsconfig.tsbuildinfo +1 -1
- package/packages/rpc-client/tsconfig.tsbuildinfo +1 -1
- package/pkg/dist/modes/interactive/theme/theme-schema.d.ts +70 -0
- package/pkg/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
- package/pkg/dist/modes/interactive/theme/theme-schema.js +77 -0
- package/pkg/dist/modes/interactive/theme/theme-schema.js.map +1 -0
- package/pkg/dist/modes/interactive/theme/theme.d.ts +1 -66
- package/pkg/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/pkg/dist/modes/interactive/theme/theme.js +1 -75
- package/pkg/dist/modes/interactive/theme/theme.js.map +1 -1
- package/pkg/dist/modes/interactive/theme/themes.d.ts +1 -1
- package/pkg/dist/modes/interactive/theme/themes.d.ts.map +1 -1
- package/pkg/dist/modes/interactive/theme/themes.js +192 -24
- package/pkg/dist/modes/interactive/theme/themes.js.map +1 -1
- package/src/resources/extensions/ask-user-questions.ts +24 -6
- package/src/resources/extensions/claude-code-cli/models.ts +9 -0
- package/src/resources/extensions/claude-code-cli/readiness.ts +13 -2
- package/src/resources/extensions/claude-code-cli/stream-adapter.ts +94 -4
- package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +84 -0
- package/src/resources/extensions/gsd/auto/detect-stuck.ts +10 -0
- package/src/resources/extensions/gsd/auto/loop-deps.ts +1 -0
- package/src/resources/extensions/gsd/auto/loop.ts +109 -3
- package/src/resources/extensions/gsd/auto/phases.ts +94 -60
- package/src/resources/extensions/gsd/auto/resolve.ts +1 -1
- package/src/resources/extensions/gsd/auto/run-unit.ts +11 -1
- package/src/resources/extensions/gsd/auto/session.ts +7 -0
- package/src/resources/extensions/gsd/auto-artifact-paths.ts +20 -0
- package/src/resources/extensions/gsd/auto-dashboard.ts +21 -4
- package/src/resources/extensions/gsd/auto-dispatch.ts +123 -5
- package/src/resources/extensions/gsd/auto-loop.ts +1 -1
- package/src/resources/extensions/gsd/auto-model-selection.ts +14 -3
- package/src/resources/extensions/gsd/auto-post-unit.ts +10 -8
- package/src/resources/extensions/gsd/auto-prompts.ts +201 -40
- package/src/resources/extensions/gsd/auto-recovery.ts +63 -1
- package/src/resources/extensions/gsd/auto-start.ts +8 -6
- package/src/resources/extensions/gsd/auto-verification.ts +3 -3
- package/src/resources/extensions/gsd/auto-worktree.ts +65 -0
- package/src/resources/extensions/gsd/auto.ts +61 -28
- package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +8 -21
- package/src/resources/extensions/gsd/bootstrap/db-tools.ts +46 -24
- package/src/resources/extensions/gsd/bootstrap/memory-tools.ts +158 -0
- package/src/resources/extensions/gsd/bootstrap/query-tools.ts +31 -0
- package/src/resources/extensions/gsd/bootstrap/register-extension.ts +2 -0
- package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +22 -0
- package/src/resources/extensions/gsd/bootstrap/system-context.ts +20 -4
- package/src/resources/extensions/gsd/commands/catalog.ts +74 -9
- package/src/resources/extensions/gsd/commands/handlers/core.ts +69 -27
- package/src/resources/extensions/gsd/commands/handlers/escalate.ts +216 -0
- package/src/resources/extensions/gsd/commands/handlers/onboarding.ts +196 -0
- package/src/resources/extensions/gsd/commands/handlers/ops.ts +21 -0
- package/src/resources/extensions/gsd/commands/handlers/workflow.ts +279 -29
- package/src/resources/extensions/gsd/commands-cmux.ts +6 -2
- package/src/resources/extensions/gsd/commands-config.ts +10 -0
- package/src/resources/extensions/gsd/commands-debug.ts +484 -0
- package/src/resources/extensions/gsd/commands-do.ts +1 -0
- package/src/resources/extensions/gsd/commands-extract-learnings.ts +295 -76
- package/src/resources/extensions/gsd/commands-handlers.ts +19 -2
- package/src/resources/extensions/gsd/commands-memory.ts +551 -0
- package/src/resources/extensions/gsd/commands-prefs-wizard.ts +49 -12
- package/src/resources/extensions/gsd/commands-scan.ts +125 -0
- package/src/resources/extensions/gsd/commands-workflow-templates.ts +129 -2
- package/src/resources/extensions/gsd/custom-workflow-engine.ts +85 -60
- package/src/resources/extensions/gsd/db-writer.ts +3 -0
- package/src/resources/extensions/gsd/debug-session-store.ts +377 -0
- package/src/resources/extensions/gsd/definition-loader.ts +7 -0
- package/src/resources/extensions/gsd/docs/preferences-reference.md +9 -9
- package/src/resources/extensions/gsd/doctor-environment.ts +2 -1
- package/src/resources/extensions/gsd/doctor-git-checks.ts +5 -1
- package/src/resources/extensions/gsd/doctor-proactive.ts +4 -1
- package/src/resources/extensions/gsd/doctor-providers.ts +52 -22
- package/src/resources/extensions/gsd/doctor-runtime-checks.ts +23 -4
- package/src/resources/extensions/gsd/doctor-types.ts +1 -0
- package/src/resources/extensions/gsd/doctor.ts +7 -1
- package/src/resources/extensions/gsd/error-classifier.ts +6 -3
- package/src/resources/extensions/gsd/escalation.ts +367 -0
- package/src/resources/extensions/gsd/forensics.ts +25 -29
- package/src/resources/extensions/gsd/git-service.ts +0 -1
- package/src/resources/extensions/gsd/graph.ts +33 -3
- package/src/resources/extensions/gsd/gsd-db.ts +578 -32
- package/src/resources/extensions/gsd/health-widget-core.ts +43 -14
- package/src/resources/extensions/gsd/health-widget.ts +7 -3
- package/src/resources/extensions/gsd/init-wizard.ts +87 -54
- package/src/resources/extensions/gsd/markdown-renderer.ts +5 -5
- package/src/resources/extensions/gsd/memory-embeddings.ts +235 -0
- package/src/resources/extensions/gsd/memory-extractor.ts +100 -34
- package/src/resources/extensions/gsd/memory-ingest.ts +286 -0
- package/src/resources/extensions/gsd/memory-relations.ts +240 -0
- package/src/resources/extensions/gsd/memory-source-store.ts +138 -0
- package/src/resources/extensions/gsd/memory-store.ts +351 -7
- package/src/resources/extensions/gsd/metrics.ts +1 -0
- package/src/resources/extensions/gsd/model-cost-table.ts +3 -1
- package/src/resources/extensions/gsd/model-router.ts +25 -6
- package/src/resources/extensions/gsd/native-git-bridge.ts +134 -6
- package/src/resources/extensions/gsd/notification-overlay.ts +9 -19
- package/src/resources/extensions/gsd/notification-widget.ts +25 -43
- package/src/resources/extensions/gsd/notifications.ts +6 -0
- package/src/resources/extensions/gsd/onboarding-state.ts +146 -0
- package/src/resources/extensions/gsd/post-execution-checks.ts +37 -14
- package/src/resources/extensions/gsd/pre-execution-checks.ts +98 -8
- package/src/resources/extensions/gsd/preferences-models.ts +1 -0
- package/src/resources/extensions/gsd/preferences-types.ts +10 -2
- package/src/resources/extensions/gsd/preferences-validation.ts +33 -7
- package/src/resources/extensions/gsd/preferences.ts +10 -10
- package/src/resources/extensions/gsd/prompts/complete-milestone.md +4 -1
- package/src/resources/extensions/gsd/prompts/debug-diagnose.md +25 -0
- package/src/resources/extensions/gsd/prompts/debug-session-manager.md +80 -0
- package/src/resources/extensions/gsd/prompts/execute-task.md +12 -0
- package/src/resources/extensions/gsd/prompts/plan-milestone.md +12 -0
- package/src/resources/extensions/gsd/prompts/refine-slice.md +69 -0
- package/src/resources/extensions/gsd/prompts/scan.md +79 -0
- package/src/resources/extensions/gsd/prompts/workflow-oneshot.md +26 -0
- package/src/resources/extensions/gsd/python-resolver.ts +76 -0
- package/src/resources/extensions/gsd/run-manager.ts +53 -19
- package/src/resources/extensions/gsd/setup-catalog.ts +105 -0
- package/src/resources/extensions/gsd/state.ts +50 -2
- package/src/resources/extensions/gsd/templates/PREFERENCES.md +7 -7
- package/src/resources/extensions/gsd/tests/agent-end-retry.test.ts +1 -34
- package/src/resources/extensions/gsd/tests/artifact-corruption-2630.test.ts +7 -0
- package/src/resources/extensions/gsd/tests/auto-loop.test.ts +45 -31
- package/src/resources/extensions/gsd/tests/auto-migrating-recovery.test.ts +63 -0
- package/src/resources/extensions/gsd/tests/auto-model-selection.test.ts +12 -0
- package/src/resources/extensions/gsd/tests/auto-prompts-fallback.test.ts +35 -0
- package/src/resources/extensions/gsd/tests/auto-recovery.test.ts +123 -1
- package/src/resources/extensions/gsd/tests/auto-wrapup-inflight-guard.test.ts +39 -0
- package/src/resources/extensions/gsd/tests/autocomplete-regressions-1675.test.ts +39 -0
- package/src/resources/extensions/gsd/tests/commands-do.test.ts +48 -0
- package/src/resources/extensions/gsd/tests/commands-extract-learnings.test.ts +333 -21
- package/src/resources/extensions/gsd/tests/commands-scan.test.ts +351 -0
- package/src/resources/extensions/gsd/tests/commands-workflow-custom.test.ts +8 -6
- package/src/resources/extensions/gsd/tests/complete-slice.test.ts +6 -8
- package/src/resources/extensions/gsd/tests/complete-task.test.ts +2 -2
- package/src/resources/extensions/gsd/tests/custom-workflow-engine.test.ts +63 -0
- package/src/resources/extensions/gsd/tests/debug-command-handler.test.ts +905 -0
- package/src/resources/extensions/gsd/tests/debug-command-lifecycle.integration.test.ts +1229 -0
- package/src/resources/extensions/gsd/tests/debug-session-store.test.ts +565 -0
- package/src/resources/extensions/gsd/tests/discuss-milestone-structured-questions.test.ts +64 -0
- package/src/resources/extensions/gsd/tests/dispatch-complete-milestone-guard.test.ts +67 -0
- package/src/resources/extensions/gsd/tests/doctor-providers.test.ts +62 -18
- package/src/resources/extensions/gsd/tests/enhanced-verification-integration.test.ts +5 -0
- package/src/resources/extensions/gsd/tests/escalation.test.ts +818 -0
- package/src/resources/extensions/gsd/tests/finalize-timeout-guard.test.ts +29 -12
- package/src/resources/extensions/gsd/tests/flat-rate-routing-guard.test.ts +106 -0
- package/src/resources/extensions/gsd/tests/forensics-hook-key-parse.test.ts +74 -0
- package/src/resources/extensions/gsd/tests/graph-operations.test.ts +0 -4
- package/src/resources/extensions/gsd/tests/gsd-db.test.ts +44 -1
- package/src/resources/extensions/gsd/tests/health-widget.test.ts +8 -2
- package/src/resources/extensions/gsd/tests/init-prefs-routing.test.ts +190 -0
- package/src/resources/extensions/gsd/tests/integration/doctor-git.test.ts +39 -0
- package/src/resources/extensions/gsd/tests/integration/doctor-proactive.test.ts +44 -0
- package/src/resources/extensions/gsd/tests/integration/doctor-runtime.test.ts +68 -1
- package/src/resources/extensions/gsd/tests/integration/git-service.test.ts +109 -11
- package/src/resources/extensions/gsd/tests/integration/idle-recovery.test.ts +51 -0
- package/src/resources/extensions/gsd/tests/integration/integration-proof.test.ts +2 -2
- package/src/resources/extensions/gsd/tests/integration/test-isolation.ts +53 -0
- package/src/resources/extensions/gsd/tests/journal-integration.test.ts +171 -1
- package/src/resources/extensions/gsd/tests/md-importer.test.ts +1 -1
- package/src/resources/extensions/gsd/tests/memory-embeddings.test.ts +213 -0
- package/src/resources/extensions/gsd/tests/memory-ingest.test.ts +153 -0
- package/src/resources/extensions/gsd/tests/memory-maintenance.test.ts +107 -0
- package/src/resources/extensions/gsd/tests/memory-relations.test.ts +175 -0
- package/src/resources/extensions/gsd/tests/memory-store.test.ts +2 -2
- package/src/resources/extensions/gsd/tests/memory-tools.test.ts +295 -0
- package/src/resources/extensions/gsd/tests/milestone-status-tool.test.ts +3 -2
- package/src/resources/extensions/gsd/tests/model-cost-table.test.ts +2 -2
- package/src/resources/extensions/gsd/tests/model-router.test.ts +51 -1
- package/src/resources/extensions/gsd/tests/model-unittype-mapping.test.ts +59 -0
- package/src/resources/extensions/gsd/tests/notification-overlay.test.ts +56 -37
- package/src/resources/extensions/gsd/tests/notification-widget.test.ts +1 -1
- package/src/resources/extensions/gsd/tests/onboarding-state.test.ts +105 -0
- package/src/resources/extensions/gsd/tests/plan-milestone-boundary-map-preservation.test.ts +114 -0
- package/src/resources/extensions/gsd/tests/plan-milestone.test.ts +4 -5
- package/src/resources/extensions/gsd/tests/plan-slice.test.ts +17 -0
- package/src/resources/extensions/gsd/tests/post-execution-checks.test.ts +105 -1
- package/src/resources/extensions/gsd/tests/pre-execution-checks.test.ts +275 -6
- package/src/resources/extensions/gsd/tests/preferences.test.ts +69 -1
- package/src/resources/extensions/gsd/tests/progressive-planning.test.ts +539 -0
- package/src/resources/extensions/gsd/tests/projection-no-plan-overwrite.test.ts +11 -2
- package/src/resources/extensions/gsd/tests/projection-regression.test.ts +7 -0
- package/src/resources/extensions/gsd/tests/prompt-budget-enforcement.test.ts +27 -0
- package/src/resources/extensions/gsd/tests/prompt-contracts.test.ts +24 -0
- package/src/resources/extensions/gsd/tests/prompt-db.test.ts +1 -1
- package/src/resources/extensions/gsd/tests/provider-errors.test.ts +33 -0
- package/src/resources/extensions/gsd/tests/python-resolver.test.ts +131 -0
- package/src/resources/extensions/gsd/tests/register-hooks-depth-verification.test.ts +67 -0
- package/src/resources/extensions/gsd/tests/remote-notification-from-desktop.test.ts +107 -0
- package/src/resources/extensions/gsd/tests/requirements.test.ts +9 -0
- package/src/resources/extensions/gsd/tests/session-start-footer.test.ts +153 -0
- package/src/resources/extensions/gsd/tests/skip-slice-cascades-tasks.test.ts +125 -0
- package/src/resources/extensions/gsd/tests/slice-context-injection.test.ts +16 -4
- package/src/resources/extensions/gsd/tests/state-corruption-2945.test.ts +3 -0
- package/src/resources/extensions/gsd/tests/stuck-detection-coverage.test.ts +15 -0
- package/src/resources/extensions/gsd/tests/summary-render-parity.test.ts +5 -0
- package/src/resources/extensions/gsd/tests/uok-contracts.test.ts +2 -1
- package/src/resources/extensions/gsd/tests/uok-flags.test.ts +31 -1
- package/src/resources/extensions/gsd/tests/uok-kernel-path.test.ts +166 -0
- package/src/resources/extensions/gsd/tests/verification-gate.test.ts +35 -0
- package/src/resources/extensions/gsd/tests/workflow-install.test.ts +113 -0
- package/src/resources/extensions/gsd/tests/workflow-logger-wiring.test.ts +15 -6
- package/src/resources/extensions/gsd/tests/workflow-mcp.test.ts +2 -2
- package/src/resources/extensions/gsd/tests/workflow-plugins.test.ts +310 -0
- package/src/resources/extensions/gsd/tests/workflow-projections.test.ts +7 -0
- package/src/resources/extensions/gsd/tests/workflow-templates.test.ts +8 -2
- package/src/resources/extensions/gsd/tests/worktree-journal-events.test.ts +2 -1
- package/src/resources/extensions/gsd/tests/worktree-resolver.test.ts +77 -2
- package/src/resources/extensions/gsd/tools/complete-task.ts +87 -0
- package/src/resources/extensions/gsd/tools/memory-tools.ts +380 -0
- package/src/resources/extensions/gsd/tools/plan-milestone.ts +42 -8
- package/src/resources/extensions/gsd/tools/plan-slice.ts +6 -1
- package/src/resources/extensions/gsd/tools/skip-slice.ts +133 -0
- package/src/resources/extensions/gsd/types.ts +62 -0
- package/src/resources/extensions/gsd/unit-runtime.ts +1 -0
- package/src/resources/extensions/gsd/uok/contracts.ts +2 -1
- package/src/resources/extensions/gsd/uok/flags.ts +7 -7
- package/src/resources/extensions/gsd/uok/kernel.ts +16 -4
- package/src/resources/extensions/gsd/verification-gate.ts +2 -1
- package/src/resources/extensions/gsd/workflow-dispatch.ts +106 -0
- package/src/resources/extensions/gsd/workflow-install.ts +423 -0
- package/src/resources/extensions/gsd/workflow-logger.ts +3 -1
- package/src/resources/extensions/gsd/workflow-manifest.ts +8 -0
- package/src/resources/extensions/gsd/workflow-mcp.ts +1 -6
- package/src/resources/extensions/gsd/workflow-plugins.ts +403 -0
- package/src/resources/extensions/gsd/workflow-projections.ts +18 -16
- package/src/resources/extensions/gsd/workflow-templates/accessibility-audit.md +88 -0
- package/src/resources/extensions/gsd/workflow-templates/api-breaking-change.md +117 -0
- package/src/resources/extensions/gsd/workflow-templates/bugfix.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/changelog-gen.md +82 -0
- package/src/resources/extensions/gsd/workflow-templates/ci-bootstrap.md +144 -0
- package/src/resources/extensions/gsd/workflow-templates/dead-code.md +81 -0
- package/src/resources/extensions/gsd/workflow-templates/dep-upgrade.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/docs-sync.yaml +76 -0
- package/src/resources/extensions/gsd/workflow-templates/env-audit.yaml +88 -0
- package/src/resources/extensions/gsd/workflow-templates/full-project.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/hotfix.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/issue-triage.md +84 -0
- package/src/resources/extensions/gsd/workflow-templates/observability-setup.md +133 -0
- package/src/resources/extensions/gsd/workflow-templates/onboarding-check.md +74 -0
- package/src/resources/extensions/gsd/workflow-templates/performance-audit.md +125 -0
- package/src/resources/extensions/gsd/workflow-templates/pr-review.md +67 -0
- package/src/resources/extensions/gsd/workflow-templates/pr-triage.md +83 -0
- package/src/resources/extensions/gsd/workflow-templates/refactor.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/registry.json +184 -0
- package/src/resources/extensions/gsd/workflow-templates/release.md +118 -0
- package/src/resources/extensions/gsd/workflow-templates/rename-symbol.yaml +99 -0
- package/src/resources/extensions/gsd/workflow-templates/security-audit.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/small-feature.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/spike.md +1 -0
- package/src/resources/extensions/gsd/workflow-templates/test-backfill.yaml +73 -0
- package/src/resources/extensions/gsd/workflow-templates.ts +7 -0
- package/src/resources/extensions/gsd/workspace-index.ts +9 -4
- package/src/resources/extensions/gsd/worktree-resolver.ts +47 -1
- package/src/resources/extensions/remote-questions/commands.ts +480 -0
- package/src/resources/extensions/remote-questions/manager.ts +49 -4
- package/src/resources/extensions/remote-questions/telegram-adapter.ts +86 -4
- package/src/resources/extensions/remote-questions/tests/command-polling.test.ts +246 -0
- package/src/resources/extensions/remote-questions/tests/remote-answer-normalization.test.ts +92 -0
- package/src/resources/extensions/remote-questions/tests/telegram-commands.test.ts +267 -0
- package/src/resources/extensions/shared/interview-ui.ts +195 -1
- package/src/resources/extensions/shared/layout-utils.ts +26 -0
- package/src/resources/extensions/shared/rtk-shared.ts +58 -0
- package/src/resources/extensions/shared/rtk.ts +12 -52
- package/src/resources/extensions/shared/tests/interview-preview.test.ts +177 -0
- package/src/resources/extensions/shared/tests/preview-layout.test.ts +120 -0
- package/src/resources/skills/create-workflow/SKILL.md +33 -6
- package/dist/web/standalone/.next/static/chunks/2826.dd3dc8bbd3025fa5.js +0 -9
- package/dist/web/standalone/.next/static/css/f6e8833d46e738d8.css +0 -1
- package/packages/native/dist/ps/types.d.ts +0 -5
- package/packages/native/dist/ps/types.js +0 -2
- package/packages/native/src/ps/types.ts +0 -5
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/LICENSE +0 -201
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/README.md +0 -9
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-cjs/index.js +0 -762
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +0 -19
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/constants.js +0 -1
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +0 -9
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/index.js +0 -3
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +0 -230
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +0 -87
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +0 -32
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +0 -169
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +0 -21
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +0 -88
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +0 -36
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js +0 -21
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js +0 -22
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +0 -23
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +0 -8
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +0 -41
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +0 -21
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/timing.js +0 -4
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +0 -63
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +0 -10
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/constants.d.ts +0 -5
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +0 -4
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +0 -3
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +0 -46
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +0 -24
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +0 -12
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +0 -63
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +0 -13
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/server.mock.d.ts +0 -12
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +0 -2
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +0 -6
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +0 -6
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +0 -2
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -5
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +0 -6
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +0 -13
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +0 -8
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +0 -10
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/constants.d.ts +0 -5
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +0 -4
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/index.d.ts +0 -3
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +0 -46
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +0 -24
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +0 -12
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +0 -63
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +0 -13
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/server.mock.d.ts +0 -12
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +0 -2
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +0 -6
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +0 -6
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +0 -2
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +0 -5
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/index.d.ts +0 -6
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +0 -13
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +0 -8
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +0 -12
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +0 -12
- package/packages/pi-ai/node_modules/@smithy/node-http-handler/package.json +0 -68
- package/packages/pi-ai/oauth.d.ts +0 -1
- package/packages/pi-ai/oauth.js +0 -1
- /package/dist/web/standalone/.next/static/{j7IBD35UgrL2b298GLK3V → o61X3klsB6C0UE0X1x3PA}/_buildManifest.js +0 -0
- /package/dist/web/standalone/.next/static/{j7IBD35UgrL2b298GLK3V → o61X3klsB6C0UE0X1x3PA}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Changelog Generator
|
|
2
|
+
|
|
3
|
+
<template_meta>
|
|
4
|
+
name: changelog-gen
|
|
5
|
+
version: 1
|
|
6
|
+
mode: oneshot
|
|
7
|
+
requires_project: false
|
|
8
|
+
artifact_dir: null
|
|
9
|
+
</template_meta>
|
|
10
|
+
|
|
11
|
+
<purpose>
|
|
12
|
+
Generate a CHANGELOG entry (or release notes draft) from git commits since the
|
|
13
|
+
last release tag. Categorizes by type, follows Keep a Changelog format, and
|
|
14
|
+
writes to `CHANGELOG.md` (or prints if the user prefers).
|
|
15
|
+
</purpose>
|
|
16
|
+
|
|
17
|
+
<instructions>
|
|
18
|
+
|
|
19
|
+
## 1. Locate the range
|
|
20
|
+
|
|
21
|
+
- Find the last release tag: `git describe --tags --abbrev=0` (fall back to
|
|
22
|
+
the first commit if no tags exist).
|
|
23
|
+
- Gather commits: `git log <last_tag>..HEAD --oneline --no-merges`.
|
|
24
|
+
- If zero commits, say "No changes since <tag>" and stop.
|
|
25
|
+
|
|
26
|
+
## 2. Categorize each commit
|
|
27
|
+
|
|
28
|
+
Use the conventional-commit prefix when present:
|
|
29
|
+
|
|
30
|
+
| Prefix | Category |
|
|
31
|
+
| --------------------------- | --------------- |
|
|
32
|
+
| `feat:` / `feature:` | Added |
|
|
33
|
+
| `fix:` / `bugfix:` | Fixed |
|
|
34
|
+
| `refactor:` | Changed |
|
|
35
|
+
| `docs:` | Docs |
|
|
36
|
+
| `chore:` / `ci:` / `build:` | Maintenance |
|
|
37
|
+
| `perf:` | Performance |
|
|
38
|
+
| `BREAKING CHANGE` footer | Breaking |
|
|
39
|
+
|
|
40
|
+
For commits without a prefix, infer the category from the subject line.
|
|
41
|
+
|
|
42
|
+
## 3. Produce the entry
|
|
43
|
+
|
|
44
|
+
Format using Keep a Changelog v1.1 conventions:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
## [Unreleased] - YYYY-MM-DD
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
- <user-visible description> (#PR / commit sha)
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
- …
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
- …
|
|
57
|
+
|
|
58
|
+
### Breaking
|
|
59
|
+
- …
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
- Prefer user-visible descriptions over commit-log verbatim.
|
|
63
|
+
- Group breaking changes FIRST when present, even though the section appears later.
|
|
64
|
+
- Omit empty sections.
|
|
65
|
+
|
|
66
|
+
## 4. Write or print
|
|
67
|
+
|
|
68
|
+
- If `CHANGELOG.md` exists, insert the new entry **after** the top-level
|
|
69
|
+
heading and before any existing `## [x.y.z]` entries. Do NOT touch prior
|
|
70
|
+
releases.
|
|
71
|
+
- If it doesn't exist, create one with the standard Keep a Changelog header.
|
|
72
|
+
- If the user's arguments include `--print`, print to the chat only — don't
|
|
73
|
+
write the file.
|
|
74
|
+
|
|
75
|
+
## 5. Report
|
|
76
|
+
|
|
77
|
+
End with:
|
|
78
|
+
- the file path (or "printed, not written"),
|
|
79
|
+
- the commit range used,
|
|
80
|
+
- the number of commits processed per category.
|
|
81
|
+
|
|
82
|
+
</instructions>
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# CI Bootstrap Workflow
|
|
2
|
+
|
|
3
|
+
<template_meta>
|
|
4
|
+
name: ci-bootstrap
|
|
5
|
+
version: 1
|
|
6
|
+
mode: markdown-phase
|
|
7
|
+
requires_project: false
|
|
8
|
+
artifact_dir: .gsd/workflows/ci/
|
|
9
|
+
</template_meta>
|
|
10
|
+
|
|
11
|
+
<purpose>
|
|
12
|
+
Set up continuous integration for a project that has none (or needs a rewrite).
|
|
13
|
+
Picks a provider, builds a minimal working pipeline, and incrementally adds
|
|
14
|
+
lint / test / build / deploy stages. Goal: green CI on the first PR after
|
|
15
|
+
bootstrap, not a 2000-line yaml no one will maintain.
|
|
16
|
+
</purpose>
|
|
17
|
+
|
|
18
|
+
<phases>
|
|
19
|
+
1. discover — Understand the stack and what "passing" means today
|
|
20
|
+
2. design — Choose provider + plan the pipeline
|
|
21
|
+
3. implement — Land the config, fix local failures so CI passes
|
|
22
|
+
4. verify — Confirm the pipeline catches regressions
|
|
23
|
+
</phases>
|
|
24
|
+
|
|
25
|
+
<process>
|
|
26
|
+
|
|
27
|
+
## Phase 1: Discover
|
|
28
|
+
|
|
29
|
+
**Goal:** Know what to automate.
|
|
30
|
+
|
|
31
|
+
1. **Detect the stack:**
|
|
32
|
+
- Primary language(s) and version(s) — check `package.json`, `pyproject.toml`,
|
|
33
|
+
`go.mod`, `Cargo.toml`, `.tool-versions`, `.nvmrc`.
|
|
34
|
+
- Package manager (npm / pnpm / yarn / pip / poetry / cargo / go).
|
|
35
|
+
- Test runner(s).
|
|
36
|
+
- Linter(s) / formatter(s).
|
|
37
|
+
- Build tool(s).
|
|
38
|
+
|
|
39
|
+
2. **Run each check locally and record:**
|
|
40
|
+
- `<install command>` — does it complete?
|
|
41
|
+
- `<lint command>` — does it pass? How many warnings/errors?
|
|
42
|
+
- `<test command>` — does it pass? What's the duration?
|
|
43
|
+
- `<build command>` — does it pass? What's the output?
|
|
44
|
+
|
|
45
|
+
If any fails locally, CI will fail too. Record the failures honestly —
|
|
46
|
+
we'll triage in Phase 2.
|
|
47
|
+
|
|
48
|
+
3. **Check existing CI config:**
|
|
49
|
+
- `.github/workflows/`, `.circleci/`, `.gitlab-ci.yml`, `azure-pipelines.yml`.
|
|
50
|
+
- Is something already there but disabled / broken?
|
|
51
|
+
|
|
52
|
+
4. **Write `DISCOVERY.md`:**
|
|
53
|
+
- Stack summary.
|
|
54
|
+
- Current local-check status (pass/fail per step).
|
|
55
|
+
- Existing CI state.
|
|
56
|
+
- Constraints: open-source (free minutes matter), private, self-hosted?
|
|
57
|
+
|
|
58
|
+
5. **Gate:** Confirm the discovery before spending time on CI config.
|
|
59
|
+
|
|
60
|
+
## Phase 2: Design
|
|
61
|
+
|
|
62
|
+
**Goal:** Pick a provider and shape the minimal viable pipeline.
|
|
63
|
+
|
|
64
|
+
1. **Choose a provider.** Default to **GitHub Actions** if the repo is on
|
|
65
|
+
GitHub — it's the most portable and well-documented. Alternatives:
|
|
66
|
+
- GitLab CI for GitLab-hosted repos.
|
|
67
|
+
- CircleCI for existing infra / orb reuse.
|
|
68
|
+
- Ask before picking something else.
|
|
69
|
+
|
|
70
|
+
2. **Plan the pipeline stages**:
|
|
71
|
+
- `install` — cache-friendly dependency install.
|
|
72
|
+
- `lint` — run linters (non-blocking? or blocking?).
|
|
73
|
+
- `test` — run tests (parallelize if the suite is slow).
|
|
74
|
+
- `build` — run the build (only if it produces a required artifact).
|
|
75
|
+
- `deploy` — optional, usually a later phase.
|
|
76
|
+
|
|
77
|
+
3. **Decide triggers:**
|
|
78
|
+
- Pull requests to `main` — always.
|
|
79
|
+
- Pushes to `main` — yes, for post-merge verification.
|
|
80
|
+
- Nightly / cron — only if the project has flakes that need monitoring.
|
|
81
|
+
|
|
82
|
+
4. **Plan caching** — this is what makes CI fast:
|
|
83
|
+
- Package manager caches (`node_modules`, `.venv`, `~/.cargo`).
|
|
84
|
+
- Build output caches (turborepo, bazel, etc.) if the project uses them.
|
|
85
|
+
|
|
86
|
+
5. **Write `PLAN.md`:**
|
|
87
|
+
- Provider.
|
|
88
|
+
- Pipeline YAML sketch (high-level, not final).
|
|
89
|
+
- Jobs + their dependencies.
|
|
90
|
+
- Expected first-run duration (estimate).
|
|
91
|
+
|
|
92
|
+
6. **Gate:** Confirm the plan. Scope creep on CI is very real.
|
|
93
|
+
|
|
94
|
+
## Phase 3: Implement
|
|
95
|
+
|
|
96
|
+
**Goal:** Land a green pipeline.
|
|
97
|
+
|
|
98
|
+
1. **Write the CI config** — single file in the correct location.
|
|
99
|
+
- Use the latest stable syntax.
|
|
100
|
+
- Pin action versions by tag (`actions/checkout@v4`), not `latest`.
|
|
101
|
+
- Keep to one matrix axis unless there's a strong reason.
|
|
102
|
+
|
|
103
|
+
2. **Triage local failures first.** If Phase 1 surfaced lint or test
|
|
104
|
+
failures, either fix them now or explicitly mark them as
|
|
105
|
+
`continue-on-error` (document why).
|
|
106
|
+
|
|
107
|
+
3. **Iterate locally** using `act` for GitHub Actions if available, or push
|
|
108
|
+
to a feature branch and watch the run.
|
|
109
|
+
|
|
110
|
+
4. **Commit atomically:**
|
|
111
|
+
```
|
|
112
|
+
ci: add GitHub Actions pipeline (lint, test, build)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
5. **Append notes to `IMPL.md`** — gotchas, action version picks, caching
|
|
116
|
+
decisions, any YAML tricks.
|
|
117
|
+
|
|
118
|
+
## Phase 4: Verify
|
|
119
|
+
|
|
120
|
+
**Goal:** Prove the pipeline catches what it should.
|
|
121
|
+
|
|
122
|
+
1. **Green on main** — the pipeline must pass on the current `main`.
|
|
123
|
+
|
|
124
|
+
2. **Red on a broken PR** — open a test PR that:
|
|
125
|
+
- Introduces a lint violation.
|
|
126
|
+
- Breaks a test.
|
|
127
|
+
- Breaks the build.
|
|
128
|
+
Confirm CI catches each one, then revert.
|
|
129
|
+
|
|
130
|
+
3. **Check the timing** — total duration should be acceptable. If it's >15
|
|
131
|
+
min for a small project, look at caching and parallelization.
|
|
132
|
+
|
|
133
|
+
4. **Document for contributors** — `CONTRIBUTING.md` (or equivalent):
|
|
134
|
+
- How to run each check locally.
|
|
135
|
+
- What the CI does.
|
|
136
|
+
- How to debug a red build.
|
|
137
|
+
|
|
138
|
+
5. **Gate:** Final demo. Show the user:
|
|
139
|
+
- A green run on main.
|
|
140
|
+
- A red run on a deliberately-broken branch.
|
|
141
|
+
- The timing.
|
|
142
|
+
- The docs.
|
|
143
|
+
|
|
144
|
+
</process>
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Dead Code Finder
|
|
2
|
+
|
|
3
|
+
<template_meta>
|
|
4
|
+
name: dead-code
|
|
5
|
+
version: 1
|
|
6
|
+
mode: oneshot
|
|
7
|
+
requires_project: false
|
|
8
|
+
artifact_dir: null
|
|
9
|
+
</template_meta>
|
|
10
|
+
|
|
11
|
+
<purpose>
|
|
12
|
+
Find functions, files, and exports that appear unused. Report them with
|
|
13
|
+
evidence. **Do not delete anything** — the human decides what's safe to remove.
|
|
14
|
+
</purpose>
|
|
15
|
+
|
|
16
|
+
<instructions>
|
|
17
|
+
|
|
18
|
+
## 1. Identify the language & toolchain
|
|
19
|
+
|
|
20
|
+
Inspect the repo root to determine the primary language. Based on that, pick
|
|
21
|
+
the appropriate tooling:
|
|
22
|
+
|
|
23
|
+
| Language | Tool(s) |
|
|
24
|
+
| --------------- | ------------------------------------------------------- |
|
|
25
|
+
| TypeScript / JS | `ts-unused-exports`, `knip`, or manual `grep` fallback |
|
|
26
|
+
| Python | `vulture` |
|
|
27
|
+
| Go | `staticcheck` + manual dead-code detection |
|
|
28
|
+
| Rust | `cargo +nightly udeps`, `cargo-machete` |
|
|
29
|
+
| Other | language-appropriate tool or manual symbol search |
|
|
30
|
+
|
|
31
|
+
If a suitable tool is installed in the project, use it. Otherwise fall back to
|
|
32
|
+
a systematic manual search (see step 3).
|
|
33
|
+
|
|
34
|
+
## 2. Scan for candidates
|
|
35
|
+
|
|
36
|
+
Look for four kinds of dead code:
|
|
37
|
+
1. **Unused exports** — exports no other file imports.
|
|
38
|
+
2. **Unused files** — files imported by nothing (and not an entry point).
|
|
39
|
+
3. **Dead branches** — functions that are reachable but have branches that
|
|
40
|
+
can never execute given the call sites.
|
|
41
|
+
4. **Unused dependencies** — packages in `package.json` / `pyproject.toml`
|
|
42
|
+
that aren't imported anywhere.
|
|
43
|
+
|
|
44
|
+
## 3. Verify each candidate
|
|
45
|
+
|
|
46
|
+
Dead-code tools are noisy. Before reporting anything, manually confirm by:
|
|
47
|
+
- Searching for the symbol name across the repo (`grep -r` or `rg`).
|
|
48
|
+
- Checking build configs (webpack, vite, rollup) for dynamic imports.
|
|
49
|
+
- Checking test configs for fixtures or test-only code.
|
|
50
|
+
- Checking for usage in templates, strings, or dynamic accessors (these
|
|
51
|
+
often trip tools).
|
|
52
|
+
|
|
53
|
+
If a symbol is only referenced in a test, distinguish:
|
|
54
|
+
- Real dead code: test exists but production never calls it.
|
|
55
|
+
- Test-only helper: legitimate — not dead.
|
|
56
|
+
|
|
57
|
+
## 4. Bucket by confidence
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
## High confidence (safe to remove)
|
|
61
|
+
- file path:line — symbol / file
|
|
62
|
+
Evidence: <why you're sure — zero refs, no dynamic import candidates, etc.>
|
|
63
|
+
|
|
64
|
+
## Medium confidence (check with author)
|
|
65
|
+
- file path:line — symbol
|
|
66
|
+
Evidence: <only referenced in one unclear place, or dynamic-import-lookalike>
|
|
67
|
+
|
|
68
|
+
## Low confidence (ignore unless suspicious)
|
|
69
|
+
- file path:line
|
|
70
|
+
Reason: <looks dead but could be a public API, plugin surface, etc.>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## 5. Don't delete
|
|
74
|
+
|
|
75
|
+
End with:
|
|
76
|
+
> To remove high-confidence items, run `/gsd workflow refactor "remove dead code"`
|
|
77
|
+
> and pass the list above as context.
|
|
78
|
+
|
|
79
|
+
The user decides. Do **not** delete files, `git rm`, or open a PR.
|
|
80
|
+
|
|
81
|
+
</instructions>
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Docs Sync workflow — mode: yaml-step
|
|
2
|
+
#
|
|
3
|
+
# Iterate over undocumented public exports, write JSDoc / TSDoc / equivalent
|
|
4
|
+
# for each, and verify the docs stay coherent with the code.
|
|
5
|
+
|
|
6
|
+
version: 1
|
|
7
|
+
name: docs-sync
|
|
8
|
+
mode: yaml-step
|
|
9
|
+
description: >-
|
|
10
|
+
Find undocumented public exports across the source tree, write
|
|
11
|
+
per-symbol documentation, and produce a summary of what changed.
|
|
12
|
+
|
|
13
|
+
params:
|
|
14
|
+
src_glob: "src/**/*.ts"
|
|
15
|
+
doc_style: "TSDoc"
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- id: inventory
|
|
19
|
+
name: Inventory undocumented exports
|
|
20
|
+
prompt: >-
|
|
21
|
+
Scan {{src_glob}} for exported symbols (functions, classes, types,
|
|
22
|
+
constants) that lack a leading doc comment. Write one line per
|
|
23
|
+
undocumented export:
|
|
24
|
+
|
|
25
|
+
- <file_path>::<symbol_name> — <symbol kind>
|
|
26
|
+
|
|
27
|
+
Skip internal helpers, private exports, and generated code. If
|
|
28
|
+
everything is already documented, write "all documented" and no
|
|
29
|
+
list items. Save to `undocumented.md`.
|
|
30
|
+
requires: []
|
|
31
|
+
produces:
|
|
32
|
+
- undocumented.md
|
|
33
|
+
verify:
|
|
34
|
+
policy: content-heuristic
|
|
35
|
+
minSize: 1
|
|
36
|
+
|
|
37
|
+
- id: document
|
|
38
|
+
name: Document one export
|
|
39
|
+
prompt: >-
|
|
40
|
+
Add {{doc_style}} documentation to the symbol indicated by
|
|
41
|
+
{{_iter_capture_1}} (format: `<file_path>::<symbol_name>`).
|
|
42
|
+
|
|
43
|
+
- Describe what it does, not how.
|
|
44
|
+
- Document all parameters and the return type.
|
|
45
|
+
- Note any thrown errors or side effects.
|
|
46
|
+
- Keep it concise — one short paragraph + `@param` / `@returns`.
|
|
47
|
+
|
|
48
|
+
Append a log line to `docs-log.md`:
|
|
49
|
+
`- <symbol_name> — <file:line>`.
|
|
50
|
+
requires:
|
|
51
|
+
- inventory
|
|
52
|
+
context_from:
|
|
53
|
+
- inventory
|
|
54
|
+
produces:
|
|
55
|
+
- docs-log.md
|
|
56
|
+
iterate:
|
|
57
|
+
source: undocumented.md
|
|
58
|
+
pattern: "^- (.+::.+?) — "
|
|
59
|
+
verify:
|
|
60
|
+
policy: content-heuristic
|
|
61
|
+
|
|
62
|
+
- id: summary
|
|
63
|
+
name: Docs sync summary
|
|
64
|
+
prompt: >-
|
|
65
|
+
Produce a short summary at `docs-summary.md` listing: the total
|
|
66
|
+
number of exports documented, any that were intentionally skipped
|
|
67
|
+
with a reason, and a suggested follow-up (e.g. regenerate API docs
|
|
68
|
+
if the project has a generator).
|
|
69
|
+
requires:
|
|
70
|
+
- document
|
|
71
|
+
context_from:
|
|
72
|
+
- document
|
|
73
|
+
produces:
|
|
74
|
+
- docs-summary.md
|
|
75
|
+
verify:
|
|
76
|
+
policy: content-heuristic
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Env Audit workflow — mode: yaml-step
|
|
2
|
+
#
|
|
3
|
+
# Inventory every environment variable referenced across code/docs/CI, then
|
|
4
|
+
# audit each one for drift (documented? default? required vs optional?
|
|
5
|
+
# mentioned in CI?).
|
|
6
|
+
|
|
7
|
+
version: 1
|
|
8
|
+
name: env-audit
|
|
9
|
+
mode: yaml-step
|
|
10
|
+
description: >-
|
|
11
|
+
Find every environment variable the project uses and flag drift —
|
|
12
|
+
variables referenced in code but not in docs, or vice versa.
|
|
13
|
+
|
|
14
|
+
params:
|
|
15
|
+
src_glob: "src/**/*.{ts,js,py,go,rb}"
|
|
16
|
+
ci_paths: ".github/workflows .circleci .gitlab-ci.yml"
|
|
17
|
+
doc_paths: "README.md docs/ .env.example"
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- id: inventory
|
|
21
|
+
name: Inventory env-var references
|
|
22
|
+
prompt: >-
|
|
23
|
+
Find every environment variable referenced in the project. Check:
|
|
24
|
+
|
|
25
|
+
- Code ({{src_glob}}): look for `process.env.X`, `os.environ["X"]`,
|
|
26
|
+
`os.Getenv("X")`, and equivalent patterns.
|
|
27
|
+
- Docs and `.env.example` ({{doc_paths}}).
|
|
28
|
+
- CI configs ({{ci_paths}}).
|
|
29
|
+
|
|
30
|
+
Produce `env-inventory.md` with one line per variable:
|
|
31
|
+
|
|
32
|
+
- <VAR_NAME> — code: <y|n>, docs: <y|n>, ci: <y|n>
|
|
33
|
+
|
|
34
|
+
Sort alphabetically. If any variable appears in one location but not
|
|
35
|
+
another, that's the drift — the next step will audit each entry.
|
|
36
|
+
requires: []
|
|
37
|
+
produces:
|
|
38
|
+
- env-inventory.md
|
|
39
|
+
verify:
|
|
40
|
+
policy: content-heuristic
|
|
41
|
+
|
|
42
|
+
- id: audit-var
|
|
43
|
+
name: Audit a single env variable
|
|
44
|
+
prompt: >-
|
|
45
|
+
Assess the env variable referenced by {{_iter_capture_1}} against
|
|
46
|
+
the three locations. For this variable, write an entry in
|
|
47
|
+
`env-audit.md`:
|
|
48
|
+
|
|
49
|
+
## <VAR_NAME>
|
|
50
|
+
- Code refs: <file:line list>
|
|
51
|
+
- Documented: <yes — link | no — gap>
|
|
52
|
+
- CI: <yes | no>
|
|
53
|
+
- Required / optional: <deduced from usage>
|
|
54
|
+
- Has a default: <yes — value | no>
|
|
55
|
+
- Drift: <one of: none | undocumented | unused-in-code | missing-in-ci | conflicting-default>
|
|
56
|
+
- Recommendation: <one sentence>
|
|
57
|
+
|
|
58
|
+
If the variable is used only in third-party code we can't control,
|
|
59
|
+
note that and move on.
|
|
60
|
+
requires:
|
|
61
|
+
- inventory
|
|
62
|
+
context_from:
|
|
63
|
+
- inventory
|
|
64
|
+
produces:
|
|
65
|
+
- env-audit.md
|
|
66
|
+
iterate:
|
|
67
|
+
source: env-inventory.md
|
|
68
|
+
pattern: "^- ([A-Z][A-Z0-9_]+) — "
|
|
69
|
+
verify:
|
|
70
|
+
policy: content-heuristic
|
|
71
|
+
|
|
72
|
+
- id: report
|
|
73
|
+
name: Final drift report
|
|
74
|
+
prompt: >-
|
|
75
|
+
Produce `env-drift-report.md` summarizing:
|
|
76
|
+
- Variables with drift (by category: undocumented, unused, missing-in-ci).
|
|
77
|
+
- Recommended `.env.example` diffs to close the gaps.
|
|
78
|
+
- Any variables whose defaults or required-ness look wrong.
|
|
79
|
+
|
|
80
|
+
Keep it scannable — prioritize drift that could cause runtime failures.
|
|
81
|
+
requires:
|
|
82
|
+
- audit-var
|
|
83
|
+
context_from:
|
|
84
|
+
- audit-var
|
|
85
|
+
produces:
|
|
86
|
+
- env-drift-report.md
|
|
87
|
+
verify:
|
|
88
|
+
policy: content-heuristic
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Issue Triage
|
|
2
|
+
|
|
3
|
+
<template_meta>
|
|
4
|
+
name: issue-triage
|
|
5
|
+
version: 1
|
|
6
|
+
mode: oneshot
|
|
7
|
+
requires_project: false
|
|
8
|
+
artifact_dir: null
|
|
9
|
+
</template_meta>
|
|
10
|
+
|
|
11
|
+
<purpose>
|
|
12
|
+
Classify a GitHub issue, recommend labels/priority, and propose the next
|
|
13
|
+
concrete action. Oneshot — read the issue, think, respond. No file edits,
|
|
14
|
+
no state.
|
|
15
|
+
</purpose>
|
|
16
|
+
|
|
17
|
+
<instructions>
|
|
18
|
+
|
|
19
|
+
## 1. Fetch the issue
|
|
20
|
+
|
|
21
|
+
- The user arguments should contain an issue number (`#123`) or URL. If not,
|
|
22
|
+
ask once for the reference.
|
|
23
|
+
- Pull issue body, labels, author, age, reactions, comment count, and linked
|
|
24
|
+
PRs via `gh issue view <ref> --json number,title,body,labels,author,createdAt,updatedAt,reactions,comments`.
|
|
25
|
+
- If already closed, say so and stop unless the user specifically asked to
|
|
26
|
+
revisit it.
|
|
27
|
+
|
|
28
|
+
## 2. Classify
|
|
29
|
+
|
|
30
|
+
Assign exactly one of:
|
|
31
|
+
- `bug` — reproducible broken behavior.
|
|
32
|
+
- `feature-request` — new capability, not a fix.
|
|
33
|
+
- `question` / `support` — user needs help, no code change implied.
|
|
34
|
+
- `docs` — docs gap.
|
|
35
|
+
- `discussion` — open-ended, no clear action.
|
|
36
|
+
- `invalid` — duplicate, off-topic, spam.
|
|
37
|
+
|
|
38
|
+
Add these secondary labels as applicable: `needs-repro`, `needs-info`,
|
|
39
|
+
`good-first-issue`, `regression`, `security` (flag strongly if so),
|
|
40
|
+
`breaking`, `external-dep`.
|
|
41
|
+
|
|
42
|
+
## 3. Assess priority
|
|
43
|
+
|
|
44
|
+
- `p0` — production-breaking / security / data loss.
|
|
45
|
+
- `p1` — significantly degrades common workflow.
|
|
46
|
+
- `p2` — standard bug/feature.
|
|
47
|
+
- `p3` — minor / cosmetic / future.
|
|
48
|
+
|
|
49
|
+
Base the assessment on: blast radius, reproduction frequency, reactions,
|
|
50
|
+
whether a workaround exists, and whether prior issues reference it.
|
|
51
|
+
|
|
52
|
+
## 4. Recommend the next action
|
|
53
|
+
|
|
54
|
+
Write ONE of these, with a concrete next step:
|
|
55
|
+
|
|
56
|
+
- **Ask for info:** list the 1–3 specific things missing (repro steps, version,
|
|
57
|
+
logs). Draft the comment text.
|
|
58
|
+
- **Accept and schedule:** suggest a workflow to run next (e.g.
|
|
59
|
+
`/gsd start bugfix --issue #123` or `/gsd workflow small-feature`).
|
|
60
|
+
- **Close:** draft a polite close comment with the reason.
|
|
61
|
+
- **Escalate:** flag for human review with a specific reason.
|
|
62
|
+
|
|
63
|
+
## 5. Output format
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Issue: #<n> — <title>
|
|
67
|
+
Author: <user> Age: <d>d Comments: <n> Reactions: <n>
|
|
68
|
+
|
|
69
|
+
Classification: <primary>, <secondary labels>
|
|
70
|
+
Priority: <p0/p1/p2/p3>
|
|
71
|
+
|
|
72
|
+
Why: <2–3 sentence rationale>
|
|
73
|
+
|
|
74
|
+
Next action: <recommendation>
|
|
75
|
+
Comment draft:
|
|
76
|
+
> <text to post — or "n/a" if no comment needed>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## 6. Don't post or edit
|
|
80
|
+
|
|
81
|
+
Draft the comment and any label changes as *suggestions* — never run
|
|
82
|
+
`gh issue comment` or `gh issue edit` unless the user explicitly confirms.
|
|
83
|
+
|
|
84
|
+
</instructions>
|