@pennyfarthing/core 10.4.0 → 11.0.0
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 +4 -4
- package/package.json +16 -14
- package/packages/core/dist/benchmark/benchmark-integration.d.ts +182 -0
- package/packages/core/dist/benchmark/benchmark-integration.d.ts.map +1 -0
- package/packages/core/dist/benchmark/benchmark-integration.js +710 -0
- package/packages/core/dist/benchmark/benchmark-integration.js.map +1 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.d.ts +6 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.d.ts.map +1 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.js +41 -0
- package/packages/core/dist/benchmark/benchmark-integration.test.js.map +1 -0
- package/packages/core/dist/benchmark/index.d.ts +3 -0
- package/packages/core/dist/benchmark/index.d.ts.map +1 -0
- package/packages/core/dist/benchmark/index.js +5 -0
- package/packages/core/dist/benchmark/index.js.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.d.ts +150 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.d.ts.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.js +547 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.js.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.d.ts +6 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.d.ts.map +1 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.js +35 -0
- package/packages/core/dist/benchmark/job-fair-aggregator.test.js.map +1 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.d.ts +17 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.d.ts.map +1 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.js +386 -0
- package/packages/core/dist/cli/commands/hook-chaining.test.js.map +1 -0
- package/packages/core/dist/cli/commands/init.d.ts +6 -1
- package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/init.js +83 -30
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.js +20 -3
- package/packages/core/dist/cli/commands/uninstall.js.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.test.d.ts +8 -0
- package/packages/core/dist/cli/commands/uninstall.test.d.ts.map +1 -0
- package/packages/core/dist/cli/commands/uninstall.test.js +120 -0
- package/packages/core/dist/cli/commands/uninstall.test.js.map +1 -0
- package/packages/core/dist/cli/commands/update.js +4 -4
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +2 -1
- package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -1
- package/packages/core/dist/cli/ocean-profiles.test.js +5 -4
- package/packages/core/dist/cli/ocean-profiles.test.js.map +1 -1
- package/packages/core/dist/cli/theme-maker.test.js +5 -4
- package/packages/core/dist/cli/theme-maker.test.js.map +1 -1
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.d.ts +15 -0
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.js +295 -0
- package/packages/core/dist/cli/utils/008-sprint-shard-migration.test.js.map +1 -0
- package/packages/core/dist/cli/utils/settings-consolidation.test.js +26 -0
- package/packages/core/dist/cli/utils/settings-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/utils/settings-merge.d.ts +128 -0
- package/packages/core/dist/cli/utils/settings-merge.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/settings-merge.js +303 -0
- package/packages/core/dist/cli/utils/settings-merge.js.map +1 -0
- package/packages/core/dist/cli/utils/settings-merge.test.d.ts +15 -0
- package/packages/core/dist/cli/utils/settings-merge.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/settings-merge.test.js +781 -0
- package/packages/core/dist/cli/utils/settings-merge.test.js.map +1 -0
- package/packages/core/dist/cli/utils/settings.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/settings.js +3 -0
- package/packages/core/dist/cli/utils/settings.js.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.d.ts +6 -16
- package/packages/core/dist/cli/utils/symlinks.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.js +100 -171
- package/packages/core/dist/cli/utils/symlinks.js.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.test.d.ts +10 -0
- package/packages/core/dist/cli/utils/symlinks.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/symlinks.test.js +266 -0
- package/packages/core/dist/cli/utils/symlinks.test.js.map +1 -0
- package/packages/core/dist/cli/utils/themes.js +1 -1
- package/packages/core/dist/cli/workspace.test.js +2 -5
- package/packages/core/dist/cli/workspace.test.js.map +1 -1
- package/packages/core/dist/consolidation.test.d.ts +11 -0
- package/packages/core/dist/consolidation.test.d.ts.map +1 -0
- package/packages/core/dist/consolidation.test.js +249 -0
- package/packages/core/dist/consolidation.test.js.map +1 -0
- package/packages/core/dist/index.d.ts +2 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +4 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/plugins/plugin-discovery.js +1 -1
- package/packages/core/dist/plugins/plugin-discovery.js.map +1 -1
- package/packages/core/dist/plugins/plugin-discovery.test.d.ts +1 -1
- package/packages/core/dist/plugins/plugin-discovery.test.js +47 -36
- package/packages/core/dist/plugins/plugin-discovery.test.js.map +1 -1
- package/packages/core/dist/public/css/react.css +1 -0
- package/packages/core/dist/public/js/react/react.js +82 -0
- package/packages/core/dist/scripts/generate-report.test.js +2 -2
- package/packages/core/dist/scripts/generate-spider-report.test.js +2 -2
- package/packages/core/dist/scripts/generate-spider.test.js +2 -1
- package/packages/core/dist/scripts/generate-spider.test.js.map +1 -1
- package/packages/core/dist/server/agent-context.d.ts +5 -0
- package/packages/core/dist/server/agent-context.d.ts.map +1 -0
- package/packages/core/dist/server/agent-context.js +5 -0
- package/packages/core/dist/server/agent-context.js.map +1 -0
- package/packages/core/dist/server/agent-evaluation.d.ts +17 -0
- package/packages/core/dist/server/agent-evaluation.d.ts.map +1 -0
- package/packages/core/dist/server/agent-evaluation.js +15 -0
- package/packages/core/dist/server/agent-evaluation.js.map +1 -0
- package/packages/core/dist/server/api/agent-load.d.ts +3 -0
- package/packages/core/dist/server/api/agent-load.d.ts.map +1 -0
- package/packages/core/dist/server/api/agent-load.js +19 -0
- package/packages/core/dist/server/api/agent-load.js.map +1 -0
- package/packages/core/dist/server/api/audit-log.d.ts +3 -0
- package/packages/core/dist/server/api/audit-log.d.ts.map +1 -0
- package/packages/core/dist/server/api/audit-log.js +31 -0
- package/packages/core/dist/server/api/audit-log.js.map +1 -0
- package/packages/core/dist/server/api/background-tasks.d.ts +27 -0
- package/packages/core/dist/server/api/background-tasks.d.ts.map +1 -0
- package/packages/core/dist/server/api/background-tasks.js +56 -0
- package/packages/core/dist/server/api/background-tasks.js.map +1 -0
- package/packages/core/dist/server/api/bell.d.ts +19 -0
- package/packages/core/dist/server/api/bell.d.ts.map +1 -0
- package/packages/core/dist/server/api/bell.js +34 -0
- package/packages/core/dist/server/api/bell.js.map +1 -0
- package/packages/core/dist/server/api/code-markers.d.ts +9 -0
- package/packages/core/dist/server/api/code-markers.d.ts.map +1 -0
- package/packages/core/dist/server/api/code-markers.js +62 -0
- package/packages/core/dist/server/api/code-markers.js.map +1 -0
- package/packages/core/dist/server/api/complexity.d.ts +3 -0
- package/packages/core/dist/server/api/complexity.d.ts.map +1 -0
- package/packages/core/dist/server/api/complexity.js +47 -0
- package/packages/core/dist/server/api/complexity.js.map +1 -0
- package/packages/core/dist/server/api/context.d.ts +38 -0
- package/packages/core/dist/server/api/context.d.ts.map +1 -0
- package/packages/core/dist/server/api/context.js +144 -0
- package/packages/core/dist/server/api/context.js.map +1 -0
- package/packages/core/dist/server/api/dead-code.d.ts +3 -0
- package/packages/core/dist/server/api/dead-code.d.ts.map +1 -0
- package/packages/core/dist/server/api/dead-code.js +70 -0
- package/packages/core/dist/server/api/dead-code.js.map +1 -0
- package/packages/core/dist/server/api/dependencies.d.ts +3 -0
- package/packages/core/dist/server/api/dependencies.d.ts.map +1 -0
- package/packages/core/dist/server/api/dependencies.js +43 -0
- package/packages/core/dist/server/api/dependencies.js.map +1 -0
- package/packages/core/dist/server/api/evaluation.d.ts +3 -0
- package/packages/core/dist/server/api/evaluation.d.ts.map +1 -0
- package/packages/core/dist/server/api/evaluation.js +33 -0
- package/packages/core/dist/server/api/evaluation.js.map +1 -0
- package/packages/core/dist/server/api/file-browser.d.ts +9 -0
- package/packages/core/dist/server/api/file-browser.d.ts.map +1 -0
- package/packages/core/dist/server/api/file-browser.js +133 -0
- package/packages/core/dist/server/api/file-browser.js.map +1 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.d.ts +10 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.d.ts.map +1 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.js +30 -0
- package/packages/core/dist/server/api/git-fetch-cooldown.test.js.map +1 -0
- package/packages/core/dist/server/api/git.d.ts +55 -0
- package/packages/core/dist/server/api/git.d.ts.map +1 -0
- package/packages/core/dist/server/api/git.js +382 -0
- package/packages/core/dist/server/api/git.js.map +1 -0
- package/packages/core/dist/server/api/health-score.d.ts +3 -0
- package/packages/core/dist/server/api/health-score.d.ts.map +1 -0
- package/packages/core/dist/server/api/health-score.js +47 -0
- package/packages/core/dist/server/api/health-score.js.map +1 -0
- package/packages/core/dist/server/api/hook-request.d.ts +41 -0
- package/packages/core/dist/server/api/hook-request.d.ts.map +1 -0
- package/packages/core/dist/server/api/hook-request.js +278 -0
- package/packages/core/dist/server/api/hook-request.js.map +1 -0
- package/packages/core/dist/server/api/hotspots.d.ts +3 -0
- package/packages/core/dist/server/api/hotspots.d.ts.map +1 -0
- package/packages/core/dist/server/api/hotspots.js +62 -0
- package/packages/core/dist/server/api/hotspots.js.map +1 -0
- package/packages/core/dist/server/api/identity.d.ts +17 -0
- package/packages/core/dist/server/api/identity.d.ts.map +1 -0
- package/packages/core/dist/server/api/identity.js +79 -0
- package/packages/core/dist/server/api/identity.js.map +1 -0
- package/packages/core/dist/server/api/index.d.ts +36 -0
- package/packages/core/dist/server/api/index.d.ts.map +1 -0
- package/packages/core/dist/server/api/index.js +47 -0
- package/packages/core/dist/server/api/index.js.map +1 -0
- package/packages/core/dist/server/api/mode.d.ts +24 -0
- package/packages/core/dist/server/api/mode.d.ts.map +1 -0
- package/packages/core/dist/server/api/mode.js +40 -0
- package/packages/core/dist/server/api/mode.js.map +1 -0
- package/packages/core/dist/server/api/otlp.d.ts +3 -0
- package/packages/core/dist/server/api/otlp.d.ts.map +1 -0
- package/packages/core/dist/server/api/otlp.js +40 -0
- package/packages/core/dist/server/api/otlp.js.map +1 -0
- package/packages/core/dist/server/api/permissions.d.ts +16 -0
- package/packages/core/dist/server/api/permissions.d.ts.map +1 -0
- package/packages/core/dist/server/api/permissions.js +67 -0
- package/packages/core/dist/server/api/permissions.js.map +1 -0
- package/packages/core/dist/server/api/persona.d.ts +9 -0
- package/packages/core/dist/server/api/persona.d.ts.map +1 -0
- package/packages/core/dist/server/api/persona.js +68 -0
- package/packages/core/dist/server/api/persona.js.map +1 -0
- package/packages/core/dist/server/api/portrait.d.ts +6 -0
- package/packages/core/dist/server/api/portrait.d.ts.map +1 -0
- package/packages/core/dist/server/api/portrait.js +28 -0
- package/packages/core/dist/server/api/portrait.js.map +1 -0
- package/packages/core/dist/server/api/settings.d.ts +14 -0
- package/packages/core/dist/server/api/settings.d.ts.map +1 -0
- package/packages/core/dist/server/api/settings.js +68 -0
- package/packages/core/dist/server/api/settings.js.map +1 -0
- package/packages/core/dist/server/api/spans.d.ts +3 -0
- package/packages/core/dist/server/api/spans.d.ts.map +1 -0
- package/packages/core/dist/server/api/spans.js +33 -0
- package/packages/core/dist/server/api/spans.js.map +1 -0
- package/packages/core/dist/server/api/stats.d.ts +13 -0
- package/packages/core/dist/server/api/stats.d.ts.map +1 -0
- package/packages/core/dist/server/api/stats.js +85 -0
- package/packages/core/dist/server/api/stats.js.map +1 -0
- package/packages/core/dist/server/api/story.d.ts +3 -0
- package/packages/core/dist/server/api/story.d.ts.map +1 -0
- package/packages/core/dist/server/api/story.js +15 -0
- package/packages/core/dist/server/api/story.js.map +1 -0
- package/packages/core/dist/server/api/telemetry.d.ts +3 -0
- package/packages/core/dist/server/api/telemetry.d.ts.map +1 -0
- package/packages/core/dist/server/api/telemetry.js +30 -0
- package/packages/core/dist/server/api/telemetry.js.map +1 -0
- package/packages/core/dist/server/api/theme-agents.d.ts +10 -0
- package/packages/core/dist/server/api/theme-agents.d.ts.map +1 -0
- package/packages/core/dist/server/api/theme-agents.js +39 -0
- package/packages/core/dist/server/api/theme-agents.js.map +1 -0
- package/packages/core/dist/server/api/todos.d.ts +33 -0
- package/packages/core/dist/server/api/todos.d.ts.map +1 -0
- package/packages/core/dist/server/api/todos.js +44 -0
- package/packages/core/dist/server/api/todos.js.map +1 -0
- package/packages/core/dist/server/api/token-stats.d.ts +8 -0
- package/packages/core/dist/server/api/token-stats.d.ts.map +1 -0
- package/packages/core/dist/server/api/token-stats.js +36 -0
- package/packages/core/dist/server/api/token-stats.js.map +1 -0
- package/packages/core/dist/server/api/welcome.d.ts +22 -0
- package/packages/core/dist/server/api/welcome.d.ts.map +1 -0
- package/packages/core/dist/server/api/welcome.js +35 -0
- package/packages/core/dist/server/api/welcome.js.map +1 -0
- package/packages/core/dist/server/bell-mode.d.ts +7 -0
- package/packages/core/dist/server/bell-mode.d.ts.map +1 -0
- package/packages/core/dist/server/bell-mode.js +7 -0
- package/packages/core/dist/server/bell-mode.js.map +1 -0
- package/packages/core/dist/server/dangerous-path.d.ts +36 -0
- package/packages/core/dist/server/dangerous-path.d.ts.map +1 -0
- package/packages/core/dist/server/dangerous-path.js +159 -0
- package/packages/core/dist/server/dangerous-path.js.map +1 -0
- package/packages/core/dist/server/enriched-span-exporter.d.ts +17 -0
- package/packages/core/dist/server/enriched-span-exporter.d.ts.map +1 -0
- package/packages/core/dist/server/enriched-span-exporter.js +12 -0
- package/packages/core/dist/server/enriched-span-exporter.js.map +1 -0
- package/packages/core/dist/server/env.d.ts +6 -0
- package/packages/core/dist/server/env.d.ts.map +1 -0
- package/packages/core/dist/server/env.js +10 -0
- package/packages/core/dist/server/env.js.map +1 -0
- package/packages/core/dist/server/file-browser.d.ts +17 -0
- package/packages/core/dist/server/file-browser.d.ts.map +1 -0
- package/packages/core/dist/server/file-browser.js +11 -0
- package/packages/core/dist/server/file-browser.js.map +1 -0
- package/packages/core/dist/server/otlp-receiver.d.ts +87 -0
- package/packages/core/dist/server/otlp-receiver.d.ts.map +1 -0
- package/packages/core/dist/server/otlp-receiver.js +106 -0
- package/packages/core/dist/server/otlp-receiver.js.map +1 -0
- package/packages/core/dist/server/parser.d.ts +11 -0
- package/packages/core/dist/server/parser.d.ts.map +1 -0
- package/packages/core/dist/server/parser.js +6 -0
- package/packages/core/dist/server/parser.js.map +1 -0
- package/packages/core/dist/server/paths.d.ts +37 -0
- package/packages/core/dist/server/paths.d.ts.map +1 -0
- package/packages/core/dist/server/paths.js +227 -0
- package/packages/core/dist/server/paths.js.map +1 -0
- package/packages/core/dist/server/pennyfarthing.d.ts +56 -0
- package/packages/core/dist/server/pennyfarthing.d.ts.map +1 -0
- package/packages/core/dist/server/pennyfarthing.js +356 -0
- package/packages/core/dist/server/pennyfarthing.js.map +1 -0
- package/packages/core/dist/server/plugin-loader.d.ts +22 -0
- package/packages/core/dist/server/plugin-loader.d.ts.map +1 -0
- package/packages/core/dist/server/plugin-loader.js +67 -0
- package/packages/core/dist/server/plugin-loader.js.map +1 -0
- package/packages/core/dist/server/prime.d.ts +12 -0
- package/packages/core/dist/server/prime.d.ts.map +1 -0
- package/packages/core/dist/server/prime.js +8 -0
- package/packages/core/dist/server/prime.js.map +1 -0
- package/packages/core/dist/server/server.d.ts +47 -0
- package/packages/core/dist/server/server.d.ts.map +1 -0
- package/packages/core/dist/server/server.js +353 -0
- package/packages/core/dist/server/server.js.map +1 -0
- package/packages/core/dist/server/server.test.d.ts +26 -0
- package/packages/core/dist/server/server.test.d.ts.map +1 -0
- package/packages/core/dist/server/server.test.js +447 -0
- package/packages/core/dist/server/server.test.js.map +1 -0
- package/packages/core/dist/server/settings-store.d.ts +195 -0
- package/packages/core/dist/server/settings-store.d.ts.map +1 -0
- package/packages/core/dist/server/settings-store.js +398 -0
- package/packages/core/dist/server/settings-store.js.map +1 -0
- package/packages/core/dist/server/settings.d.ts +136 -0
- package/packages/core/dist/server/settings.d.ts.map +1 -0
- package/packages/core/dist/server/settings.js +417 -0
- package/packages/core/dist/server/settings.js.map +1 -0
- package/packages/core/dist/server/span-hierarchy.d.ts +5 -0
- package/packages/core/dist/server/span-hierarchy.d.ts.map +1 -0
- package/packages/core/dist/server/span-hierarchy.js +5 -0
- package/packages/core/dist/server/span-hierarchy.js.map +1 -0
- package/packages/core/dist/server/story-context.d.ts +5 -0
- package/packages/core/dist/server/story-context.d.ts.map +1 -0
- package/packages/core/dist/server/story-context.js +5 -0
- package/packages/core/dist/server/story-context.js.map +1 -0
- package/packages/core/dist/server/story-parser.d.ts +74 -0
- package/packages/core/dist/server/story-parser.d.ts.map +1 -0
- package/packages/core/dist/server/story-parser.js +748 -0
- package/packages/core/dist/server/story-parser.js.map +1 -0
- package/packages/core/dist/server/tdd-metrics.d.ts +5 -0
- package/packages/core/dist/server/tdd-metrics.d.ts.map +1 -0
- package/packages/core/dist/server/tdd-metrics.js +5 -0
- package/packages/core/dist/server/tdd-metrics.js.map +1 -0
- package/packages/core/dist/server/ui-build.test.d.ts +19 -0
- package/packages/core/dist/server/ui-build.test.d.ts.map +1 -0
- package/packages/core/dist/server/ui-build.test.js +152 -0
- package/packages/core/dist/server/ui-build.test.js.map +1 -0
- package/packages/core/dist/server/websocket.d.ts +7 -0
- package/packages/core/dist/server/websocket.d.ts.map +1 -0
- package/packages/core/dist/server/websocket.js +8 -0
- package/packages/core/dist/server/websocket.js.map +1 -0
- package/packages/core/dist/shared/browser.d.ts +6 -0
- package/packages/core/dist/shared/browser.d.ts.map +1 -0
- package/packages/core/dist/shared/browser.js +8 -0
- package/packages/core/dist/shared/browser.js.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.d.ts +35 -0
- package/packages/core/dist/shared/generate-skill-docs.d.ts.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.js +442 -0
- package/packages/core/dist/shared/generate-skill-docs.js.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.test.d.ts +13 -0
- package/packages/core/dist/shared/generate-skill-docs.test.d.ts.map +1 -0
- package/packages/core/dist/shared/generate-skill-docs.test.js +519 -0
- package/packages/core/dist/shared/generate-skill-docs.test.js.map +1 -0
- package/packages/core/dist/shared/index.d.ts +11 -0
- package/packages/core/dist/shared/index.d.ts.map +1 -0
- package/packages/core/dist/shared/index.js +13 -0
- package/packages/core/dist/shared/index.js.map +1 -0
- package/packages/core/dist/shared/marker/constants.d.ts +39 -0
- package/packages/core/dist/shared/marker/constants.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/constants.js +46 -0
- package/packages/core/dist/shared/marker/constants.js.map +1 -0
- package/packages/core/dist/shared/marker/continue.test.d.ts +12 -0
- package/packages/core/dist/shared/marker/continue.test.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/continue.test.js +76 -0
- package/packages/core/dist/shared/marker/continue.test.js.map +1 -0
- package/packages/core/dist/shared/marker/detect.d.ts +25 -0
- package/packages/core/dist/shared/marker/detect.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/detect.js +53 -0
- package/packages/core/dist/shared/marker/detect.js.map +1 -0
- package/packages/core/dist/shared/marker/detect.test.d.ts +10 -0
- package/packages/core/dist/shared/marker/detect.test.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/detect.test.js +418 -0
- package/packages/core/dist/shared/marker/detect.test.js.map +1 -0
- package/packages/core/dist/shared/marker/index.d.ts +14 -0
- package/packages/core/dist/shared/marker/index.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/index.js +15 -0
- package/packages/core/dist/shared/marker/index.js.map +1 -0
- package/packages/core/dist/shared/marker/strip.d.ts +26 -0
- package/packages/core/dist/shared/marker/strip.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/strip.js +39 -0
- package/packages/core/dist/shared/marker/strip.js.map +1 -0
- package/packages/core/dist/shared/marker/types.d.ts +23 -0
- package/packages/core/dist/shared/marker/types.d.ts.map +1 -0
- package/packages/core/dist/shared/marker/types.js +7 -0
- package/packages/core/dist/shared/marker/types.js.map +1 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.d.ts +8 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.d.ts.map +1 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.js +100 -0
- package/packages/core/dist/shared/migrate-theme-schema.test.js.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.d.ts +35 -0
- package/packages/core/dist/shared/portrait-resolver.d.ts.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.js +259 -0
- package/packages/core/dist/shared/portrait-resolver.js.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.test.d.ts +2 -0
- package/packages/core/dist/shared/portrait-resolver.test.d.ts.map +1 -0
- package/packages/core/dist/shared/portrait-resolver.test.js +157 -0
- package/packages/core/dist/shared/portrait-resolver.test.js.map +1 -0
- package/packages/core/dist/shared/repos-topology.d.ts +49 -0
- package/packages/core/dist/shared/repos-topology.d.ts.map +1 -0
- package/packages/core/dist/shared/repos-topology.js +101 -0
- package/packages/core/dist/shared/repos-topology.js.map +1 -0
- package/packages/core/dist/shared/repos-topology.test.d.ts +8 -0
- package/packages/core/dist/shared/repos-topology.test.d.ts.map +1 -0
- package/packages/core/dist/shared/repos-topology.test.js +250 -0
- package/packages/core/dist/shared/repos-topology.test.js.map +1 -0
- package/packages/core/dist/shared/skill-search.d.ts +36 -0
- package/packages/core/dist/shared/skill-search.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-search.js +300 -0
- package/packages/core/dist/shared/skill-search.js.map +1 -0
- package/packages/core/dist/shared/skill-search.test.d.ts +16 -0
- package/packages/core/dist/shared/skill-search.test.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-search.test.js +177 -0
- package/packages/core/dist/shared/skill-search.test.js.map +1 -0
- package/packages/core/dist/shared/skill-suggest.d.ts +76 -0
- package/packages/core/dist/shared/skill-suggest.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-suggest.js +256 -0
- package/packages/core/dist/shared/skill-suggest.js.map +1 -0
- package/packages/core/dist/shared/skill-suggest.test.d.ts +12 -0
- package/packages/core/dist/shared/skill-suggest.test.d.ts.map +1 -0
- package/packages/core/dist/shared/skill-suggest.test.js +257 -0
- package/packages/core/dist/shared/skill-suggest.test.js.map +1 -0
- package/packages/core/dist/shared/theme-loader.d.ts +81 -0
- package/packages/core/dist/shared/theme-loader.d.ts.map +1 -0
- package/packages/core/dist/shared/theme-loader.js +491 -0
- package/packages/core/dist/shared/theme-loader.js.map +1 -0
- package/packages/core/dist/shared/theme-loader.test.d.ts +8 -0
- package/packages/core/dist/shared/theme-loader.test.d.ts.map +1 -0
- package/packages/core/dist/shared/theme-loader.test.js +62 -0
- package/packages/core/dist/shared/theme-loader.test.js.map +1 -0
- package/packages/core/dist/workflow/context-watch.test.js +1 -1
- package/packages/core/dist/workflow/context-watch.test.js.map +1 -1
- package/packages/core/dist/workflow/variable-resolver.test.js +1 -1
- package/packages/core/dist/workflow/variable-resolver.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-migration.test.js +4 -3
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/pennyfarthing-dist/agents/architect.md +1 -2
- package/pennyfarthing-dist/agents/ba.md +1 -1
- package/pennyfarthing-dist/agents/dev.md +2 -3
- package/pennyfarthing-dist/agents/devops.md +1 -1
- package/pennyfarthing-dist/agents/orchestrator.md +2 -3
- package/pennyfarthing-dist/agents/pm.md +2 -2
- package/pennyfarthing-dist/agents/reviewer.md +2 -2
- package/pennyfarthing-dist/agents/sm-setup.md +7 -7
- package/pennyfarthing-dist/agents/sm.md +19 -18
- package/pennyfarthing-dist/agents/tea.md +3 -2
- package/pennyfarthing-dist/agents/tech-writer.md +1 -1
- package/pennyfarthing-dist/agents/ux-designer.md +0 -1
- package/pennyfarthing-dist/commands/benchmark-control.md +69 -0
- package/pennyfarthing-dist/commands/benchmark.md +485 -0
- package/pennyfarthing-dist/commands/job-fair.md +102 -0
- package/pennyfarthing-dist/commands/{close-epic.md → pf-close-epic.md} +1 -1
- package/pennyfarthing-dist/commands/{new-work.md → pf-new-work.md} +4 -4
- package/pennyfarthing-dist/commands/{party-mode.md → pf-party-mode.md} +15 -2
- package/pennyfarthing-dist/commands/{patch.md → pf-patch.md} +3 -3
- package/pennyfarthing-dist/commands/{release.md → pf-release.md} +17 -10
- package/pennyfarthing-dist/commands/{setup.md → pf-setup.md} +2 -2
- package/pennyfarthing-dist/commands/{sprint.md → pf-sprint.md} +19 -19
- package/pennyfarthing-dist/commands/{standalone.md → pf-standalone.md} +2 -2
- package/pennyfarthing-dist/commands/{workflow.md → pf-workflow.md} +7 -7
- package/pennyfarthing-dist/commands/solo.md +447 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +2 -2
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +1 -2
- package/pennyfarthing-dist/guides/agent-template-strategic.md +1 -1
- package/pennyfarthing-dist/guides/agent-template-tactical.md +2 -2
- package/pennyfarthing-dist/guides/bikelane.md +6 -6
- package/pennyfarthing-dist/guides/permission-protocol.md +1 -1
- package/pennyfarthing-dist/guides/scale-levels.md +2 -2
- package/pennyfarthing-dist/guides/skill-schema.md +9 -9
- package/pennyfarthing-dist/guides/xml-tags.md +2 -2
- package/pennyfarthing-dist/personas/themes/dune.yaml +0 -1
- package/pennyfarthing-dist/personas/themes/hogans-heroes.yaml +260 -0
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/stephen-king.yaml +260 -0
- package/pennyfarthing-dist/scripts/core/agent-session.sh +0 -0
- package/pennyfarthing-dist/scripts/core/check-context.sh +0 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +0 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -0
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -0
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -0
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +84 -21
- package/pennyfarthing-dist/scripts/git/release.sh +0 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/dispatcher-template.sh +45 -0
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +27 -2
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -0
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +25 -89
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/README.md +1 -1
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/common.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/statusline.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +0 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +50 -26
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +18 -6
- package/pennyfarthing-dist/scripts/sprint/README.md +1 -1
- package/pennyfarthing-dist/scripts/story/README.md +1 -1
- package/pennyfarthing-dist/scripts/story/create-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -0
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +1 -1
- package/pennyfarthing-dist/scripts/workflow/check.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/check.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/complete-step.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -0
- package/pennyfarthing-dist/skills/pf-bc/examples.md +83 -0
- package/pennyfarthing-dist/skills/pf-bc/skill.md +51 -0
- package/pennyfarthing-dist/skills/pf-bc/usage.md +113 -0
- package/pennyfarthing-dist/skills/{cyclist → pf-cyclist}/SKILL.md +5 -5
- package/pennyfarthing-dist/skills/pf-finalize-run/SKILL.md +261 -0
- package/pennyfarthing-dist/skills/pf-jira/SKILL.md +61 -0
- package/pennyfarthing-dist/skills/pf-jira/examples.md +163 -0
- package/pennyfarthing-dist/skills/pf-jira/usage.md +213 -0
- package/pennyfarthing-dist/skills/pf-judge/SKILL.md +644 -0
- package/pennyfarthing-dist/skills/{just → pf-just}/SKILL.md +23 -23
- package/pennyfarthing-dist/skills/{permissions → pf-permissions}/skill.md +8 -8
- package/pennyfarthing-dist/skills/pf-persona-benchmark/SKILL.md +187 -0
- package/pennyfarthing-dist/skills/pf-sprint/examples.md +189 -0
- package/pennyfarthing-dist/skills/pf-sprint/skill.md +85 -0
- package/pennyfarthing-dist/skills/pf-sprint/usage.md +293 -0
- package/pennyfarthing-dist/skills/{story → pf-story}/scripts/create-story.sh +0 -0
- package/pennyfarthing-dist/skills/{story → pf-story}/scripts/size-story.sh +0 -0
- package/pennyfarthing-dist/skills/{story → pf-story}/scripts/story-template.sh +0 -0
- package/pennyfarthing-dist/skills/pf-story/skill.md +27 -0
- package/pennyfarthing-dist/skills/{systematic-debugging → pf-systematic-debugging}/SKILL.md +5 -6
- package/pennyfarthing-dist/skills/pf-theme/examples.md +92 -0
- package/pennyfarthing-dist/skills/pf-theme/skill.md +42 -0
- package/pennyfarthing-dist/skills/pf-theme/usage.md +149 -0
- package/pennyfarthing-dist/skills/pf-workflow/examples.md +101 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/list-workflows.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/show-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/start-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/{workflow → pf-workflow}/scripts/workflow-status.sh +0 -0
- package/pennyfarthing-dist/skills/pf-workflow/skill.md +49 -0
- package/pennyfarthing-dist/skills/pf-workflow/usage.md +145 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +63 -81
- package/pennyfarthing-dist/workflows/architecture/data/domain-complexity.csv +13 -0
- package/pennyfarthing-dist/workflows/architecture/data/project-types.csv +7 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +40 -11
- package/pennyfarthing-dist/workflows/party-mode-roleplay/steps/step-01-agent-loading.md +99 -0
- package/pennyfarthing-dist/workflows/party-mode-roleplay/steps/step-02-discussion.md +130 -0
- package/pennyfarthing-dist/workflows/party-mode-roleplay/steps/step-03-exit.md +100 -0
- package/pennyfarthing-dist/workflows/party-mode-roleplay/workflow.yaml +62 -0
- package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +2 -0
- package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +2 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +16 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +3 -3
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +193 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +148 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +141 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +192 -0
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +35 -0
- package/pennyfarthing-dist/workflows/release/steps/step-01-preflight.md +42 -3
- package/pennyfarthing-dist/workflows/release/steps/step-02-bump.md +10 -3
- package/pennyfarthing-dist/workflows/release/steps/step-03-changelog.md +1 -1
- package/pennyfarthing-dist/workflows/release/steps/step-07-commit.md +13 -4
- package/pennyfarthing-dist/workflows/release/steps/step-08-merge.md +31 -6
- package/pennyfarthing-dist/workflows/release/steps/step-09-push.md +12 -6
- package/pennyfarthing-dist/workflows/release/steps/step-10-publish.md +30 -5
- package/pennyfarthing-dist/workflows/release/steps/step-11-finalize.md +29 -0
- package/pennyfarthing-dist/workflows/release.yaml +7 -0
- package/pennyfarthing_scripts/CLAUDE.md +182 -0
- package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/session_start_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__init__.py +1 -0
- package/pennyfarthing_scripts/bc/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__pycache__/focus.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/cli.py +223 -0
- package/pennyfarthing_scripts/bc/focus.py +333 -0
- package/pennyfarthing_scripts/bikerack/__init__.py +8 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/background_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/base_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/changed_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/diffs_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/git_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/launcher.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/tui.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/ws_client.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/background_panel.py +81 -0
- package/pennyfarthing_scripts/bikerack/base_panel.py +100 -0
- package/pennyfarthing_scripts/bikerack/changed_panel.py +105 -0
- package/pennyfarthing_scripts/bikerack/cli.py +22 -24
- package/pennyfarthing_scripts/bikerack/diffs_panel.py +146 -0
- package/pennyfarthing_scripts/bikerack/git_panel.py +69 -0
- package/pennyfarthing_scripts/bikerack/launcher.py +63 -4
- package/pennyfarthing_scripts/bikerack/sprint_panel.py +72 -0
- package/pennyfarthing_scripts/bikerack/tui.py +193 -0
- package/pennyfarthing_scripts/bikerack/ws_client.py +176 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/cli.py +60 -16
- package/pennyfarthing_scripts/codemarkers/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/analyze.py +15 -1
- package/pennyfarthing_scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/cli.py +10 -2
- package/pennyfarthing_scripts/launch/__init__.py +1 -0
- package/pennyfarthing_scripts/launch/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/launch/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/launch/cli.py +231 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/version_sentinel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/version_sentinel.py +0 -1
- package/pennyfarthing_scripts/session_start_hook.py +192 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/epic_add.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/epic_update.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/import_epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/loader.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_add.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/story_update.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/validate_cmd.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/archive_epic.py +109 -1
- package/pennyfarthing_scripts/sprint/cli.py +30 -9
- package/pennyfarthing_scripts/sprint/epic_add.py +7 -1
- package/pennyfarthing_scripts/sprint/epic_update.py +148 -0
- package/pennyfarthing_scripts/sprint/loader.py +33 -0
- package/pennyfarthing_scripts/sprint/story_add.py +11 -1
- package/pennyfarthing_scripts/sprint/story_finish.py +14 -10
- package/pennyfarthing_scripts/sprint/story_update.py +7 -0
- package/pennyfarthing_scripts/sprint/validate_cmd.py +2 -1
- package/pennyfarthing_scripts/sprint/yaml_io.py +64 -6
- package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_archive_epic.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_bc.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_bikerack.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_cli_modules.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_cli_normalization.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_codemarkers.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_common.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_epic_shard_validation.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_healthscore.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_sprint_panel.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_sprint_validator.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_story_add.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_story_package.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_story_update.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_tiers.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_token_counting.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_topology_loader.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_tui_focus.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_tui_panel_persistence.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_validate_cmd.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_version_sentinel.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_yaml_io.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/test_archive_epic.py +185 -0
- package/pennyfarthing_scripts/tests/test_bc.py +490 -0
- package/pennyfarthing_scripts/tests/test_cli_normalization.py +295 -0
- package/pennyfarthing_scripts/tests/test_sprint_panel.py +531 -0
- package/pennyfarthing_scripts/tests/test_tui_focus.py +411 -0
- package/pennyfarthing_scripts/tests/test_tui_panel_persistence.py +411 -0
- package/pennyfarthing_scripts/tests/test_version_sentinel.py +1 -5
- package/pennyfarthing_scripts/tests/test_yaml_io.py +5 -5
- package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/theme/cli.py +25 -2
- package/scripts/README.md +41 -0
- package/packages/core/dist/scripts/benchmark-integration.test.d.ts +0 -13
- package/packages/core/dist/scripts/benchmark-integration.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/benchmark-integration.test.js +0 -680
- package/packages/core/dist/scripts/benchmark-integration.test.js.map +0 -1
- package/packages/core/dist/scripts/debugging-scenarios.test.d.ts +0 -18
- package/packages/core/dist/scripts/debugging-scenarios.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/debugging-scenarios.test.js +0 -317
- package/packages/core/dist/scripts/debugging-scenarios.test.js.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts +0 -14
- package/packages/core/dist/scripts/job-fair-aggregator.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.test.js +0 -616
- package/packages/core/dist/scripts/job-fair-aggregator.test.js.map +0 -1
- package/packages/core/dist/scripts/theme-detail.test.d.ts +0 -10
- package/packages/core/dist/scripts/theme-detail.test.js +0 -199
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +0 -392
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +0 -461
- package/pennyfarthing-dist/skills/jira/SKILL.md +0 -207
- package/pennyfarthing-dist/skills/sprint/skill.md +0 -806
- package/pennyfarthing-dist/skills/story/skill.md +0 -27
- package/pennyfarthing-dist/skills/theme/skill.md +0 -356
- package/pennyfarthing-dist/skills/workflow/skill.md +0 -368
- /package/pennyfarthing-dist/commands/{architect.md → pf-architect.md} +0 -0
- /package/pennyfarthing-dist/commands/{ba.md → pf-ba.md} +0 -0
- /package/pennyfarthing-dist/commands/{brainstorming.md → pf-brainstorming.md} +0 -0
- /package/pennyfarthing-dist/commands/{check.md → pf-check.md} +0 -0
- /package/pennyfarthing-dist/commands/{chore.md → pf-chore.md} +0 -0
- /package/pennyfarthing-dist/commands/{continue-session.md → pf-continue-session.md} +0 -0
- /package/pennyfarthing-dist/commands/{create-branches-from-story.md → pf-create-branches-from-story.md} +0 -0
- /package/pennyfarthing-dist/commands/{create-theme.md → pf-create-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{dev.md → pf-dev.md} +0 -0
- /package/pennyfarthing-dist/commands/{devops.md → pf-devops.md} +0 -0
- /package/pennyfarthing-dist/commands/{fix-blocker.md → pf-fix-blocker.md} +0 -0
- /package/pennyfarthing-dist/commands/{git-cleanup.md → pf-git-cleanup.md} +0 -0
- /package/pennyfarthing-dist/commands/{health-check.md → pf-health-check.md} +0 -0
- /package/pennyfarthing-dist/commands/{help.md → pf-help.md} +0 -0
- /package/pennyfarthing-dist/commands/{list-themes.md → pf-list-themes.md} +0 -0
- /package/pennyfarthing-dist/commands/{orchestrator.md → pf-orchestrator.md} +0 -0
- /package/pennyfarthing-dist/commands/{parallel-work.md → pf-parallel-work.md} +0 -0
- /package/pennyfarthing-dist/commands/{permissions.md → pf-permissions.md} +0 -0
- /package/pennyfarthing-dist/commands/{pm.md → pf-pm.md} +0 -0
- /package/pennyfarthing-dist/commands/{prime.md → pf-prime.md} +0 -0
- /package/pennyfarthing-dist/commands/{repo-status.md → pf-repo-status.md} +0 -0
- /package/pennyfarthing-dist/commands/{retro.md → pf-retro.md} +0 -0
- /package/pennyfarthing-dist/commands/{reviewer.md → pf-reviewer.md} +0 -0
- /package/pennyfarthing-dist/commands/{run-ci.md → pf-run-ci.md} +0 -0
- /package/pennyfarthing-dist/commands/{set-theme.md → pf-set-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{show-theme.md → pf-show-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{sm.md → pf-sm.md} +0 -0
- /package/pennyfarthing-dist/commands/{sprint-planning.md → pf-sprint-planning.md} +0 -0
- /package/pennyfarthing-dist/commands/{start-epic.md → pf-start-epic.md} +0 -0
- /package/pennyfarthing-dist/commands/{sync-epic-to-jira.md → pf-sync-epic-to-jira.md} +0 -0
- /package/pennyfarthing-dist/commands/{sync-work-with-sprint.md → pf-sync-work-with-sprint.md} +0 -0
- /package/pennyfarthing-dist/commands/{tea.md → pf-tea.md} +0 -0
- /package/pennyfarthing-dist/commands/{tech-writer.md → pf-tech-writer.md} +0 -0
- /package/pennyfarthing-dist/commands/{theme-maker.md → pf-theme-maker.md} +0 -0
- /package/pennyfarthing-dist/commands/{theme.md → pf-theme.md} +0 -0
- /package/pennyfarthing-dist/commands/{update-domain-docs.md → pf-update-domain-docs.md} +0 -0
- /package/pennyfarthing-dist/commands/{ux-designer.md → pf-ux-designer.md} +0 -0
- /package/pennyfarthing-dist/commands/{work.md → pf-work.md} +0 -0
- /package/pennyfarthing-dist/skills/{agentic-patterns → pf-agentic-patterns}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{changelog → pf-changelog}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{code-review → pf-code-review}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{context-engineering → pf-context-engineering}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{mermaid → pf-mermaid}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{otel → pf-otel}/skill.md +0 -0
- /package/pennyfarthing-dist/skills/{testing → pf-testing}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{testing → pf-testing}/references/troubleshooting.md +0 -0
- /package/pennyfarthing-dist/skills/{theme-creation → pf-theme-creation}/SKILL.md +0 -0
- /package/pennyfarthing-dist/skills/{yq → pf-yq}/SKILL.md +0 -0
|
@@ -1,806 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: sprint
|
|
3
|
-
description: |
|
|
4
|
-
Sprint status, backlog, and story management for Pennyfarthing. Use when checking current
|
|
5
|
-
sprint status, finding available stories, reviewing backlog, or understanding story context
|
|
6
|
-
and history.
|
|
7
|
-
IMPORTANT: Always use `pf sprint` CLI commands - never manually edit sprint YAML.
|
|
8
|
-
args: "[status|backlog|work|archive|new|story|epic|standalone]"
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# /sprint - Sprint Management
|
|
12
|
-
|
|
13
|
-
<critical>
|
|
14
|
-
Never manually edit `sprint/current-sprint.yaml`. Use `pf sprint` CLI commands for deterministic, correct YAML formatting.
|
|
15
|
-
</critical>
|
|
16
|
-
|
|
17
|
-
## Commands
|
|
18
|
-
|
|
19
|
-
### `/sprint` or `/sprint status [filter]`
|
|
20
|
-
|
|
21
|
-
Show current sprint status with story counts and points.
|
|
22
|
-
|
|
23
|
-
<run>
|
|
24
|
-
pf sprint status [filter]
|
|
25
|
-
</run>
|
|
26
|
-
|
|
27
|
-
<args>
|
|
28
|
-
| Arg | Required | Description |
|
|
29
|
-
|-----|----------|-------------|
|
|
30
|
-
| `filter` | No | Filter stories: `todo`, `in-progress`, `done`, `cancelled` |
|
|
31
|
-
</args>
|
|
32
|
-
|
|
33
|
-
<example>
|
|
34
|
-
pf sprint status # All stories
|
|
35
|
-
pf sprint status todo # Backlog only
|
|
36
|
-
pf sprint status in-progress # WIP only
|
|
37
|
-
pf sprint status done # Completed only
|
|
38
|
-
</example>
|
|
39
|
-
|
|
40
|
-
<output>
|
|
41
|
-
Sprint metadata, stories by status (grouped under epic headers), points breakdown, completed count from archive.
|
|
42
|
-
When filtered, only shows epics with matching stories.
|
|
43
|
-
</output>
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
### `/sprint backlog`
|
|
48
|
-
|
|
49
|
-
Show available stories grouped by epic with Jira context.
|
|
50
|
-
|
|
51
|
-
<run>
|
|
52
|
-
pf sprint backlog
|
|
53
|
-
</run>
|
|
54
|
-
|
|
55
|
-
<output>
|
|
56
|
-
Backlog stories with epic descriptions, points, priority, and workflow tags.
|
|
57
|
-
</output>
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
### `/sprint work [story-id|epic-id|next]`
|
|
62
|
-
|
|
63
|
-
Start work on a story. This is the primary entry point for development work.
|
|
64
|
-
|
|
65
|
-
<when>
|
|
66
|
-
- Starting new development work
|
|
67
|
-
- `/new-work` is an alias for this command
|
|
68
|
-
</when>
|
|
69
|
-
|
|
70
|
-
#### Without argument: Interactive selection
|
|
71
|
-
|
|
72
|
-
Shows backlog, user selects story, then proceeds to setup.
|
|
73
|
-
|
|
74
|
-
<output>
|
|
75
|
-
1. Load SM persona
|
|
76
|
-
2. Check for in-progress work
|
|
77
|
-
3. Show available stories
|
|
78
|
-
4. User selects story
|
|
79
|
-
5. Setup and handoff to TEA/Dev
|
|
80
|
-
</output>
|
|
81
|
-
|
|
82
|
-
#### With story ID: Direct start
|
|
83
|
-
|
|
84
|
-
<run>
|
|
85
|
-
pf sprint check <story-id>
|
|
86
|
-
</run>
|
|
87
|
-
|
|
88
|
-
<args>
|
|
89
|
-
| Arg | Required | Description |
|
|
90
|
-
|-----|----------|-------------|
|
|
91
|
-
| `story-id` | Yes | Jira key (e.g., `MSSCI-12038`) |
|
|
92
|
-
</args>
|
|
93
|
-
|
|
94
|
-
<output>
|
|
95
|
-
- `available: true` - Skip backlog, proceed to setup
|
|
96
|
-
- `available: false` - Report why (assigned, in progress, etc.)
|
|
97
|
-
</output>
|
|
98
|
-
|
|
99
|
-
<example>
|
|
100
|
-
pf sprint check MSSCI-12038
|
|
101
|
-
# Returns: {"type": "story", "available": true, "title": "...", ...}
|
|
102
|
-
</example>
|
|
103
|
-
|
|
104
|
-
#### With epic ID: Start first available story in epic
|
|
105
|
-
|
|
106
|
-
<run>
|
|
107
|
-
pf sprint check <epic-id>
|
|
108
|
-
</run>
|
|
109
|
-
|
|
110
|
-
<output>
|
|
111
|
-
Epic info with `first_story` (highest priority available story).
|
|
112
|
-
Action: Automatically start work on `first_story` if available.
|
|
113
|
-
</output>
|
|
114
|
-
|
|
115
|
-
<example>
|
|
116
|
-
pf sprint check MSSCI-11952
|
|
117
|
-
# Returns: {"type": "epic", "first_story": {"id": "MSSCI-11954", ...}, ...}
|
|
118
|
-
</example>
|
|
119
|
-
|
|
120
|
-
#### With `next`: Auto-select highest priority story
|
|
121
|
-
|
|
122
|
-
<run>
|
|
123
|
-
pf sprint check next
|
|
124
|
-
</run>
|
|
125
|
-
|
|
126
|
-
<output>
|
|
127
|
-
Highest-priority available story across all epics.
|
|
128
|
-
Action: Automatically start work on returned story.
|
|
129
|
-
</output>
|
|
130
|
-
|
|
131
|
-
<example>
|
|
132
|
-
pf sprint check next
|
|
133
|
-
# Returns: {"type": "next", "story": {"id": "MSSCI-11950", "priority": "P1", ...}}
|
|
134
|
-
</example>
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
### `/sprint archive <story-id> [pr-number] [--apply]`
|
|
139
|
-
|
|
140
|
-
Archive a completed story to the sprint archive file.
|
|
141
|
-
|
|
142
|
-
<run>
|
|
143
|
-
pf sprint archive <story-id> [pr-number] [--apply]
|
|
144
|
-
</run>
|
|
145
|
-
|
|
146
|
-
<args>
|
|
147
|
-
| Arg | Required | Description |
|
|
148
|
-
|-----|----------|-------------|
|
|
149
|
-
| `story-id` | Yes | Story ID (e.g., `35-2`) |
|
|
150
|
-
| `pr-number` | No | PR number if merged via PR |
|
|
151
|
-
| `--apply` | No | Also remove story from current-sprint.yaml |
|
|
152
|
-
</args>
|
|
153
|
-
|
|
154
|
-
<example>
|
|
155
|
-
# Archive only (manual removal needed)
|
|
156
|
-
pf sprint archive 35-2 368
|
|
157
|
-
|
|
158
|
-
# Archive and remove atomically (recommended)
|
|
159
|
-
pf sprint archive 35-2 368 --apply
|
|
160
|
-
</example>
|
|
161
|
-
|
|
162
|
-
<output>
|
|
163
|
-
1. Extracts story from `current-sprint.yaml`
|
|
164
|
-
2. Appends to `sprint/archive/sprint-{YYWW}-completed.yaml`
|
|
165
|
-
3. With `--apply`: Also removes from current sprint
|
|
166
|
-
4. Without `--apply`: Outputs command to complete removal
|
|
167
|
-
</output>
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
### `/sprint new <yyww> <jira-id> <start> <end> "<goal>"`
|
|
172
|
-
|
|
173
|
-
Initialize a new sprint from template.
|
|
174
|
-
|
|
175
|
-
<run>
|
|
176
|
-
pf sprint new <yyww> <jira-id> <start> <end> "<goal>"
|
|
177
|
-
</run>
|
|
178
|
-
|
|
179
|
-
<args>
|
|
180
|
-
| Arg | Required | Description |
|
|
181
|
-
|-----|----------|-------------|
|
|
182
|
-
| `yyww` | Yes | Sprint identifier (e.g., `2605` for 2026 week 5) |
|
|
183
|
-
| `jira-id` | Yes | Jira sprint ID number (e.g., `277`) |
|
|
184
|
-
| `start` | Yes | Start date `YYYY-MM-DD` |
|
|
185
|
-
| `end` | Yes | End date `YYYY-MM-DD` |
|
|
186
|
-
| `goal` | Yes | Sprint goal (quoted string) |
|
|
187
|
-
</args>
|
|
188
|
-
|
|
189
|
-
<example>
|
|
190
|
-
pf sprint new 2605 277 2026-02-03 2026-02-16 "Polish and stabilization"
|
|
191
|
-
</example>
|
|
192
|
-
|
|
193
|
-
<output>
|
|
194
|
-
Creates:
|
|
195
|
-
- `sprint/current-sprint.yaml` - New sprint file
|
|
196
|
-
- `sprint/archive/sprint-{YYWW}-completed.yaml` - Empty archive
|
|
197
|
-
|
|
198
|
-
Warning: Prompts for confirmation if current sprint is still active.
|
|
199
|
-
</output>
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
### `/sprint future [--epic EPIC_ID]`
|
|
204
|
-
|
|
205
|
-
Show future work initiatives and epics available for promotion.
|
|
206
|
-
|
|
207
|
-
<run>
|
|
208
|
-
pf sprint future [EPIC_ID]
|
|
209
|
-
</run>
|
|
210
|
-
|
|
211
|
-
<args>
|
|
212
|
-
| Arg | Required | Description |
|
|
213
|
-
|-----|----------|-------------|
|
|
214
|
-
| `EPIC_ID` | No | Show detailed stories for a specific epic |
|
|
215
|
-
</args>
|
|
216
|
-
|
|
217
|
-
<output>
|
|
218
|
-
Without epic ID:
|
|
219
|
-
- Initiatives grouped by status (READY, BLOCKED, planning)
|
|
220
|
-
- Epics with points, priority, and status
|
|
221
|
-
- Summary of total epics and points
|
|
222
|
-
- Promotion instructions
|
|
223
|
-
|
|
224
|
-
With epic ID:
|
|
225
|
-
- Full epic details including description
|
|
226
|
-
- All stories with points and status
|
|
227
|
-
- Promotion command for that epic
|
|
228
|
-
</output>
|
|
229
|
-
|
|
230
|
-
<example>
|
|
231
|
-
# Show all future work
|
|
232
|
-
pf sprint future
|
|
233
|
-
|
|
234
|
-
# Show details for specific epic
|
|
235
|
-
pf sprint future epic-55
|
|
236
|
-
</example>
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
### `/sprint promote <epic-id>` (deprecated — use `/sprint epic promote`)
|
|
241
|
-
|
|
242
|
-
Move an epic from `future.yaml` to `current-sprint.yaml`.
|
|
243
|
-
|
|
244
|
-
<run>
|
|
245
|
-
pf sprint epic promote <epic-id>
|
|
246
|
-
</run>
|
|
247
|
-
|
|
248
|
-
<args>
|
|
249
|
-
| Arg | Required | Description |
|
|
250
|
-
|-----|----------|-------------|
|
|
251
|
-
| `epic-id` | Yes | Local epic ID (e.g., `epic-41`) |
|
|
252
|
-
</args>
|
|
253
|
-
|
|
254
|
-
<when>
|
|
255
|
-
Next steps after promote:
|
|
256
|
-
- Review appended YAML in current-sprint.yaml
|
|
257
|
-
- Create Jira epic: `/jira create epic <epic-id>`
|
|
258
|
-
- Remove from planning.yaml if desired
|
|
259
|
-
</when>
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
### `/sprint story show <story-id> [--json]`
|
|
264
|
-
|
|
265
|
-
Show details for a specific story.
|
|
266
|
-
|
|
267
|
-
<run>
|
|
268
|
-
pf sprint story show <story-id> [--json]
|
|
269
|
-
</run>
|
|
270
|
-
|
|
271
|
-
<args>
|
|
272
|
-
| Arg | Required | Description |
|
|
273
|
-
|-----|----------|-------------|
|
|
274
|
-
| `story-id` | Yes | Story ID (e.g., `MSSCI-12664` or `67-1`) |
|
|
275
|
-
| `--json` | No | Output as JSON |
|
|
276
|
-
</args>
|
|
277
|
-
|
|
278
|
-
---
|
|
279
|
-
|
|
280
|
-
### `/sprint story add <epic-id> "<title>" <points> [options]`
|
|
281
|
-
|
|
282
|
-
Add a new story to an epic in sprint YAML.
|
|
283
|
-
|
|
284
|
-
<run>
|
|
285
|
-
pf sprint story add <epic-id> "<title>" <points> [options]
|
|
286
|
-
</run>
|
|
287
|
-
|
|
288
|
-
<args>
|
|
289
|
-
| Arg | Required | Description |
|
|
290
|
-
|-----|----------|-------------|
|
|
291
|
-
| `epic-id` | Yes | Parent epic (e.g., `epic-76`) |
|
|
292
|
-
| `title` | Yes | Story title (quoted) |
|
|
293
|
-
| `points` | Yes | Story points (1, 2, 3, 5, 8) |
|
|
294
|
-
| `--type` | No | Story type: feature, bug, chore, refactor (default: feature) |
|
|
295
|
-
| `--priority` | No | Priority: P0, P1, P2, P3 (default: P1) |
|
|
296
|
-
| `--workflow` | No | Workflow: tdd, tdd-tandem, trivial, bdd, bdd-tandem (default: tdd) |
|
|
297
|
-
| `--jira` | No | Jira issue key |
|
|
298
|
-
</args>
|
|
299
|
-
|
|
300
|
-
<example>
|
|
301
|
-
pf sprint story add epic-76 "Add error handling" 3
|
|
302
|
-
pf sprint story add epic-76 "Fix null pointer" 2 --type bug
|
|
303
|
-
</example>
|
|
304
|
-
|
|
305
|
-
---
|
|
306
|
-
|
|
307
|
-
### `/sprint story update <story-id> [options]`
|
|
308
|
-
|
|
309
|
-
Update fields on a story.
|
|
310
|
-
|
|
311
|
-
<run>
|
|
312
|
-
pf sprint story update <story-id> [options]
|
|
313
|
-
</run>
|
|
314
|
-
|
|
315
|
-
<args>
|
|
316
|
-
| Arg | Required | Description |
|
|
317
|
-
|-----|----------|-------------|
|
|
318
|
-
| `story-id` | Yes | Story ID (e.g., `76-4`) |
|
|
319
|
-
| `--status` | No | New status (backlog, ready, in_progress, done, canceled) |
|
|
320
|
-
| `--points` | No | New points value |
|
|
321
|
-
| `--priority` | No | New priority |
|
|
322
|
-
| `--assigned-to` | No | Assignee |
|
|
323
|
-
| `--dry-run` | No | Preview changes without writing |
|
|
324
|
-
</args>
|
|
325
|
-
|
|
326
|
-
---
|
|
327
|
-
|
|
328
|
-
### `/sprint story size [points]`
|
|
329
|
-
|
|
330
|
-
Display story sizing guidelines.
|
|
331
|
-
|
|
332
|
-
<run>
|
|
333
|
-
pf sprint story size [points]
|
|
334
|
-
</run>
|
|
335
|
-
|
|
336
|
-
<args>
|
|
337
|
-
| Arg | Required | Description |
|
|
338
|
-
|-----|----------|-------------|
|
|
339
|
-
| `points` | No | Specific point value to show guidance for |
|
|
340
|
-
</args>
|
|
341
|
-
|
|
342
|
-
<output>
|
|
343
|
-
Sizing characteristics, workflow suggestions, examples.
|
|
344
|
-
</output>
|
|
345
|
-
|
|
346
|
-
---
|
|
347
|
-
|
|
348
|
-
### `/sprint story template [type]`
|
|
349
|
-
|
|
350
|
-
Display story templates by type.
|
|
351
|
-
|
|
352
|
-
<run>
|
|
353
|
-
pf sprint story template [type]
|
|
354
|
-
</run>
|
|
355
|
-
|
|
356
|
-
<args>
|
|
357
|
-
| Arg | Required | Description |
|
|
358
|
-
|-----|----------|-------------|
|
|
359
|
-
| `type` | No | Template type: feature, bug, refactor, chore |
|
|
360
|
-
</args>
|
|
361
|
-
|
|
362
|
-
<output>
|
|
363
|
-
YAML template with acceptance criteria patterns.
|
|
364
|
-
</output>
|
|
365
|
-
|
|
366
|
-
---
|
|
367
|
-
|
|
368
|
-
### `/sprint story finish <story-id> [--dry-run]`
|
|
369
|
-
|
|
370
|
-
Complete a story: archive session, merge PR, transition Jira, update sprint YAML.
|
|
371
|
-
|
|
372
|
-
<critical>
|
|
373
|
-
Prerequisites before running:
|
|
374
|
-
- Session file exists at `.session/{story-id}-session.md`
|
|
375
|
-
- PR is approved and mergeable
|
|
376
|
-
- Reviewer has approved (phase: finish in session)
|
|
377
|
-
</critical>
|
|
378
|
-
|
|
379
|
-
<run>
|
|
380
|
-
pf sprint story finish <story-id> [--dry-run]
|
|
381
|
-
</run>
|
|
382
|
-
|
|
383
|
-
<args>
|
|
384
|
-
| Arg | Required | Description |
|
|
385
|
-
|-----|----------|-------------|
|
|
386
|
-
| `story-id` | Yes | Story ID (e.g., `MSSCI-12052`) |
|
|
387
|
-
| `--dry-run` | No | Show what would be done without executing |
|
|
388
|
-
</args>
|
|
389
|
-
|
|
390
|
-
---
|
|
391
|
-
|
|
392
|
-
### `/sprint story claim <story-id> [--claim|--unclaim]`
|
|
393
|
-
|
|
394
|
-
Claim or unclaim a story in Jira.
|
|
395
|
-
|
|
396
|
-
<run>
|
|
397
|
-
pf sprint story claim <story-id>
|
|
398
|
-
</run>
|
|
399
|
-
|
|
400
|
-
---
|
|
401
|
-
|
|
402
|
-
### `/sprint story assign <story-id> <assignee>`
|
|
403
|
-
|
|
404
|
-
Assign a Jira story to a user. Shortcut for `/jira assign`.
|
|
405
|
-
|
|
406
|
-
<run>
|
|
407
|
-
pf jira assign <story-id> <assignee>
|
|
408
|
-
</run>
|
|
409
|
-
|
|
410
|
-
<args>
|
|
411
|
-
| Arg | Required | Description |
|
|
412
|
-
|-----|----------|-------------|
|
|
413
|
-
| `story-id` | Yes | Jira key (e.g., `MSSCI-14552`) |
|
|
414
|
-
| `assignee` | Yes | Email or GitHub username (e.g., `keith.avery@1898andco.io`, `slabgorb`) |
|
|
415
|
-
</args>
|
|
416
|
-
|
|
417
|
-
<example>
|
|
418
|
-
pf jira assign MSSCI-14552 keith.avery@1898andco.io
|
|
419
|
-
pf jira assign MSSCI-14552 slabgorb
|
|
420
|
-
</example>
|
|
421
|
-
|
|
422
|
-
---
|
|
423
|
-
|
|
424
|
-
### `/sprint epic add <epic-id> <title> [options]`
|
|
425
|
-
|
|
426
|
-
Add a new epic to the current sprint.
|
|
427
|
-
|
|
428
|
-
<run>
|
|
429
|
-
pf sprint epic add <epic-id> <title> [options]
|
|
430
|
-
</run>
|
|
431
|
-
|
|
432
|
-
<args>
|
|
433
|
-
| Arg | Required | Description |
|
|
434
|
-
|-----|----------|-------------|
|
|
435
|
-
| `epic-id` | Yes | Epic ID (e.g., `epic-85`) |
|
|
436
|
-
| `title` | Yes | Epic title |
|
|
437
|
-
| `--priority` | No | Priority: P0, P1, P2, P3 (default: P1) |
|
|
438
|
-
| `--jira` | No | Jira epic key |
|
|
439
|
-
| `--description` | No | Epic description |
|
|
440
|
-
</args>
|
|
441
|
-
|
|
442
|
-
---
|
|
443
|
-
|
|
444
|
-
### `/sprint epic promote <epic-id>`
|
|
445
|
-
|
|
446
|
-
Move an epic from `future.yaml` to `current-sprint.yaml`.
|
|
447
|
-
|
|
448
|
-
<run>
|
|
449
|
-
pf sprint epic promote <epic-id>
|
|
450
|
-
</run>
|
|
451
|
-
|
|
452
|
-
<args>
|
|
453
|
-
| Arg | Required | Description |
|
|
454
|
-
|-----|----------|-------------|
|
|
455
|
-
| `epic-id` | Yes | Local epic ID (e.g., `epic-41`) |
|
|
456
|
-
</args>
|
|
457
|
-
|
|
458
|
-
---
|
|
459
|
-
|
|
460
|
-
### `/sprint epic archive [epic-id] [--dry-run] [--jira]`
|
|
461
|
-
|
|
462
|
-
Archive completed epics.
|
|
463
|
-
|
|
464
|
-
<run>
|
|
465
|
-
pf sprint epic archive [epic-id] [--dry-run] [--jira]
|
|
466
|
-
</run>
|
|
467
|
-
|
|
468
|
-
---
|
|
469
|
-
|
|
470
|
-
### `/sprint epic import <file> [initiative] [--marker] [--dry-run]`
|
|
471
|
-
|
|
472
|
-
Import BMAD epics-and-stories output to future.yaml.
|
|
473
|
-
|
|
474
|
-
<run>
|
|
475
|
-
pf sprint epic import <file> [initiative] [--marker TAG] [--dry-run]
|
|
476
|
-
</run>
|
|
477
|
-
|
|
478
|
-
---
|
|
479
|
-
|
|
480
|
-
### `/sprint epic show <epic-id> [--json]`
|
|
481
|
-
|
|
482
|
-
Show details for a specific epic. Searches both current sprint and future initiative shards.
|
|
483
|
-
|
|
484
|
-
<run>
|
|
485
|
-
pf sprint epic show <epic-id> [--json]
|
|
486
|
-
</run>
|
|
487
|
-
|
|
488
|
-
<args>
|
|
489
|
-
| Arg | Required | Description |
|
|
490
|
-
|-----|----------|-------------|
|
|
491
|
-
| `epic-id` | Yes | Epic ID (e.g., `epic-42` or `MSSCI-14298`) |
|
|
492
|
-
| `--json` | No | Output as JSON |
|
|
493
|
-
</args>
|
|
494
|
-
|
|
495
|
-
---
|
|
496
|
-
|
|
497
|
-
### `/sprint epic cancel <epic-id> [--jira] [--dry-run]`
|
|
498
|
-
|
|
499
|
-
Cancel an epic and all its stories. Searches both current sprint and future initiative shards.
|
|
500
|
-
|
|
501
|
-
<run>
|
|
502
|
-
pf sprint epic cancel <epic-id> [--jira] [--dry-run]
|
|
503
|
-
</run>
|
|
504
|
-
|
|
505
|
-
<args>
|
|
506
|
-
| Arg | Required | Description |
|
|
507
|
-
|-----|----------|-------------|
|
|
508
|
-
| `epic-id` | Yes | Epic ID (e.g., `epic-42` or `MSSCI-14298`) |
|
|
509
|
-
| `--jira` | No | Also cancel the epic in Jira |
|
|
510
|
-
| `--dry-run` | No | Show what would be done without making changes |
|
|
511
|
-
</args>
|
|
512
|
-
|
|
513
|
-
---
|
|
514
|
-
|
|
515
|
-
### `/sprint epic remove <epic-id> [--dry-run]`
|
|
516
|
-
|
|
517
|
-
Remove an epic from future.yaml.
|
|
518
|
-
|
|
519
|
-
<run>
|
|
520
|
-
pf sprint epic remove <epic-id> [--dry-run]
|
|
521
|
-
</run>
|
|
522
|
-
|
|
523
|
-
---
|
|
524
|
-
|
|
525
|
-
### `/sprint initiative show <name> [--json]`
|
|
526
|
-
|
|
527
|
-
Show details for a specific initiative including its epics and stories.
|
|
528
|
-
|
|
529
|
-
<run>
|
|
530
|
-
pf sprint initiative show <name> [--json]
|
|
531
|
-
</run>
|
|
532
|
-
|
|
533
|
-
<args>
|
|
534
|
-
| Arg | Required | Description |
|
|
535
|
-
|-----|----------|-------------|
|
|
536
|
-
| `name` | Yes | Initiative slug (e.g., `benchmark-reliability`, `technical-debt`) |
|
|
537
|
-
| `--json` | No | Output as JSON |
|
|
538
|
-
</args>
|
|
539
|
-
|
|
540
|
-
---
|
|
541
|
-
|
|
542
|
-
### `/sprint initiative cancel <name> [--jira] [--dry-run]`
|
|
543
|
-
|
|
544
|
-
Cancel an initiative and all its epics/stories.
|
|
545
|
-
|
|
546
|
-
<run>
|
|
547
|
-
pf sprint initiative cancel <name> [--jira] [--dry-run]
|
|
548
|
-
</run>
|
|
549
|
-
|
|
550
|
-
<args>
|
|
551
|
-
| Arg | Required | Description |
|
|
552
|
-
|-----|----------|-------------|
|
|
553
|
-
| `name` | Yes | Initiative slug (e.g., `benchmark-reliability`, `technical-debt`) |
|
|
554
|
-
| `--jira` | No | Also cancel epics in Jira |
|
|
555
|
-
| `--dry-run` | No | Show what would be done without making changes |
|
|
556
|
-
</args>
|
|
557
|
-
|
|
558
|
-
---
|
|
559
|
-
|
|
560
|
-
### `/sprint standalone ["title"] [points]`
|
|
561
|
-
|
|
562
|
-
Wrap current changes into a standalone Jira story, branch, PR, and merge.
|
|
563
|
-
|
|
564
|
-
This is an agent-executed workflow. Use `/standalone` to run it interactively.
|
|
565
|
-
|
|
566
|
-
---
|
|
567
|
-
|
|
568
|
-
## Sizing Quick Reference
|
|
569
|
-
|
|
570
|
-
| Points | Scale | Complexity | Examples |
|
|
571
|
-
|--------|-------|------------|----------|
|
|
572
|
-
| 1-2 | Trivial | Single file, minimal testing | Config, typo, simple fix |
|
|
573
|
-
| 3 | Small | Few files, some testing | Validation, single component |
|
|
574
|
-
| 5 | Medium | Multiple files, comprehensive testing | New page, API endpoint |
|
|
575
|
-
| 8 | Large | Significant scope, extensive testing | Integration, major refactor |
|
|
576
|
-
| 13+ | **SPLIT** | Too complex for single story | Break into smaller stories |
|
|
577
|
-
|
|
578
|
-
## Acceptance Criteria Patterns
|
|
579
|
-
|
|
580
|
-
### Good AC (SMART)
|
|
581
|
-
|
|
582
|
-
<example>
|
|
583
|
-
- "Admin users can access /admin/settings without 403"
|
|
584
|
-
- "API returns 204 No Content on successful DELETE"
|
|
585
|
-
- "Tests cover admin, manager, analyst roles"
|
|
586
|
-
</example>
|
|
587
|
-
|
|
588
|
-
### Bad AC (Vague)
|
|
589
|
-
|
|
590
|
-
<critical>
|
|
591
|
-
Avoid these patterns:
|
|
592
|
-
- "Feature works correctly"
|
|
593
|
-
- "No bugs"
|
|
594
|
-
- "Good performance"
|
|
595
|
-
</critical>
|
|
596
|
-
|
|
597
|
-
---
|
|
598
|
-
|
|
599
|
-
## Read Operations
|
|
600
|
-
|
|
601
|
-
These commands read sprint YAML without modifying it. Use these instead of direct `yq` queries.
|
|
602
|
-
|
|
603
|
-
### Get Story Field
|
|
604
|
-
|
|
605
|
-
<run>
|
|
606
|
-
pf sprint story field <story-id> <field>
|
|
607
|
-
</run>
|
|
608
|
-
|
|
609
|
-
<args>
|
|
610
|
-
| Arg | Required | Description |
|
|
611
|
-
|-----|----------|-------------|
|
|
612
|
-
| `story-id` | Yes | Story ID (e.g., `35-2`) |
|
|
613
|
-
| `field` | Yes | Field name to extract |
|
|
614
|
-
</args>
|
|
615
|
-
|
|
616
|
-
<example>
|
|
617
|
-
pf sprint story field 35-2 workflow # Returns: tdd
|
|
618
|
-
pf sprint story field 35-2 jira # Returns: MSSCI-12345
|
|
619
|
-
pf sprint story field 35-2 status # Returns: in_progress
|
|
620
|
-
</example>
|
|
621
|
-
|
|
622
|
-
<output>
|
|
623
|
-
Field value or "null" if not found. Common fields: `workflow`, `status`, `jira`, `points`, `title`, `repos`, `priority`.
|
|
624
|
-
</output>
|
|
625
|
-
|
|
626
|
-
---
|
|
627
|
-
|
|
628
|
-
### Get Epic Field
|
|
629
|
-
|
|
630
|
-
<run>
|
|
631
|
-
pf sprint epic field <epic-id> <field>
|
|
632
|
-
</run>
|
|
633
|
-
|
|
634
|
-
<args>
|
|
635
|
-
| Arg | Required | Description |
|
|
636
|
-
|-----|----------|-------------|
|
|
637
|
-
| `epic-id` | Yes | Epic ID (e.g., `epic-35` or just `35`) |
|
|
638
|
-
| `field` | Yes | Field name to extract |
|
|
639
|
-
</args>
|
|
640
|
-
|
|
641
|
-
<example>
|
|
642
|
-
pf sprint epic field epic-35 jira # Returns: MSSCI-11234
|
|
643
|
-
pf sprint epic field 35 title # Returns: Epic title
|
|
644
|
-
</example>
|
|
645
|
-
|
|
646
|
-
<output>
|
|
647
|
-
Field value or "null" if not found. Common fields: `jira`, `title`, `description`, `status`.
|
|
648
|
-
</output>
|
|
649
|
-
|
|
650
|
-
---
|
|
651
|
-
|
|
652
|
-
## Jira Operations
|
|
653
|
-
|
|
654
|
-
For Jira-specific operations, use the `/jira` skill:
|
|
655
|
-
|
|
656
|
-
| Task | Command |
|
|
657
|
-
|------|---------|
|
|
658
|
-
| Create epic in Jira | `/jira create epic <epic-id>` |
|
|
659
|
-
| Sync epic to Jira | `/jira sync <epic-id>` |
|
|
660
|
-
| Reconcile YAML vs Jira | `/jira reconcile` |
|
|
661
|
-
| Claim a story | `/jira claim <issue-key>` |
|
|
662
|
-
| View issue details | `/jira view <issue-key>` |
|
|
663
|
-
|
|
664
|
-
---
|
|
665
|
-
|
|
666
|
-
## Work Flow Details
|
|
667
|
-
|
|
668
|
-
<when>
|
|
669
|
-
When `/sprint work` (or `/new-work`) starts a story:
|
|
670
|
-
</when>
|
|
671
|
-
|
|
672
|
-
<agent-activation>
|
|
673
|
-
Load SM persona first:
|
|
674
|
-
```bash
|
|
675
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "sm"
|
|
676
|
-
```
|
|
677
|
-
</agent-activation>
|
|
678
|
-
|
|
679
|
-
### Story Setup Steps
|
|
680
|
-
|
|
681
|
-
<output>
|
|
682
|
-
1. **Check story** via `pf sprint check` (if ID provided)
|
|
683
|
-
2. **Write context** to `.session/context-story-{id}.md`
|
|
684
|
-
3. **Setup story** via `sm-setup` subagent (claims Jira, creates branch)
|
|
685
|
-
4. **Handoff** to next agent based on workflow:
|
|
686
|
-
|
|
687
|
-
| Workflow | Route |
|
|
688
|
-
|----------|-------|
|
|
689
|
-
| `trivial` | SM → Dev |
|
|
690
|
-
| `tdd` | SM → TEA → Dev → Reviewer |
|
|
691
|
-
| `agent-docs` | SM → Orchestrator |
|
|
692
|
-
</output>
|
|
693
|
-
|
|
694
|
-
### Gates Before Handoff
|
|
695
|
-
|
|
696
|
-
<critical>
|
|
697
|
-
All gates must pass before handoff:
|
|
698
|
-
- [ ] Session file exists at `.session/{story-id}-session.md`
|
|
699
|
-
- [ ] Story context written with ACs
|
|
700
|
-
- [ ] Jira claimed (assigned, In Progress)
|
|
701
|
-
- [ ] Branch created
|
|
702
|
-
</critical>
|
|
703
|
-
|
|
704
|
-
---
|
|
705
|
-
|
|
706
|
-
## File Locations
|
|
707
|
-
|
|
708
|
-
| File | Purpose |
|
|
709
|
-
|------|---------|
|
|
710
|
-
| `sprint/current-sprint.yaml` | Active/backlog work only |
|
|
711
|
-
| `sprint/archive/sprint-{YYWW}-completed.yaml` | Completed stories for sprint |
|
|
712
|
-
| `sprint/sprint-template.yaml` | Format reference |
|
|
713
|
-
|
|
714
|
-
## YAML Constraints
|
|
715
|
-
|
|
716
|
-
| Field | Valid Values |
|
|
717
|
-
|-------|-------------|
|
|
718
|
-
| Sprint name | `"TO Sprint YYWW"` (e.g., "TO Sprint 2604") |
|
|
719
|
-
| Story IDs | Jira keys `MSSCI-XXXXX` |
|
|
720
|
-
| Status | `backlog`, `ready`, `in_progress`, `done` |
|
|
721
|
-
| Workflow | `tdd`, `tdd-tandem`, `trivial`, `agent-docs`, `bdd`, `bdd-tandem` |
|
|
722
|
-
| Priority | `P0`, `P1`, `P2`, `P3` |
|
|
723
|
-
| in_sprint | `true`, `false` - Jira sprint membership |
|
|
724
|
-
|
|
725
|
-
## Sprint Schema
|
|
726
|
-
|
|
727
|
-
### Sprint-level fields
|
|
728
|
-
|
|
729
|
-
| Field | Description |
|
|
730
|
-
|-------|-------------|
|
|
731
|
-
| `name` | Sprint name in "TO Sprint YYWW" format |
|
|
732
|
-
| `jira_sprint_id` | Numeric Jira sprint ID (e.g., 276) |
|
|
733
|
-
| `jira_sprint_name` | Jira sprint name (should match name) |
|
|
734
|
-
| `goal` | Sprint goal/objective |
|
|
735
|
-
| `start_date` | YYYY-MM-DD |
|
|
736
|
-
| `end_date` | YYYY-MM-DD |
|
|
737
|
-
| `status` | `active` or `closed` |
|
|
738
|
-
|
|
739
|
-
### Story-level fields
|
|
740
|
-
|
|
741
|
-
| Field | Description |
|
|
742
|
-
|-------|-------------|
|
|
743
|
-
| `in_sprint` | `true/false` - whether story is in Jira sprint (synced bidirectionally) |
|
|
744
|
-
|
|
745
|
-
<output>
|
|
746
|
-
The `in_sprint` field tracks Jira sprint membership:
|
|
747
|
-
- `in_sprint: true` - Story is in the Jira sprint
|
|
748
|
-
- `in_sprint: false` - Story is not in Jira sprint (backlog)
|
|
749
|
-
- Field omitted - Sprint membership not explicitly tracked
|
|
750
|
-
</output>
|
|
751
|
-
|
|
752
|
-
## Dependencies
|
|
753
|
-
|
|
754
|
-
All sprint commands use the `pf` Python CLI. No external dependencies like `yq` are required.
|
|
755
|
-
|
|
756
|
-
<when>
|
|
757
|
-
For Jira integration, see `/jira` skill prerequisites.
|
|
758
|
-
</when>
|
|
759
|
-
|
|
760
|
-
## Quick Reference
|
|
761
|
-
|
|
762
|
-
| Command | CLI |
|
|
763
|
-
|---------|-----|
|
|
764
|
-
| `/sprint` | `pf sprint status` |
|
|
765
|
-
| `/sprint status` | `pf sprint status` |
|
|
766
|
-
| `/sprint status todo` | `pf sprint status todo` |
|
|
767
|
-
| `/sprint status in-progress` | `pf sprint status in-progress` |
|
|
768
|
-
| `/sprint status done` | `pf sprint status done` |
|
|
769
|
-
| `/sprint backlog` | `pf sprint backlog` |
|
|
770
|
-
| `/sprint work` | Interactive story selection → SM flow |
|
|
771
|
-
| `/sprint work MSSCI-XXX` | `pf sprint check MSSCI-XXX` → direct start |
|
|
772
|
-
| `/sprint work EPIC-ID` | `pf sprint check EPIC-ID` → start first story |
|
|
773
|
-
| `/sprint work next` | `pf sprint check next` → start highest priority |
|
|
774
|
-
| `/sprint archive MSSCI-XXX` | `pf sprint archive MSSCI-XXX` |
|
|
775
|
-
| `/sprint new 2605 277 ...` | `pf sprint new 2605 277 ...` |
|
|
776
|
-
| `/sprint future` | `pf sprint future` |
|
|
777
|
-
| `/sprint future epic-55` | `pf sprint future epic-55` |
|
|
778
|
-
| `/sprint story show ID` | `pf sprint story show ID` |
|
|
779
|
-
| `/sprint story add ...` | `pf sprint story add ...` |
|
|
780
|
-
| `/sprint story update ID` | `pf sprint story update ID` |
|
|
781
|
-
| `/sprint story field ID FIELD` | `pf sprint story field ID FIELD` |
|
|
782
|
-
| `/sprint story size` | `pf sprint story size` |
|
|
783
|
-
| `/sprint story template` | `pf sprint story template` |
|
|
784
|
-
| `/sprint story finish ID` | `pf sprint story finish ID` |
|
|
785
|
-
| `/sprint story claim ID` | `pf sprint story claim ID` |
|
|
786
|
-
| `/sprint story assign ID USER` | `pf jira assign ID USER` |
|
|
787
|
-
| `/sprint epic show ID` | `pf sprint epic show ID` |
|
|
788
|
-
| `/sprint epic field ID FIELD` | `pf sprint epic field ID FIELD` |
|
|
789
|
-
| `/sprint epic add ...` | `pf sprint epic add ...` |
|
|
790
|
-
| `/sprint epic promote ID` | `pf sprint epic promote ID` |
|
|
791
|
-
| `/sprint epic archive` | `pf sprint epic archive` |
|
|
792
|
-
| `/sprint epic cancel ID` | `pf sprint epic cancel ID` |
|
|
793
|
-
| `/sprint epic import FILE` | `pf sprint epic import FILE` |
|
|
794
|
-
| `/sprint epic remove ID` | `pf sprint epic remove ID` |
|
|
795
|
-
| `/sprint initiative show NAME` | `pf sprint initiative show NAME` |
|
|
796
|
-
| `/sprint initiative cancel NAME` | `pf sprint initiative cancel NAME` |
|
|
797
|
-
| `/sprint standalone` | Standalone story workflow |
|
|
798
|
-
| `/new-work` | Alias for `/sprint work` |
|
|
799
|
-
| `/new-work MSSCI-XXX` | Alias for `/sprint work MSSCI-XXX` |
|
|
800
|
-
| `/new-work next` | Alias for `/sprint work next` |
|
|
801
|
-
|
|
802
|
-
## Related Skills
|
|
803
|
-
|
|
804
|
-
| Skill | Purpose |
|
|
805
|
-
|-------|---------|
|
|
806
|
-
| `/jira` | Jira operations (create, sync, reconcile, claim) |
|