@pennyfarthing/core 11.0.0 → 11.1.1
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 +81 -23
- package/package.json +1 -1
- package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.d.ts +20 -0
- package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.js +278 -0
- package/packages/core/dist/cli/utils/010-detect-remove-old-packages.test.js.map +1 -0
- package/packages/core/dist/cli/utils/constants.d.ts +8 -2
- package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/constants.js +4 -1
- package/packages/core/dist/cli/utils/constants.js.map +1 -1
- package/packages/core/dist/cli/utils/constants.test.d.ts +10 -0
- package/packages/core/dist/cli/utils/constants.test.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/constants.test.js +38 -0
- package/packages/core/dist/cli/utils/constants.test.js.map +1 -0
- package/packages/core/dist/consultation/consultation-protocol.d.ts +139 -0
- package/packages/core/dist/consultation/consultation-protocol.d.ts.map +1 -0
- package/packages/core/dist/consultation/consultation-protocol.js +178 -0
- package/packages/core/dist/consultation/consultation-protocol.js.map +1 -0
- package/packages/core/dist/consultation/consultation-protocol.test.d.ts +20 -0
- package/packages/core/dist/consultation/consultation-protocol.test.d.ts.map +1 -0
- package/packages/core/dist/consultation/consultation-protocol.test.js +474 -0
- package/packages/core/dist/consultation/consultation-protocol.test.js.map +1 -0
- package/packages/core/dist/consultation/dialogue-manager.d.ts +75 -0
- package/packages/core/dist/consultation/dialogue-manager.d.ts.map +1 -0
- package/packages/core/dist/consultation/dialogue-manager.js +334 -0
- package/packages/core/dist/consultation/dialogue-manager.js.map +1 -0
- package/packages/core/dist/consultation/dialogue-manager.test.d.ts +19 -0
- package/packages/core/dist/consultation/dialogue-manager.test.d.ts.map +1 -0
- package/packages/core/dist/consultation/dialogue-manager.test.js +444 -0
- package/packages/core/dist/consultation/dialogue-manager.test.js.map +1 -0
- package/packages/core/dist/public/js/react/react.js +3 -3
- package/packages/core/dist/scripts/theme-detail.test.d.ts +10 -0
- package/packages/core/dist/scripts/theme-detail.test.js +199 -0
- package/packages/core/dist/server/api/git.d.ts +13 -1
- package/packages/core/dist/server/api/git.d.ts.map +1 -1
- package/packages/core/dist/server/api/git.js +53 -34
- package/packages/core/dist/server/api/git.js.map +1 -1
- package/packages/core/dist/server/api/health-score.d.ts.map +1 -1
- package/packages/core/dist/server/api/health-score.js +25 -1
- package/packages/core/dist/server/api/health-score.js.map +1 -1
- package/packages/core/dist/server/api/settings.d.ts.map +1 -1
- package/packages/core/dist/server/api/settings.js +63 -1
- package/packages/core/dist/server/api/settings.js.map +1 -1
- package/packages/core/dist/server/api/theme-agents.d.ts.map +1 -1
- package/packages/core/dist/server/api/theme-agents.js +61 -0
- package/packages/core/dist/server/api/theme-agents.js.map +1 -1
- package/packages/core/dist/server/server.d.ts.map +1 -1
- package/packages/core/dist/server/server.js +17 -12
- package/packages/core/dist/server/server.js.map +1 -1
- package/packages/core/dist/shared/skill-search.test.js +2 -2
- package/packages/core/dist/workflow/gate-file-validation.d.ts +49 -0
- package/packages/core/dist/workflow/gate-file-validation.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-file-validation.js +157 -0
- package/packages/core/dist/workflow/gate-file-validation.js.map +1 -0
- package/packages/core/dist/workflow/gate-file-validation.test.d.ts +19 -0
- package/packages/core/dist/workflow/gate-file-validation.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-file-validation.test.js +536 -0
- package/packages/core/dist/workflow/gate-file-validation.test.js.map +1 -0
- package/packages/core/dist/workflow/gate-schema-validation.test.d.ts +14 -0
- package/packages/core/dist/workflow/gate-schema-validation.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-schema-validation.test.js +339 -0
- package/packages/core/dist/workflow/gate-schema-validation.test.js.map +1 -0
- package/packages/core/dist/workflow/handoff.js +2 -2
- package/packages/core/dist/workflow/handoff.js.map +1 -1
- package/packages/core/dist/workflow/handoff.test.js +16 -0
- package/packages/core/dist/workflow/handoff.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.d.ts +4 -2
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +43 -8
- package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
- package/pennyfarthing-dist/agents/README.md +6 -14
- package/pennyfarthing-dist/agents/architect.md +43 -29
- package/pennyfarthing-dist/agents/ba.md +30 -29
- package/pennyfarthing-dist/agents/dev.md +32 -43
- package/pennyfarthing-dist/agents/devops.md +57 -21
- package/pennyfarthing-dist/agents/orchestrator.md +3 -10
- package/pennyfarthing-dist/agents/pm.md +45 -31
- package/pennyfarthing-dist/agents/reviewer.md +20 -66
- package/pennyfarthing-dist/agents/sm-setup.md +2 -2
- package/pennyfarthing-dist/agents/sm.md +8 -30
- package/pennyfarthing-dist/agents/tea.md +25 -41
- package/pennyfarthing-dist/agents/tech-writer.md +33 -90
- package/pennyfarthing-dist/agents/ux-designer.md +39 -39
- package/pennyfarthing-dist/commands/benchmark-control.md +8 -64
- package/pennyfarthing-dist/commands/benchmark.md +8 -480
- package/pennyfarthing-dist/commands/job-fair.md +8 -97
- package/pennyfarthing-dist/commands/pf-benchmark-control.md +70 -0
- package/pennyfarthing-dist/commands/pf-benchmark.md +486 -0
- package/pennyfarthing-dist/commands/pf-chore.md +4 -4
- package/pennyfarthing-dist/commands/pf-ci.md +40 -0
- package/pennyfarthing-dist/commands/pf-close-epic.md +9 -27
- package/pennyfarthing-dist/commands/pf-continue-session.md +9 -213
- package/pennyfarthing-dist/commands/pf-create-branches-from-story.md +11 -353
- package/pennyfarthing-dist/commands/pf-docs.md +28 -0
- package/pennyfarthing-dist/commands/pf-epic.md +67 -0
- package/pennyfarthing-dist/commands/pf-git-cleanup.md +11 -52
- package/pennyfarthing-dist/commands/pf-git.md +75 -0
- package/pennyfarthing-dist/commands/pf-help.md +110 -128
- package/pennyfarthing-dist/commands/pf-job-fair.md +102 -0
- package/pennyfarthing-dist/commands/pf-new-work.md +9 -18
- package/pennyfarthing-dist/commands/pf-parallel-work.md +6 -66
- package/pennyfarthing-dist/commands/pf-release.md +11 -76
- package/pennyfarthing-dist/commands/pf-repo-status.md +11 -44
- package/pennyfarthing-dist/commands/pf-run-ci.md +8 -111
- package/pennyfarthing-dist/commands/pf-session.md +51 -0
- package/pennyfarthing-dist/commands/pf-solo.md +447 -0
- package/pennyfarthing-dist/commands/pf-sprint-planning.md +8 -104
- package/pennyfarthing-dist/commands/pf-standalone.md +1 -1
- package/pennyfarthing-dist/commands/pf-start-epic.md +9 -163
- package/pennyfarthing-dist/commands/pf-sync-epic-to-jira.md +8 -179
- package/pennyfarthing-dist/commands/pf-sync-work-with-sprint.md +8 -368
- package/pennyfarthing-dist/commands/pf-update-domain-docs.md +8 -78
- package/pennyfarthing-dist/commands/solo.md +8 -442
- package/pennyfarthing-dist/guides/agent-behavior.md +13 -13
- package/pennyfarthing-dist/guides/agent-coordination.md +7 -7
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +6 -5
- package/pennyfarthing-dist/guides/bikerack.md +128 -0
- package/pennyfarthing-dist/guides/brownfield-tools.md +133 -0
- package/pennyfarthing-dist/guides/command-tag-taxonomy.md +2 -2
- package/pennyfarthing-dist/guides/gate-schema.md +227 -0
- package/pennyfarthing-dist/guides/gates.md +120 -0
- package/pennyfarthing-dist/guides/handoff-cli.md +116 -0
- package/pennyfarthing-dist/guides/hooks.md +86 -4
- package/pennyfarthing-dist/guides/output-styles.md +65 -0
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +5 -5
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +4 -4
- package/pennyfarthing-dist/guides/prompt-patterns.md +5 -5
- package/pennyfarthing-dist/guides/reflector.md +4 -4
- package/pennyfarthing-dist/guides/session-artifacts.md +1 -1
- package/pennyfarthing-dist/guides/skill-schema.md +1 -1
- package/pennyfarthing-dist/guides/tandem-protocol.md +13 -1
- package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
- package/pennyfarthing-dist/guides/xml-tags.md +5 -4
- package/pennyfarthing-dist/personas/themes/hogans-heroes.yaml +11 -22
- package/pennyfarthing-dist/personas/themes/stephen-king.yaml +13 -24
- package/pennyfarthing-dist/scripts/core/dialogue-manager.sh +322 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +19 -14
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +191 -57
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +26 -10
- package/pennyfarthing-dist/skills/pf-changelog/SKILL.md +4 -4
- package/pennyfarthing-dist/skills/pf-sprint/skill.md +1 -1
- package/pennyfarthing-dist/skills/skill-registry.schema.json +4 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +5 -0
- package/pennyfarthing-dist/workflows/2party-tdd.yaml +11 -0
- package/pennyfarthing-dist/workflows/agent-docs.yaml +2 -0
- package/pennyfarthing-dist/workflows/bdd-tandem.yaml +4 -0
- package/pennyfarthing-dist/workflows/bdd.yaml +4 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +1 -1
- package/pennyfarthing-dist/workflows/tdd-tandem.yaml +3 -0
- package/pennyfarthing-dist/workflows/tdd.yaml +3 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +2 -0
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/bellmode_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/context.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/hooks.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_bidirectional_sync.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_epic_creation.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_sync.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira_sync_story.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/output.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/patch_mode.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/pretooluse_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/schema_validation_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/session_start_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -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/bikerack/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/__main__.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__/debug_panel.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/cli.py +10 -11
- package/pennyfarthing_scripts/bikerack/debug_panel.py +218 -0
- package/pennyfarthing_scripts/bikerack/diffs_panel.py +203 -27
- 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 +114 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/codemarkers/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/themes.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/complexity/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/deadcode/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/dependencies/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/epic/__init__.py +0 -0
- package/pennyfarthing_scripts/epic/cli.py +64 -0
- package/pennyfarthing_scripts/gate/__init__.py +1 -0
- package/pennyfarthing_scripts/gate/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/gate/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/gate/__pycache__/validate.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/gate/cli.py +56 -0
- package/pennyfarthing_scripts/gate/validate.py +266 -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/git_group/__init__.py +0 -0
- package/pennyfarthing_scripts/git_group/cli.py +100 -0
- package/pennyfarthing_scripts/handoff/__init__.py +1 -0
- package/pennyfarthing_scripts/handoff/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/complete_phase.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/gate_file.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/gate_runner.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/marker.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/resolve_gate.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/cli.py +120 -0
- package/pennyfarthing_scripts/handoff/complete_phase.py +155 -0
- package/pennyfarthing_scripts/handoff/gate_file.py +105 -0
- package/pennyfarthing_scripts/handoff/gate_runner.py +152 -0
- package/pennyfarthing_scripts/handoff/marker.py +109 -0
- package/pennyfarthing_scripts/handoff/resolve_gate.py +152 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/__init__.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/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/healthscore/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/analyze.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/formatters.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hotspots/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/create.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/operations.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/reconcile.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/story.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/sync.cpython-314.pyc +0 -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/migration/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/session.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/skill.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/step.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/validate.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/loader.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/persona.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/session.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/tiers.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/version_sentinel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/workflow.py +39 -0
- package/pennyfarthing_scripts/session/__init__.py +0 -0
- package/pennyfarthing_scripts/session/cli.py +87 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive.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__/status.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__/validator.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/yaml_io.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/story_finish.py +14 -0
- package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/create.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__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_108_2_remove_handoff_fallback.cpython-314-pytest-9.0.2.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_gate_file_resolution.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_gate_runner.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_handoff_cli.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_handoff_e2e.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_resolve_gate_file_field.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_108_1_gate_migration.py +540 -0
- package/pennyfarthing_scripts/tests/test_108_2_remove_handoff_fallback.py +339 -0
- package/pennyfarthing_scripts/tests/test_confidence_sm_evaluation.py +253 -0
- package/pennyfarthing_scripts/tests/test_confidence_sm_gate.py +315 -0
- package/pennyfarthing_scripts/tests/test_gate_file_resolution.py +341 -0
- package/pennyfarthing_scripts/tests/test_gate_runner.py +620 -0
- package/pennyfarthing_scripts/tests/test_handoff_cli.py +929 -0
- package/pennyfarthing_scripts/tests/test_handoff_e2e.py +454 -0
- package/pennyfarthing_scripts/tests/test_resolve_gate_file_field.py +464 -0
- package/pennyfarthing_scripts/theme/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/theme/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/agent.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/schema.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/skill_command.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/sprint.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/skill_command.py +200 -0
- package/pennyfarthing_scripts/validate/adapters/workflow.py +64 -0
- package/pennyfarthing_scripts/validate/cli.py +15 -4
- package/packages/core/dist/scripts/benchmark-integration.d.ts +0 -182
- package/packages/core/dist/scripts/benchmark-integration.d.ts.map +0 -1
- package/packages/core/dist/scripts/benchmark-integration.js +0 -691
- package/packages/core/dist/scripts/benchmark-integration.js.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.d.ts +0 -150
- package/packages/core/dist/scripts/job-fair-aggregator.d.ts.map +0 -1
- package/packages/core/dist/scripts/job-fair-aggregator.js +0 -547
- package/packages/core/dist/scripts/job-fair-aggregator.js.map +0 -1
- package/pennyfarthing-dist/agents/handoff.md +0 -250
- package/pennyfarthing-dist/agents/sm-handoff.md +0 -152
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -112
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/sprint.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/mappings.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/models.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/migration/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
|
@@ -1,71 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
deprecated: true
|
|
3
|
+
redirect: removed
|
|
4
|
+
description: "DEPRECATED: Parallel worktrees replaced by sister directories."
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
pf agent start "sm"
|
|
7
|
-
```
|
|
7
|
+
# /parallel-work - REMOVED
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
## Parallel Work Setup
|
|
9
|
+
Parallel worktree sessions have been replaced by sister directories.
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
### Step 1: Create Worktree
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
# Get story info from user
|
|
18
|
-
read -p "Story ID (e.g., 5-3a): " STORY_ID
|
|
19
|
-
read -p "Branch name (e.g., feat/5-3a-feature): " BRANCH_NAME
|
|
20
|
-
|
|
21
|
-
# Create worktree
|
|
22
|
-
WORKTREE_NAME="wt-${STORY_ID}"
|
|
23
|
-
.pennyfarthing/scripts/git/worktree-manager.sh create "$WORKTREE_NAME" "$BRANCH_NAME"
|
|
24
|
-
|
|
25
|
-
# Get port configuration
|
|
26
|
-
eval $(.pennyfarthing/scripts/git/worktree-manager.sh ports "$WORKTREE_NAME")
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Step 2: Create Session File
|
|
30
|
-
|
|
31
|
-
Create `.session/${STORY_ID}-session.md` with:
|
|
32
|
-
|
|
33
|
-
```markdown
|
|
34
|
-
# Story ${STORY_ID}: [Title]
|
|
35
|
-
|
|
36
|
-
## Worktree Context
|
|
37
|
-
worktree: ${WORKTREE_NAME}
|
|
38
|
-
path: ${WORKTREE_PATH}
|
|
39
|
-
api_port: ${API_PORT}
|
|
40
|
-
ui_port: ${UI_PORT}
|
|
41
|
-
|
|
42
|
-
## Story Info
|
|
43
|
-
- **Epic:** [from sprint]
|
|
44
|
-
- **Points:** [from sprint]
|
|
45
|
-
- **Repos:** Both
|
|
46
|
-
|
|
47
|
-
## Phase
|
|
48
|
-
sm
|
|
49
|
-
|
|
50
|
-
## Status
|
|
51
|
-
setup
|
|
52
|
-
|
|
53
|
-
## Acceptance Criteria
|
|
54
|
-
- [ ] AC1
|
|
55
|
-
- [ ] AC2
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
### Step 3: Hand to SM
|
|
59
|
-
|
|
60
|
-
Invoke SM to complete story setup in the worktree context.
|
|
61
|
-
</parallel-work-flow>
|
|
62
|
-
|
|
63
|
-
<agent-activation>
|
|
64
|
-
1. Load persona from theme config → `agents.sm`
|
|
65
|
-
2. Load and follow `.pennyfarthing/agents/sm.md`
|
|
66
|
-
3. SM will detect worktree session and work in that context
|
|
67
|
-
</agent-activation>
|
|
68
|
-
|
|
69
|
-
<agent-exit>
|
|
70
|
-
On exit: Capture learnings to sidecar.
|
|
71
|
-
</agent-exit>
|
|
11
|
+
Instead of worktrees, use sister project directories for parallel work.
|
|
@@ -1,81 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
deprecated: true
|
|
3
|
+
redirect: pf-git
|
|
4
|
+
description: "DEPRECATED: Use /pf-git release instead."
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
Release a new version of Pennyfarthing using an interactive stepped workflow with gates at every critical point. An 11-step process that verifies each stage before proceeding.
|
|
7
|
-
</purpose>
|
|
7
|
+
# /release - DEPRECATED
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
```bash
|
|
11
|
-
# Start the interactive release workflow
|
|
12
|
-
/release
|
|
9
|
+
Git commands have been consolidated into `/pf-git`. Use:
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
</usage>
|
|
21
|
-
|
|
22
|
-
<workflow>
|
|
23
|
-
This command starts the `release` stepped workflow (BikeLane):
|
|
24
|
-
|
|
25
|
-
1. **Preflight** — Clean state, compute version, conflict checks
|
|
26
|
-
2. **Bump** — Update all version files, show diff ← GATE
|
|
27
|
-
3. **Changelog** — Generate entries from commits (`/pf-changelog`) ← GATE
|
|
28
|
-
4. **README** — Audit feature counts, update content
|
|
29
|
-
5. **CLAUDE.md** — Verify version, build commands, project structure
|
|
30
|
-
6. **Retro** — Optional retrospective (`/retro`)
|
|
31
|
-
7. **Commit** — Stage, commit, merge to develop, verify staging ← GATE
|
|
32
|
-
8. **Merge** — Merge develop → main, create tag
|
|
33
|
-
9. **Push & Tag** — Push branches + tag (point of no return) ← GATE
|
|
34
|
-
10. **Publish** — npm publish all packages (core, cyclist, theme packs) ← GATE
|
|
35
|
-
11. **Finalize** — GitHub release, summary
|
|
36
|
-
|
|
37
|
-
Gates pause for user approval. You can abort, revise, or continue at each gate.
|
|
38
|
-
</workflow>
|
|
39
|
-
|
|
40
|
-
<instructions>
|
|
41
|
-
Start the release stepped workflow:
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
# Start the workflow
|
|
45
|
-
/pf-workflow start release
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
If already in progress:
|
|
49
|
-
```bash
|
|
50
|
-
# Resume where you left off
|
|
51
|
-
/pf-workflow resume
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
To check status:
|
|
55
|
-
```bash
|
|
56
|
-
/pf-workflow status
|
|
57
|
-
```
|
|
58
|
-
</instructions>
|
|
59
|
-
|
|
60
|
-
<when-to-use>
|
|
61
|
-
- After completing a sprint or set of features (stable release)
|
|
62
|
-
- When develop is stable and ready for production (stable release)
|
|
63
|
-
- Before deploying to production environments (stable release)
|
|
64
|
-
- For early testing of new features before a stable cut (alpha/beta/rc prerelease)
|
|
65
|
-
- To iterate on a prerelease (bump alpha.0 → alpha.1)
|
|
66
|
-
- To promote a tested prerelease to stable
|
|
67
|
-
</when-to-use>
|
|
68
|
-
|
|
69
|
-
<prerequisites>
|
|
70
|
-
- Clean working directory (no uncommitted changes)
|
|
71
|
-
- On develop branch
|
|
72
|
-
- Origin remote configured
|
|
73
|
-
- npm authentication configured (for publish step)
|
|
74
|
-
- `gh` CLI authenticated (for GitHub release step)
|
|
75
|
-
</prerequisites>
|
|
76
|
-
|
|
77
|
-
<skills>
|
|
78
|
-
- `/pf-changelog` - For changelog format reference and auto-generation
|
|
79
|
-
- `/retro` - For optional release retrospective
|
|
80
|
-
- `/pf-workflow` - For workflow management commands
|
|
81
|
-
</skills>
|
|
11
|
+
| Old Command | New Command |
|
|
12
|
+
|-------------|-------------|
|
|
13
|
+
| `/repo-status` | `/pf-git status` |
|
|
14
|
+
| `/git-cleanup` | `/pf-git cleanup` |
|
|
15
|
+
| `/create-branches-from-story` | `/pf-git branches` |
|
|
16
|
+
| `/release` | `/pf-git release` |
|
|
@@ -1,49 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
deprecated: true
|
|
3
|
+
redirect: pf-git
|
|
4
|
+
description: "DEPRECATED: Use /pf-git status instead."
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
#
|
|
7
|
+
# /repo-status - DEPRECATED
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
Repository commands have been consolidated into `/pf-git`. Use:
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
Run this command to show the status of all repos:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
$CLAUDE_PROJECT_DIR/scripts/git/git-status-all.sh
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
For a brief one-line-per-repo summary:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
$CLAUDE_PROJECT_DIR/scripts/git/git-status-all.sh --brief
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## What It Shows
|
|
28
|
-
|
|
29
|
-
For each configured repo:
|
|
30
|
-
- Current branch
|
|
31
|
-
- Whether there are uncommitted changes
|
|
32
|
-
- Whether the repo is ahead/behind origin
|
|
33
|
-
- Unpushed commits (if any)
|
|
34
|
-
|
|
35
|
-
## Adding More Repos
|
|
36
|
-
|
|
37
|
-
To add repos, edit `.pennyfarthing/repos.yaml`:
|
|
38
|
-
|
|
39
|
-
```yaml
|
|
40
|
-
repos:
|
|
41
|
-
my-api:
|
|
42
|
-
path: my-api # relative to project root
|
|
43
|
-
type: api
|
|
44
|
-
language: go
|
|
45
|
-
my-ui:
|
|
46
|
-
path: my-ui
|
|
47
|
-
type: ui
|
|
48
|
-
language: typescript
|
|
49
|
-
```
|
|
11
|
+
| Old Command | New Command |
|
|
12
|
+
|-------------|-------------|
|
|
13
|
+
| `/repo-status` | `/pf-git status` |
|
|
14
|
+
| `/git-cleanup` | `/pf-git cleanup` |
|
|
15
|
+
| `/create-branches-from-story` | `/pf-git branches` |
|
|
16
|
+
| `/release` | `/pf-git release` |
|
|
@@ -1,116 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
deprecated: true
|
|
3
|
+
redirect: pf-ci
|
|
4
|
+
description: "DEPRECATED: Use /pf-ci run instead."
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
Run CI locally by detecting the project's CI system and executing the appropriate commands. Thin wrapper that delegates to project configuration.
|
|
7
|
-
</purpose>
|
|
7
|
+
# /run-ci - DEPRECATED
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- Before pushing to verify CI will pass
|
|
11
|
-
- To reproduce CI failures locally
|
|
12
|
-
- To run the full CI pipeline without pushing
|
|
13
|
-
- When you want to know what CI system the project uses
|
|
14
|
-
</when-to-use>
|
|
9
|
+
CI commands have been consolidated into `/pf-ci`. Use:
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Use the run-ci.sh script:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
# Run CI locally (auto-detects CI system)
|
|
24
|
-
$CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/run-ci.sh
|
|
25
|
-
|
|
26
|
-
# Show what CI system is detected without running
|
|
27
|
-
$CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/run-ci.sh --detect-only
|
|
28
|
-
|
|
29
|
-
# Show what command would run without executing
|
|
30
|
-
$CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/run-ci.sh --dry-run
|
|
31
|
-
|
|
32
|
-
# Show help
|
|
33
|
-
$CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/run-ci.sh --help
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Options
|
|
37
|
-
|
|
38
|
-
| Option | Description |
|
|
39
|
-
|--------|-------------|
|
|
40
|
-
| `--help`, `-h` | Show help message |
|
|
41
|
-
| `--detect-only` | Show detected CI system without running |
|
|
42
|
-
| `--dry-run` | Show what would run without executing |
|
|
43
|
-
|
|
44
|
-
</execution>
|
|
45
|
-
|
|
46
|
-
<detection-order>
|
|
47
|
-
|
|
48
|
-
## CI System Detection
|
|
49
|
-
|
|
50
|
-
The script detects CI systems in this order:
|
|
51
|
-
|
|
52
|
-
| Priority | System | Detection | Command |
|
|
53
|
-
|----------|--------|-----------|---------|
|
|
54
|
-
| 1 | Justfile | `just --list` shows `ci` recipe | `just ci` |
|
|
55
|
-
| 2 | GitHub Actions | `.github/workflows/*.yml` exists | `act` |
|
|
56
|
-
| 3 | GitLab CI | `.gitlab-ci.yml` exists | `gitlab-runner exec` |
|
|
57
|
-
| 4 | npm fallback | `package.json` exists | `npm run build && npm test && npm run lint` |
|
|
58
|
-
|
|
59
|
-
### Package Manager Detection
|
|
60
|
-
|
|
61
|
-
For npm fallback, the script detects package manager:
|
|
62
|
-
- `pnpm-lock.yaml` or `pnpm-workspace.yaml` → `pnpm`
|
|
63
|
-
- `yarn.lock` → `yarn`
|
|
64
|
-
- Otherwise → `npm`
|
|
65
|
-
|
|
66
|
-
</detection-order>
|
|
67
|
-
|
|
68
|
-
<output-format>
|
|
69
|
-
|
|
70
|
-
## Output Examples
|
|
71
|
-
|
|
72
|
-
### --detect-only
|
|
73
|
-
```
|
|
74
|
-
Detected CI system: github-actions
|
|
75
|
-
Would run: act
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### --dry-run
|
|
79
|
-
```
|
|
80
|
-
Detected: github-actions
|
|
81
|
-
Would run: act
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
### Running CI
|
|
85
|
-
```
|
|
86
|
-
Running CI: github-actions
|
|
87
|
-
Command: act
|
|
88
|
-
|
|
89
|
-
[act output follows...]
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
Exit codes:
|
|
93
|
-
- `0` - CI ran successfully
|
|
94
|
-
- `1` - CI failed or no CI system detected
|
|
95
|
-
|
|
96
|
-
</output-format>
|
|
97
|
-
|
|
98
|
-
<requirements>
|
|
99
|
-
|
|
100
|
-
## Tool Requirements
|
|
101
|
-
|
|
102
|
-
| CI System | Required Tool | Installation |
|
|
103
|
-
|-----------|--------------|--------------|
|
|
104
|
-
| GitHub Actions | `act` | `brew install act` |
|
|
105
|
-
| GitLab CI | `gitlab-runner` | See GitLab docs |
|
|
106
|
-
| Justfile | `just` | `brew install just` |
|
|
107
|
-
| npm fallback | `npm`/`pnpm`/`yarn` | Comes with Node.js |
|
|
108
|
-
|
|
109
|
-
If a required tool is not installed, the script will show a warning.
|
|
110
|
-
|
|
111
|
-
</requirements>
|
|
112
|
-
|
|
113
|
-
<reference>
|
|
114
|
-
- **Script:** `.pennyfarthing/scripts/misc/run-ci.sh`
|
|
115
|
-
- **Story:** 21-4 (Command & Skill Expansion)
|
|
116
|
-
</reference>
|
|
11
|
+
| Old Command | New Command |
|
|
12
|
+
|-------------|-------------|
|
|
13
|
+
| `/run-ci` | `/pf-ci run` |
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Session lifecycle - start new work and resume checkpoints
|
|
3
|
+
args: "[new|continue] [args...]"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Session Management
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Manage work session lifecycle. Start new stories from the backlog or resume from saved checkpoints after context circuit breaker.
|
|
10
|
+
</purpose>
|
|
11
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
|
|
14
|
+
### `/pf-session new`
|
|
15
|
+
|
|
16
|
+
Start the next available story from the sprint backlog.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pf session new
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Equivalent to `pf sprint work next`. Auto-selects the highest priority story.
|
|
23
|
+
|
|
24
|
+
### `/pf-session continue [--list] [--story-id ID]`
|
|
25
|
+
|
|
26
|
+
Resume work from a saved checkpoint after context circuit breaker.
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pf session continue # Interactive checkpoint selection
|
|
30
|
+
pf session continue --list # Show available checkpoints
|
|
31
|
+
pf session continue --story-id MSSCI-12345 # Resume specific story
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Quick Reference
|
|
35
|
+
|
|
36
|
+
| Command | Description |
|
|
37
|
+
|---------|-------------|
|
|
38
|
+
| `/pf-session new` | Start next available story |
|
|
39
|
+
| `/pf-session continue` | Resume from checkpoint |
|
|
40
|
+
|
|
41
|
+
## CLI Equivalent
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pf session new
|
|
45
|
+
pf session continue [--list] [--story-id ID]
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Related
|
|
49
|
+
|
|
50
|
+
- `/pf-work` — Smart entry point (resumes or starts new)
|
|
51
|
+
- `/pf-sprint work` — Interactive story selection
|