@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
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
# Sprint CLI — Detailed Usage
|
|
2
|
+
|
|
3
|
+
## Top-Level Commands
|
|
4
|
+
|
|
5
|
+
### `pf sprint status [FILTER]`
|
|
6
|
+
|
|
7
|
+
| Arg | Required | Type | Description |
|
|
8
|
+
|-----|----------|------|-------------|
|
|
9
|
+
| `FILTER` | No | Choice | `backlog`, `todo`, `in-progress`, `review`, `done` |
|
|
10
|
+
|
|
11
|
+
Returns sprint metadata, stories grouped by epic, points breakdown.
|
|
12
|
+
|
|
13
|
+
### `pf sprint backlog`
|
|
14
|
+
|
|
15
|
+
No arguments. Shows stories with `backlog`, `ready`, or `planning` status grouped by epic.
|
|
16
|
+
|
|
17
|
+
### `pf sprint work [STORY_ID] [--dry-run]`
|
|
18
|
+
|
|
19
|
+
| Arg/Option | Required | Description |
|
|
20
|
+
|------------|----------|-------------|
|
|
21
|
+
| `STORY_ID` | No | Story ID, or `next` for highest priority |
|
|
22
|
+
| `--dry-run` | No | Preview without making changes |
|
|
23
|
+
|
|
24
|
+
Without argument: shows backlog. With `next`: auto-selects highest priority.
|
|
25
|
+
|
|
26
|
+
### `pf sprint archive <STORY_ID> [PR_NUMBER] [--apply] [--dry-run]`
|
|
27
|
+
|
|
28
|
+
| Arg/Option | Required | Description |
|
|
29
|
+
|------------|----------|-------------|
|
|
30
|
+
| `STORY_ID` | Yes | Story ID to archive |
|
|
31
|
+
| `PR_NUMBER` | No | PR number if merged via PR |
|
|
32
|
+
| `--apply` | No | Also remove from current-sprint.yaml |
|
|
33
|
+
| `--dry-run` | No | Preview without making changes |
|
|
34
|
+
|
|
35
|
+
### `pf sprint new <YYWW> <JIRA_ID> <START> <END> <GOAL> [--dry-run]`
|
|
36
|
+
|
|
37
|
+
| Arg | Required | Description |
|
|
38
|
+
|-----|----------|-------------|
|
|
39
|
+
| `YYWW` | Yes | Sprint identifier (e.g., `2607`) |
|
|
40
|
+
| `JIRA_ID` | Yes | Jira sprint ID number |
|
|
41
|
+
| `START` | Yes | Start date `YYYY-MM-DD` |
|
|
42
|
+
| `END` | Yes | End date `YYYY-MM-DD` |
|
|
43
|
+
| `GOAL` | Yes | Sprint goal (quoted string) |
|
|
44
|
+
| `--dry-run` | No | Preview without making changes |
|
|
45
|
+
|
|
46
|
+
Creates `sprint/current-sprint.yaml` and `sprint/archive/sprint-{YYWW}-completed.yaml`.
|
|
47
|
+
|
|
48
|
+
### `pf sprint future [EPIC_ID]`
|
|
49
|
+
|
|
50
|
+
| Arg | Required | Description |
|
|
51
|
+
|-----|----------|-------------|
|
|
52
|
+
| `EPIC_ID` | No | Show detailed stories for a specific epic |
|
|
53
|
+
|
|
54
|
+
Without arg: initiative summary. With arg: full epic detail with stories.
|
|
55
|
+
|
|
56
|
+
### `pf sprint info`
|
|
57
|
+
|
|
58
|
+
No arguments. Returns sprint header fields plus computed totals as JSON.
|
|
59
|
+
|
|
60
|
+
### `pf sprint metrics [--json]`
|
|
61
|
+
|
|
62
|
+
| Option | Description |
|
|
63
|
+
|--------|-------------|
|
|
64
|
+
| `--json` | Output in JSON format |
|
|
65
|
+
|
|
66
|
+
Shows points, stories, timeline, and velocity tracking.
|
|
67
|
+
|
|
68
|
+
### `pf sprint check <ID>`
|
|
69
|
+
|
|
70
|
+
| Arg | Required | Description |
|
|
71
|
+
|-----|----------|-------------|
|
|
72
|
+
| `ID` | Yes | Story ID, epic ID, or `next` |
|
|
73
|
+
|
|
74
|
+
Returns JSON with `type` (`story`, `epic`, `next`, `not_found`), availability, and details.
|
|
75
|
+
|
|
76
|
+
### `pf sprint validate [SUBCOMMAND] [--fix] [--strict]`
|
|
77
|
+
|
|
78
|
+
| Arg/Option | Required | Description |
|
|
79
|
+
|------------|----------|-------------|
|
|
80
|
+
| Subcommand | No | `sprint`, `schema`, `agent`, `workflow` (omit for all) |
|
|
81
|
+
| `--fix` | No | Auto-fix format issues |
|
|
82
|
+
| `--strict` | No | Treat warnings as errors |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Story Commands
|
|
87
|
+
|
|
88
|
+
### `pf sprint story show <STORY_ID> [--json]`
|
|
89
|
+
|
|
90
|
+
| Arg/Option | Required | Description |
|
|
91
|
+
|------------|----------|-------------|
|
|
92
|
+
| `STORY_ID` | Yes | Story ID (e.g., `MSSCI-12664` or `67-1`) |
|
|
93
|
+
| `--json` | No | Output as JSON |
|
|
94
|
+
|
|
95
|
+
### `pf sprint story add <EPIC_ID> <TITLE> <POINTS> [options]`
|
|
96
|
+
|
|
97
|
+
| Arg/Option | Required | Description |
|
|
98
|
+
|------------|----------|-------------|
|
|
99
|
+
| `EPIC_ID` | Yes | Parent epic (e.g., `76`) |
|
|
100
|
+
| `TITLE` | Yes | Story title (quoted) |
|
|
101
|
+
| `POINTS` | Yes | Story points (integer) |
|
|
102
|
+
| `--type` | No | `feature` (default), `bug`, `chore`, `refactor` |
|
|
103
|
+
| `--priority` | No | `p0`, `p1` (default), `p2`, `p3` (case-insensitive) |
|
|
104
|
+
| `--workflow` | No | `tdd` (default), `trivial`, `bdd` |
|
|
105
|
+
| `--jira` | No | Jira issue key |
|
|
106
|
+
| `--initiative` | No | Add as standalone story to initiative slug instead |
|
|
107
|
+
| `--repos` | No | Repository scope (default: `pennyfarthing`) |
|
|
108
|
+
| `--sprint-file` | No | Path to sprint YAML file |
|
|
109
|
+
| `--dry-run` | No | Preview without making changes |
|
|
110
|
+
|
|
111
|
+
When using `--initiative`, positional args shift: `<TITLE> <POINTS>` (no epic ID).
|
|
112
|
+
|
|
113
|
+
### `pf sprint story update <STORY_ID> [options]`
|
|
114
|
+
|
|
115
|
+
| Arg/Option | Required | Description |
|
|
116
|
+
|------------|----------|-------------|
|
|
117
|
+
| `STORY_ID` | Yes | Story ID (e.g., `76-4`) |
|
|
118
|
+
| `--status` | No | `backlog`, `ready`, `in_progress`, `done`, `canceled` |
|
|
119
|
+
| `--points` | No | New points value |
|
|
120
|
+
| `--priority` | No | New priority |
|
|
121
|
+
| `--assigned-to` | No | Assignee email |
|
|
122
|
+
| `--workflow` | No | New workflow type |
|
|
123
|
+
| `--completed` | No | Completed date (ISO format) |
|
|
124
|
+
| `--started` | No | Started date (ISO format) |
|
|
125
|
+
| `--sprint-file` | No | Path to sprint YAML file |
|
|
126
|
+
| `--dry-run` | No | Preview without making changes |
|
|
127
|
+
|
|
128
|
+
Auto-sets `completed` date when status is `done`. Auto-sets `started` and `assigned_to` when status is `in_progress`.
|
|
129
|
+
|
|
130
|
+
### `pf sprint story field <STORY_ID> <FIELD>`
|
|
131
|
+
|
|
132
|
+
| Arg | Required | Description |
|
|
133
|
+
|-----|----------|-------------|
|
|
134
|
+
| `STORY_ID` | Yes | Story ID (e.g., `79-1` or `MSSCI-12345`) |
|
|
135
|
+
| `FIELD` | Yes | Field name: `workflow`, `status`, `jira`, `points`, `title`, `repos`, `priority` |
|
|
136
|
+
|
|
137
|
+
Returns field value or `null`. Defaults: `workflow=tdd`, `status=backlog`, `repos=pennyfarthing`.
|
|
138
|
+
|
|
139
|
+
### `pf sprint story size [POINTS]`
|
|
140
|
+
|
|
141
|
+
| Arg | Required | Description |
|
|
142
|
+
|-----|----------|-------------|
|
|
143
|
+
| `POINTS` | No | Specific point value |
|
|
144
|
+
|
|
145
|
+
### `pf sprint story template [TYPE]`
|
|
146
|
+
|
|
147
|
+
| Arg | Required | Description |
|
|
148
|
+
|-----|----------|-------------|
|
|
149
|
+
| `TYPE` | No | `feature`, `bug`, `refactor`, `chore` |
|
|
150
|
+
|
|
151
|
+
### `pf sprint story finish <STORY_ID> [--dry-run]`
|
|
152
|
+
|
|
153
|
+
| Arg/Option | Required | Description |
|
|
154
|
+
|------------|----------|-------------|
|
|
155
|
+
| `STORY_ID` | Yes | Story ID (e.g., `83-2`) |
|
|
156
|
+
| `--dry-run` | No | Show steps without executing |
|
|
157
|
+
|
|
158
|
+
Requires: session file exists, PR approved, reviewer phase complete.
|
|
159
|
+
|
|
160
|
+
### `pf sprint story claim <STORY_ID> [--claim/--unclaim] [--dry-run]`
|
|
161
|
+
|
|
162
|
+
| Arg/Option | Required | Description |
|
|
163
|
+
|------------|----------|-------------|
|
|
164
|
+
| `STORY_ID` | Yes | Story ID / Jira key |
|
|
165
|
+
| `--claim/--unclaim` | No | Claim (default) or unclaim |
|
|
166
|
+
| `--dry-run` | No | Preview without making changes |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Epic Commands
|
|
171
|
+
|
|
172
|
+
### `pf sprint epic show <EPIC_ID> [--json]`
|
|
173
|
+
|
|
174
|
+
| Arg/Option | Required | Description |
|
|
175
|
+
|------------|----------|-------------|
|
|
176
|
+
| `EPIC_ID` | Yes | Epic ID (e.g., `epic-42`, `42`, or `MSSCI-14298`) |
|
|
177
|
+
| `--json` | No | Output as JSON |
|
|
178
|
+
|
|
179
|
+
Searches both current sprint and future initiative shards.
|
|
180
|
+
|
|
181
|
+
### `pf sprint epic add <EPIC_ID> <TITLE> [options]`
|
|
182
|
+
|
|
183
|
+
| Arg/Option | Required | Description |
|
|
184
|
+
|------------|----------|-------------|
|
|
185
|
+
| `EPIC_ID` | Yes | Epic ID (e.g., `epic-85`) |
|
|
186
|
+
| `TITLE` | Yes | Epic title |
|
|
187
|
+
| `--priority` | No | `p0`, `p1` (default), `p2`, `p3` (case-insensitive) |
|
|
188
|
+
| `--status` | No | `backlog` (default), `ready`, `in_progress` |
|
|
189
|
+
| `--repos` | No | Repository scope (default: `pennyfarthing`) |
|
|
190
|
+
| `--jira` | No | Jira epic key |
|
|
191
|
+
| `--description` / `-d` | No | Epic description |
|
|
192
|
+
| `--sprint-file` | No | Path to sprint YAML file |
|
|
193
|
+
| `--dry-run` | No | Preview without making changes |
|
|
194
|
+
|
|
195
|
+
### `pf sprint epic update <EPIC_ID> [options]`
|
|
196
|
+
|
|
197
|
+
| Arg/Option | Required | Description |
|
|
198
|
+
|------------|----------|-------------|
|
|
199
|
+
| `EPIC_ID` | Yes | Epic ID (e.g., `103`, `epic-103`, or `MSSCI-14951`) |
|
|
200
|
+
| `--status` | No | `backlog`, `canceled`, `done`, `in_progress` |
|
|
201
|
+
| `--priority` | No | New priority (e.g., `P0`, `P1`) |
|
|
202
|
+
| `--sprint-file` | No | Path to sprint YAML file |
|
|
203
|
+
| `--dry-run` | No | Preview without making changes |
|
|
204
|
+
|
|
205
|
+
### `pf sprint epic promote <EPIC_ID> [--dry-run]`
|
|
206
|
+
|
|
207
|
+
| Arg/Option | Required | Description |
|
|
208
|
+
|------------|----------|-------------|
|
|
209
|
+
| `EPIC_ID` | Yes | Epic ID (e.g., `epic-41` or `41`) |
|
|
210
|
+
| `--dry-run` | No | Preview without making changes |
|
|
211
|
+
|
|
212
|
+
Moves epic from initiative shard to current-sprint.yaml. Detects ID collisions. Validates before writing.
|
|
213
|
+
|
|
214
|
+
### `pf sprint epic archive [EPIC_ID] [--dry-run] [--jira]`
|
|
215
|
+
|
|
216
|
+
| Arg/Option | Required | Description |
|
|
217
|
+
|------------|----------|-------------|
|
|
218
|
+
| `EPIC_ID` | No | Specific epic (omit to scan all completed) |
|
|
219
|
+
| `--dry-run` | No | Preview without making changes |
|
|
220
|
+
| `--jira` | No | Also update Jira epic status to Done |
|
|
221
|
+
|
|
222
|
+
### `pf sprint epic cancel <EPIC_ID> [--jira] [--dry-run]`
|
|
223
|
+
|
|
224
|
+
| Arg/Option | Required | Description |
|
|
225
|
+
|------------|----------|-------------|
|
|
226
|
+
| `EPIC_ID` | Yes | Epic ID (e.g., `epic-42` or `MSSCI-14298`) |
|
|
227
|
+
| `--jira` | No | Also cancel in Jira |
|
|
228
|
+
| `--dry-run` | No | Preview without making changes |
|
|
229
|
+
|
|
230
|
+
### `pf sprint epic import <FILE> [INITIATIVE] [--marker TAG] [--dry-run]`
|
|
231
|
+
|
|
232
|
+
| Arg/Option | Required | Description |
|
|
233
|
+
|------------|----------|-------------|
|
|
234
|
+
| `FILE` | Yes | Path to BMAD epics-and-stories markdown |
|
|
235
|
+
| `INITIATIVE` | No | Initiative name (extracted from file if omitted) |
|
|
236
|
+
| `--marker` | No | Marker tag for stories (default: `imported`) |
|
|
237
|
+
| `--dry-run` | No | Preview without making changes |
|
|
238
|
+
|
|
239
|
+
### `pf sprint epic remove <EPIC_ID> [--dry-run]`
|
|
240
|
+
|
|
241
|
+
| Arg/Option | Required | Description |
|
|
242
|
+
|------------|----------|-------------|
|
|
243
|
+
| `EPIC_ID` | Yes | Epic ID (e.g., `epic-41`) |
|
|
244
|
+
| `--dry-run` | No | Preview without making changes |
|
|
245
|
+
|
|
246
|
+
### `pf sprint epic field <EPIC_ID> <FIELD>`
|
|
247
|
+
|
|
248
|
+
| Arg | Required | Description |
|
|
249
|
+
|-----|----------|-------------|
|
|
250
|
+
| `EPIC_ID` | Yes | Epic ID (e.g., `epic-35` or `35`) |
|
|
251
|
+
| `FIELD` | Yes | Field name: `jira`, `title`, `description`, `status` |
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Initiative Commands
|
|
256
|
+
|
|
257
|
+
### `pf sprint initiative show <NAME> [--json]`
|
|
258
|
+
|
|
259
|
+
| Arg/Option | Required | Description |
|
|
260
|
+
|------------|----------|-------------|
|
|
261
|
+
| `NAME` | Yes | Initiative slug (e.g., `benchmark-reliability`) |
|
|
262
|
+
| `--json` | No | Output as JSON |
|
|
263
|
+
|
|
264
|
+
### `pf sprint initiative cancel <NAME> [--jira] [--dry-run]`
|
|
265
|
+
|
|
266
|
+
| Arg/Option | Required | Description |
|
|
267
|
+
|------------|----------|-------------|
|
|
268
|
+
| `NAME` | Yes | Initiative slug |
|
|
269
|
+
| `--jira` | No | Also cancel epics in Jira |
|
|
270
|
+
| `--dry-run` | No | Preview without making changes |
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## File Locations
|
|
275
|
+
|
|
276
|
+
| File | Purpose |
|
|
277
|
+
|------|---------|
|
|
278
|
+
| `sprint/current-sprint.yaml` | Active/backlog work |
|
|
279
|
+
| `sprint/archive/sprint-{YYWW}-completed.yaml` | Completed stories |
|
|
280
|
+
| `sprint/initiative-*.yaml` | Future initiative shards |
|
|
281
|
+
| `sprint/epic-*.yaml` | Epic shard files |
|
|
282
|
+
| `sprint/future.yaml` | Future initiative index |
|
|
283
|
+
|
|
284
|
+
## YAML Constraints
|
|
285
|
+
|
|
286
|
+
| Field | Valid Values |
|
|
287
|
+
|-------|-------------|
|
|
288
|
+
| Sprint name | `"TO Sprint YYWW"` |
|
|
289
|
+
| Status | `backlog`, `ready`, `in_progress`, `done`, `canceled` |
|
|
290
|
+
| Workflow | `tdd`, `trivial`, `bdd`, `tdd-tandem`, `bdd-tandem`, `agent-docs` |
|
|
291
|
+
| Priority | `P0`, `P1`, `P2`, `P3` |
|
|
292
|
+
|
|
293
|
+
Note: `tdd-tandem` and `bdd-tandem` are valid workflow values in YAML but the `pf sprint story add --workflow` CLI choice is limited to `tdd`, `trivial`, `bdd`. Set tandem workflows via `pf sprint story update --workflow tdd-tandem`.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: story
|
|
3
|
+
description: |
|
|
4
|
+
DEPRECATED: Use /pf-sprint story instead.
|
|
5
|
+
Story commands have been consolidated under /pf-sprint.
|
|
6
|
+
args: "[size|template|create|finish] [options]"
|
|
7
|
+
deprecated: true
|
|
8
|
+
redirect: sprint
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /pf-story - DEPRECATED
|
|
12
|
+
|
|
13
|
+
Story commands have been consolidated into `/pf-sprint`. Use the new commands:
|
|
14
|
+
|
|
15
|
+
| Old Command | New Command |
|
|
16
|
+
|-------------|-------------|
|
|
17
|
+
| `/story size [points]` | `/pf-sprint story size [points]` |
|
|
18
|
+
| `/story template [type]` | `/pf-sprint story template [type]` |
|
|
19
|
+
| `/story create <epic-id> ...` | `/pf-sprint story add <epic-id> ...` |
|
|
20
|
+
| `/story finish <story-id>` | `/pf-sprint story finish <story-id>` |
|
|
21
|
+
|
|
22
|
+
## Related Skills
|
|
23
|
+
|
|
24
|
+
| Skill | Purpose |
|
|
25
|
+
|-------|---------|
|
|
26
|
+
| `/pf-sprint` | All sprint, story, and epic operations |
|
|
27
|
+
| `/pf-jira` | Jira operations (create, sync, claim) |
|
|
@@ -3,7 +3,7 @@ name: systematic-debugging
|
|
|
3
3
|
description: Systematic debugging approach for isolating and fixing issues. Use when debugging failures, investigating errors, bisecting regressions, or validating fixes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Systematic Debugging Skill
|
|
6
|
+
# /pf-systematic-debugging - Systematic Debugging Skill
|
|
7
7
|
|
|
8
8
|
<run>systematic-debugging</run>
|
|
9
9
|
|
|
@@ -428,7 +428,7 @@ mcp__playwright__browser_navigate to http://localhost:3000/
|
|
|
428
428
|
| `browser_console_messages` | Check for JS errors |
|
|
429
429
|
| `browser_network_requests` | Debug API calls |
|
|
430
430
|
|
|
431
|
-
See: `/workflow interactive-debug` for full workflow.
|
|
431
|
+
See: `/pf-workflow interactive-debug` for full workflow.
|
|
432
432
|
|
|
433
433
|
---
|
|
434
434
|
|
|
@@ -436,10 +436,9 @@ See: `/workflow interactive-debug` for full workflow.
|
|
|
436
436
|
|
|
437
437
|
| Skill | How It Complements |
|
|
438
438
|
|-------|-------------------|
|
|
439
|
-
| `/testing` | Run tests to verify fixes |
|
|
440
|
-
| `/
|
|
441
|
-
| `/
|
|
442
|
-
| `/workflow interactive-debug` | UI debugging with Playwright MCP |
|
|
439
|
+
| `/pf-testing` | Run tests to verify fixes |
|
|
440
|
+
| `/pf-agentic-patterns` | ReAct pattern for systematic investigation |
|
|
441
|
+
| `/pf-workflow interactive-debug` | UI debugging with Playwright MCP |
|
|
443
442
|
|
|
444
443
|
---
|
|
445
444
|
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Theme — Examples
|
|
2
|
+
|
|
3
|
+
## Browsing Themes
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# List all available themes with tiers
|
|
7
|
+
pf theme list
|
|
8
|
+
|
|
9
|
+
# Show current theme
|
|
10
|
+
pf theme show
|
|
11
|
+
|
|
12
|
+
# Show specific theme
|
|
13
|
+
pf theme show blade-runner
|
|
14
|
+
|
|
15
|
+
# Show full details (OCEAN, quirks, catchphrases)
|
|
16
|
+
pf theme show blade-runner --full
|
|
17
|
+
pf theme show fifth-element --full
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Changing Theme
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# Set theme
|
|
24
|
+
pf theme set blade-runner
|
|
25
|
+
|
|
26
|
+
# Preview without changing
|
|
27
|
+
pf theme set blade-runner --dry-run
|
|
28
|
+
|
|
29
|
+
# Refresh agent persona after change
|
|
30
|
+
pf agent start "sm"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Creating Custom Themes
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Create from current theme
|
|
37
|
+
pf theme create my-team
|
|
38
|
+
|
|
39
|
+
# Create from specific base
|
|
40
|
+
pf theme create my-team --base blade-runner
|
|
41
|
+
|
|
42
|
+
# Create as user-level (available across projects)
|
|
43
|
+
pf theme create my-team --user
|
|
44
|
+
|
|
45
|
+
# Create from specific base as user-level
|
|
46
|
+
pf theme create my-team --base fifth-element --user
|
|
47
|
+
|
|
48
|
+
# Preview
|
|
49
|
+
pf theme create my-team --base blade-runner --dry-run
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
After creation:
|
|
53
|
+
1. Edit the theme file to customize agents
|
|
54
|
+
2. Run `pf theme set my-team` to activate
|
|
55
|
+
|
|
56
|
+
## Theme Maker (Interactive)
|
|
57
|
+
|
|
58
|
+
Use `/theme maker` in Claude Code. The wizard walks through:
|
|
59
|
+
|
|
60
|
+
1. **Name** — lowercase, hyphens allowed (e.g., `my-universe`)
|
|
61
|
+
2. **Mode** — AI-Driven, Guided, or Manual
|
|
62
|
+
3. **Characters** — 10 agent personas generated
|
|
63
|
+
|
|
64
|
+
### AI-Driven Mode
|
|
65
|
+
Describe a concept or universe, all 10 personas generated automatically.
|
|
66
|
+
|
|
67
|
+
### Guided Mode
|
|
68
|
+
Describe a universe, get 3-4 character suggestions per agent, pick your favorites.
|
|
69
|
+
|
|
70
|
+
### Manual Mode
|
|
71
|
+
Specify character name, style, and quote for each agent. Skip agents for defaults.
|
|
72
|
+
|
|
73
|
+
### After Creation
|
|
74
|
+
```bash
|
|
75
|
+
# Activate the new theme
|
|
76
|
+
pf theme set my-universe
|
|
77
|
+
|
|
78
|
+
# Generate portraits (optional, requires GPU)
|
|
79
|
+
./scripts/generate-portraits.sh --theme my-universe
|
|
80
|
+
./scripts/generate-portraits.sh --theme my-universe --dry-run
|
|
81
|
+
./scripts/generate-portraits.sh --theme my-universe --role dev
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Theme Name Rules
|
|
85
|
+
|
|
86
|
+
- Lowercase letters and numbers only
|
|
87
|
+
- Must start with a letter
|
|
88
|
+
- Hyphens allowed (no underscores or spaces)
|
|
89
|
+
- No conflicts with existing themes
|
|
90
|
+
|
|
91
|
+
Valid: `blade-runner`, `my-team-2`, `scifi`
|
|
92
|
+
Invalid: `Blade_Runner`, `my team`, `2fast`
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: theme
|
|
3
|
+
description: Manage persona themes - list available themes, show current/specific theme details, set active theme, create themes, and run the interactive theme maker wizard.
|
|
4
|
+
args: "[list|show|set|create|maker] [options]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /theme - Theme Management
|
|
8
|
+
|
|
9
|
+
Manage persona themes for agent characters.
|
|
10
|
+
|
|
11
|
+
## Quick Reference
|
|
12
|
+
|
|
13
|
+
| Command | CLI | Purpose |
|
|
14
|
+
|---------|-----|---------|
|
|
15
|
+
| `/theme` | `pf theme show` | Show current theme |
|
|
16
|
+
| `/theme list` | `pf theme list` | List all available themes |
|
|
17
|
+
| `/theme show [name]` | `pf theme show [name] [--full]` | Show theme details |
|
|
18
|
+
| `/theme set <name>` | `pf theme set <name> [--dry-run]` | Set active theme |
|
|
19
|
+
| `/theme create <name>` | `pf theme create <name> [--base X] [--user] [--dry-run]` | Create from base theme |
|
|
20
|
+
| `/theme maker` | *(interactive wizard)* | AI-driven theme creation |
|
|
21
|
+
|
|
22
|
+
### After Setting a Theme
|
|
23
|
+
|
|
24
|
+
Refresh the current agent persona:
|
|
25
|
+
```bash
|
|
26
|
+
pf agent start "sm"
|
|
27
|
+
```
|
|
28
|
+
Adopt the new character immediately.
|
|
29
|
+
|
|
30
|
+
### Theme Locations
|
|
31
|
+
|
|
32
|
+
| Location | Purpose |
|
|
33
|
+
|----------|---------|
|
|
34
|
+
| `pennyfarthing-dist/personas/themes/` | Built-in themes (96+) |
|
|
35
|
+
| `.claude/pennyfarthing/themes/` | Project-level custom themes |
|
|
36
|
+
| `~/.claude/pennyfarthing/themes/` | User-level custom themes |
|
|
37
|
+
| `.pennyfarthing/config.local.yaml` | Active theme selection |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
**Detailed options and behavior:** [usage.md](usage.md)
|
|
42
|
+
**Practical examples and theme maker guide:** [examples.md](examples.md)
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Theme — Detailed Usage
|
|
2
|
+
|
|
3
|
+
## Commands
|
|
4
|
+
|
|
5
|
+
### List Themes
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pf theme list
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
No arguments. Shows all available themes with:
|
|
12
|
+
- Current theme marked with `*`
|
|
13
|
+
- Tier in brackets: `[S]` elite, `[A]` excellent, `[B]` strong, `[C]` good, `[D]` below average, `[U]` unbenchmarked
|
|
14
|
+
|
|
15
|
+
Copy output into response text — Bash tool output may be collapsed in the UI.
|
|
16
|
+
|
|
17
|
+
### Show Theme
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pf theme show [NAME] [--full]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
| Arg/Option | Required | Description |
|
|
24
|
+
|------------|----------|-------------|
|
|
25
|
+
| `NAME` | No | Theme name. Defaults to current theme. |
|
|
26
|
+
| `--full` | No | Include OCEAN scores, quirks, catchphrases, helpers |
|
|
27
|
+
|
|
28
|
+
Copy output into response text.
|
|
29
|
+
|
|
30
|
+
### Set Theme
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
pf theme set <NAME> [--dry-run]
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
| Arg/Option | Required | Description |
|
|
37
|
+
|------------|----------|-------------|
|
|
38
|
+
| `NAME` | Yes | Theme name to activate |
|
|
39
|
+
| `--dry-run` | No | Preview without making changes |
|
|
40
|
+
|
|
41
|
+
Updates `.pennyfarthing/config.local.yaml` with theme name and character map.
|
|
42
|
+
|
|
43
|
+
After setting, refresh agent persona:
|
|
44
|
+
```bash
|
|
45
|
+
pf agent start "sm"
|
|
46
|
+
```
|
|
47
|
+
Adopt the new character immediately.
|
|
48
|
+
|
|
49
|
+
### Create Theme
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
pf theme create <NAME> [--base <THEME>] [--user] [--dry-run]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
| Arg/Option | Required | Description |
|
|
56
|
+
|------------|----------|-------------|
|
|
57
|
+
| `NAME` | Yes | New theme name (lowercase, hyphens allowed) |
|
|
58
|
+
| `--base` | No | Base theme to copy from (defaults to current theme) |
|
|
59
|
+
| `--user` | No | Create as user-level theme (`~/.claude/pennyfarthing/themes/`) |
|
|
60
|
+
| `--dry-run` | No | Preview without making changes |
|
|
61
|
+
|
|
62
|
+
Validation rules for name:
|
|
63
|
+
- Lowercase letters and numbers only
|
|
64
|
+
- Must start with a letter
|
|
65
|
+
- Hyphens allowed (no underscores or spaces)
|
|
66
|
+
- No conflicts with existing themes
|
|
67
|
+
|
|
68
|
+
Creates file at:
|
|
69
|
+
- Project-level: `.claude/pennyfarthing/themes/{name}.yaml`
|
|
70
|
+
- User-level (with `--user`): `~/.claude/pennyfarthing/themes/{name}.yaml`
|
|
71
|
+
|
|
72
|
+
### Theme Maker (Interactive)
|
|
73
|
+
|
|
74
|
+
`/theme maker` is an interactive wizard — no CLI command. It walks through:
|
|
75
|
+
|
|
76
|
+
1. **Theme name** — validated per rules above
|
|
77
|
+
2. **Mode selection** — AI-Driven, Guided, or Manual
|
|
78
|
+
3. **Character generation** — all 10 agent personas
|
|
79
|
+
|
|
80
|
+
For each agent, generates: `character`, `shortName`, `visual`, `ocean`, `style`, `expertise`, `role`, `trait`, `quote`, `emoji`, `helper`.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Agent Roles Reference
|
|
85
|
+
|
|
86
|
+
| Agent | Role | Character Should Be |
|
|
87
|
+
|-------|------|---------------------|
|
|
88
|
+
| orchestrator | Meta-coordinator | Pattern-seer, guide |
|
|
89
|
+
| sm | Scrum Master | Leader, coordinator |
|
|
90
|
+
| tea | Test Engineer | Analyst, detail-oriented |
|
|
91
|
+
| dev | Developer | Builder, practical |
|
|
92
|
+
| reviewer | Code Reviewer | Critical, high standards |
|
|
93
|
+
| architect | System Architect | Big-picture thinker |
|
|
94
|
+
| pm | Product Manager | Strategic, stakeholder manager |
|
|
95
|
+
| tech-writer | Documentation | Clear communicator |
|
|
96
|
+
| ux-designer | UX Design | User advocate |
|
|
97
|
+
| devops | Infrastructure | Reliable, systems runner |
|
|
98
|
+
| ba | Business Analyst | Requirements discovery |
|
|
99
|
+
|
|
100
|
+
## OCEAN Profile Guidelines
|
|
101
|
+
|
|
102
|
+
| Agent | Profile | Rationale |
|
|
103
|
+
|-------|---------|-----------|
|
|
104
|
+
| orchestrator | High O (4-5), Moderate C (3-4) | Pattern-seer needs openness |
|
|
105
|
+
| sm | High A (4-5), Moderate C (3-4) | Coordination requires agreeableness |
|
|
106
|
+
| tea | High C (4-5), High O (4-5) | Testing needs conscientiousness + creativity |
|
|
107
|
+
| dev | High C (4-5), Moderate O (3-4) | Building needs discipline |
|
|
108
|
+
| reviewer | High C (4-5), Low A (2-3) | Critical review prioritizes standards |
|
|
109
|
+
| architect | High O (4-5), High C (4-5) | Design needs vision + structure |
|
|
110
|
+
| pm | High E (4-5), High A (4-5) | Stakeholder mgmt needs sociability |
|
|
111
|
+
| tech-writer | High C (4-5), Low N (1-2) | Documentation needs precision |
|
|
112
|
+
| ux-designer | High A (4-5), High O (4-5) | User advocacy needs empathy |
|
|
113
|
+
| devops | High C (4-5), Low N (1-2) | Operations needs reliability |
|
|
114
|
+
|
|
115
|
+
## Theme File Structure
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
theme:
|
|
119
|
+
name: theme-name
|
|
120
|
+
description: "Brief description"
|
|
121
|
+
source: "Source universe"
|
|
122
|
+
pennyfarthing_version: "10.4.0"
|
|
123
|
+
created: 2026-01-01
|
|
124
|
+
|
|
125
|
+
agents:
|
|
126
|
+
sm:
|
|
127
|
+
character: Character Name
|
|
128
|
+
shortName: Short
|
|
129
|
+
visual: "Portrait prompt description"
|
|
130
|
+
ocean: { O: 3, C: 4, E: 2, A: 3, N: 2 }
|
|
131
|
+
style: Communication style
|
|
132
|
+
expertise: Areas of expertise
|
|
133
|
+
role: Role in universe
|
|
134
|
+
trait: Key trait
|
|
135
|
+
quote: "Signature quote"
|
|
136
|
+
emoji: "X"
|
|
137
|
+
helper:
|
|
138
|
+
name: Helper Name
|
|
139
|
+
style: "Helper communication style"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Theme Locations
|
|
143
|
+
|
|
144
|
+
| Location | Purpose |
|
|
145
|
+
|----------|---------|
|
|
146
|
+
| `pennyfarthing-dist/personas/themes/` | Built-in themes (96+) |
|
|
147
|
+
| `.claude/pennyfarthing/themes/` | Project-level custom |
|
|
148
|
+
| `~/.claude/pennyfarthing/themes/` | User-level custom |
|
|
149
|
+
| `.pennyfarthing/config.local.yaml` | Active theme selection |
|