@pennyfarthing/core 11.2.0 → 11.2.2
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 +100 -40
- package/package.json +2 -1
- package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/doctor.js +474 -66
- package/packages/core/dist/cli/commands/doctor.js.map +1 -1
- package/packages/core/dist/cli/commands/init.js +4 -4
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/update.js +4 -5
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/utils/constants.d.ts +3 -8
- package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/constants.js +3 -4
- package/packages/core/dist/cli/utils/constants.js.map +1 -1
- package/packages/core/dist/cli/utils/settings.d.ts +7 -0
- package/packages/core/dist/cli/utils/settings.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/settings.js +70 -29
- package/packages/core/dist/cli/utils/settings.js.map +1 -1
- package/packages/core/dist/cli/utils/symlinks.js +16 -16
- package/packages/core/dist/cli/utils/symlinks.js.map +1 -1
- package/packages/core/dist/consultation/dialogue-manager.d.ts +1 -1
- package/packages/core/dist/consultation/dialogue-manager.d.ts.map +1 -1
- package/packages/core/dist/consultation/dialogue-manager.js +1 -1
- package/packages/core/dist/consultation/dialogue-manager.js.map +1 -1
- package/packages/core/dist/consultation/dialogue-manager.test.js.map +1 -1
- package/packages/core/dist/consultation/tandem-metrics.d.ts +91 -0
- package/packages/core/dist/consultation/tandem-metrics.d.ts.map +1 -0
- package/packages/core/dist/consultation/tandem-metrics.js +131 -0
- package/packages/core/dist/consultation/tandem-metrics.js.map +1 -0
- package/packages/core/dist/consultation/tandem-metrics.test.d.ts +18 -0
- package/packages/core/dist/consultation/tandem-metrics.test.d.ts.map +1 -0
- package/packages/core/dist/consultation/tandem-metrics.test.js +457 -0
- package/packages/core/dist/consultation/tandem-metrics.test.js.map +1 -0
- package/packages/core/dist/public/css/react.css +1 -1
- package/packages/core/dist/public/js/react/react.js +14 -14
- package/packages/core/dist/server/api/agent-load.js +1 -1
- package/packages/core/dist/server/api/agent-load.js.map +1 -1
- package/packages/core/dist/server/api/git.d.ts.map +1 -1
- package/packages/core/dist/server/api/git.js +0 -1
- package/packages/core/dist/server/api/git.js.map +1 -1
- package/packages/core/dist/server/api/index.d.ts +2 -0
- package/packages/core/dist/server/api/index.d.ts.map +1 -1
- package/packages/core/dist/server/api/index.js +2 -0
- package/packages/core/dist/server/api/index.js.map +1 -1
- package/packages/core/dist/server/api/project-info.d.ts +11 -0
- package/packages/core/dist/server/api/project-info.d.ts.map +1 -0
- package/packages/core/dist/server/api/project-info.js +18 -0
- package/packages/core/dist/server/api/project-info.js.map +1 -0
- package/packages/core/dist/server/otlp-receiver.d.ts.map +1 -1
- package/packages/core/dist/server/otlp-receiver.js +18 -1
- package/packages/core/dist/server/otlp-receiver.js.map +1 -1
- package/packages/core/dist/server/otlp-receiver.test.js +1 -1
- package/packages/core/dist/server/otlp-receiver.test.js.map +1 -1
- package/packages/core/dist/server/server.d.ts +0 -3
- package/packages/core/dist/server/server.d.ts.map +1 -1
- package/packages/core/dist/server/server.js +5 -38
- package/packages/core/dist/server/server.js.map +1 -1
- package/packages/core/dist/server/server.test.d.ts +1 -1
- package/packages/core/dist/server/server.test.js +12 -23
- package/packages/core/dist/server/server.test.js.map +1 -1
- package/packages/core/dist/server/settings.d.ts +1 -0
- package/packages/core/dist/server/settings.d.ts.map +1 -1
- package/packages/core/dist/server/settings.js +13 -0
- package/packages/core/dist/server/settings.js.map +1 -1
- package/packages/core/dist/shared/capabilities.d.ts +88 -0
- package/packages/core/dist/shared/capabilities.d.ts.map +1 -0
- package/packages/core/dist/shared/capabilities.js +133 -0
- package/packages/core/dist/shared/capabilities.js.map +1 -0
- package/packages/core/dist/shared/capabilities.test.d.ts +2 -0
- package/packages/core/dist/shared/capabilities.test.d.ts.map +1 -0
- package/packages/core/dist/shared/capabilities.test.js +217 -0
- package/packages/core/dist/shared/capabilities.test.js.map +1 -0
- package/packages/core/dist/shared/spawn-prompt.d.ts +47 -0
- package/packages/core/dist/shared/spawn-prompt.d.ts.map +1 -0
- package/packages/core/dist/shared/spawn-prompt.js +82 -0
- package/packages/core/dist/shared/spawn-prompt.js.map +1 -0
- package/packages/core/dist/shared/spawn-prompt.test.d.ts +2 -0
- package/packages/core/dist/shared/spawn-prompt.test.d.ts.map +1 -0
- package/packages/core/dist/shared/spawn-prompt.test.js +251 -0
- package/packages/core/dist/shared/spawn-prompt.test.js.map +1 -0
- package/packages/core/dist/workflow/tandem-workflow-templates.test.d.ts +18 -0
- package/packages/core/dist/workflow/tandem-workflow-templates.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/tandem-workflow-templates.test.js +434 -0
- package/packages/core/dist/workflow/tandem-workflow-templates.test.js.map +1 -0
- package/packages/core/dist/workflow/team-lifecycle.d.ts +169 -0
- package/packages/core/dist/workflow/team-lifecycle.d.ts.map +1 -0
- package/packages/core/dist/workflow/team-lifecycle.js +217 -0
- package/packages/core/dist/workflow/team-lifecycle.js.map +1 -0
- package/packages/core/dist/workflow/team-lifecycle.test.d.ts +20 -0
- package/packages/core/dist/workflow/team-lifecycle.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/team-lifecycle.test.js +966 -0
- package/packages/core/dist/workflow/team-lifecycle.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts +32 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +120 -0
- package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.js +570 -1
- package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-team-templates.test.d.ts +17 -0
- package/packages/core/dist/workflow/workflow-team-templates.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-team-templates.test.js +275 -0
- package/packages/core/dist/workflow/workflow-team-templates.test.js.map +1 -0
- package/pennyfarthing-dist/agents/dev.md +21 -12
- package/pennyfarthing-dist/agents/reviewer.md +23 -4
- package/pennyfarthing-dist/agents/sm-finish.md +19 -2
- package/pennyfarthing-dist/agents/sm-setup.md +7 -7
- package/pennyfarthing-dist/agents/sm.md +12 -12
- package/pennyfarthing-dist/agents/tea.md +2 -2
- package/pennyfarthing-dist/agents/testing-runner.md +1 -1
- package/pennyfarthing-dist/commands/pf-architect.md +1 -1
- package/pennyfarthing-dist/commands/pf-ba.md +1 -1
- package/pennyfarthing-dist/commands/pf-chore.md +2 -2
- package/pennyfarthing-dist/commands/pf-dev.md +1 -1
- package/pennyfarthing-dist/commands/pf-devops.md +1 -1
- package/pennyfarthing-dist/commands/pf-epic.md +6 -6
- package/pennyfarthing-dist/commands/pf-git.md +12 -10
- package/pennyfarthing-dist/commands/pf-health-check.md +1 -1
- package/pennyfarthing-dist/commands/pf-help.md +12 -12
- package/pennyfarthing-dist/commands/pf-orchestrator.md +1 -1
- package/pennyfarthing-dist/commands/pf-pm.md +1 -1
- package/pennyfarthing-dist/commands/pf-prime.md +8 -8
- package/pennyfarthing-dist/commands/pf-reviewer.md +1 -1
- package/pennyfarthing-dist/commands/pf-session.md +7 -7
- package/pennyfarthing-dist/commands/pf-sm.md +1 -1
- package/pennyfarthing-dist/commands/pf-sprint.md +7 -7
- package/pennyfarthing-dist/commands/pf-tea.md +1 -1
- package/pennyfarthing-dist/commands/pf-tech-writer.md +1 -1
- package/pennyfarthing-dist/commands/pf-theme.md +9 -9
- package/pennyfarthing-dist/commands/pf-ux-designer.md +1 -1
- package/pennyfarthing-dist/commands/pf-work.md +1 -1
- package/pennyfarthing-dist/gates/approval.md +63 -0
- package/pennyfarthing-dist/gates/confidence-sm.md +71 -0
- package/pennyfarthing-dist/gates/context-ok.md +56 -0
- package/pennyfarthing-dist/gates/evaluations/confidence-sm.md +54 -0
- package/pennyfarthing-dist/gates/quality-pass.md +67 -0
- package/pennyfarthing-dist/gates/tests-fail.md +84 -0
- package/pennyfarthing-dist/gates/tests-pass.md +79 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +84 -29
- package/pennyfarthing-dist/guides/agent-coordination.md +10 -10
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +6 -6
- package/pennyfarthing-dist/guides/agent-template-tactical.md +1 -1
- package/pennyfarthing-dist/guides/bell-mode.md +1 -1
- package/pennyfarthing-dist/guides/bikerack.md +10 -10
- package/pennyfarthing-dist/guides/brownfield-tools.md +24 -24
- package/pennyfarthing-dist/guides/command-tag-taxonomy.md +1 -1
- package/pennyfarthing-dist/guides/gate-schema.md +2 -2
- package/pennyfarthing-dist/guides/gates.md +3 -3
- package/pennyfarthing-dist/guides/handoff-cli.md +8 -8
- package/pennyfarthing-dist/guides/hooks.md +29 -29
- package/pennyfarthing-dist/guides/prime.md +2 -2
- package/pennyfarthing-dist/guides/reflector.md +1 -1
- package/pennyfarthing-dist/guides/skill-schema.md +6 -6
- package/pennyfarthing-dist/guides/tandem-protocol.md +3 -3
- package/pennyfarthing-dist/guides/workflow-schema.md +1 -1
- package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
- package/pennyfarthing-dist/guides/xml-tags.md +8 -8
- package/pennyfarthing-dist/scripts/README.md +4 -4
- package/pennyfarthing-dist/scripts/core/agent-session.sh +2 -5
- package/pennyfarthing-dist/scripts/core/check-context.sh +3 -1
- package/pennyfarthing-dist/scripts/core/pf.sh +5 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +4 -89
- package/pennyfarthing-dist/scripts/core/prime.sh +2 -25
- package/pennyfarthing-dist/scripts/git/README.md +14 -14
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +2 -3
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +2 -3
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +2 -3
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +2 -4
- package/pennyfarthing-dist/scripts/hooks/README.md +6 -6
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +4 -183
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +4 -95
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +4 -65
- package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +3 -31
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +5 -4
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +29 -34
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +4 -71
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +3 -19
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +4 -30
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +3 -32
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +4 -65
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +4 -78
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +3 -93
- package/pennyfarthing-dist/scripts/lib/env.sh +34 -0
- package/pennyfarthing-dist/scripts/lib/run-pf.sh +39 -0
- package/pennyfarthing-dist/scripts/misc/README.md +1 -1
- package/pennyfarthing-dist/scripts/misc/statusline.sh +4 -301
- package/pennyfarthing-dist/scripts/sprint/README.md +21 -21
- package/pennyfarthing-dist/scripts/workflow/README.md +2 -2
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +2 -16
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +3 -3
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +3 -3
- package/pennyfarthing-dist/skills/pf-bc/examples.md +23 -23
- package/pennyfarthing-dist/skills/pf-bc/skill.md +17 -17
- package/pennyfarthing-dist/skills/pf-bc/usage.md +8 -8
- package/pennyfarthing-dist/skills/pf-jira/SKILL.md +15 -15
- package/pennyfarthing-dist/skills/pf-jira/examples.md +48 -48
- package/pennyfarthing-dist/skills/pf-jira/usage.md +15 -15
- package/pennyfarthing-dist/skills/pf-sprint/examples.md +80 -80
- package/pennyfarthing-dist/skills/pf-sprint/skill.md +35 -35
- package/pennyfarthing-dist/skills/pf-sprint/usage.md +30 -30
- package/pennyfarthing-dist/skills/pf-theme/examples.md +15 -15
- package/pennyfarthing-dist/skills/pf-theme/skill.md +6 -6
- package/pennyfarthing-dist/skills/pf-theme/usage.md +5 -5
- package/pennyfarthing-dist/skills/pf-workflow/examples.md +27 -27
- package/pennyfarthing-dist/skills/pf-workflow/skill.md +11 -11
- package/pennyfarthing-dist/skills/pf-workflow/usage.md +11 -11
- package/pennyfarthing-dist/skills/skill-registry.yaml +19 -19
- package/pennyfarthing-dist/templates/settings.local.json.template +19 -10
- package/pennyfarthing-dist/workflows/bdd-team.yaml +89 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +1 -1
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +1 -1
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +1 -1
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +1 -1
- package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +47 -0
- package/pennyfarthing-dist/workflows/tdd-team.yaml +80 -0
- package/pennyfarthing-dist/workflows/tdd.yaml +11 -2
- package/pennyfarthing_scripts/CLAUDE.md +19 -10
- package/pennyfarthing_scripts/__init__.py +1 -1
- 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__/context.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/hooks.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/bc/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__pycache__/focus.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/__pycache__/split.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bc/cli.py +2 -2
- package/pennyfarthing_scripts/bellmode_hook.py +9 -296
- package/pennyfarthing_scripts/bikerack/__pycache__/audit_log_panel.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__/context_meter_footer.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__/events.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__/portrait_resolver.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/progress_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/sprint_panel.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/story_detail_data.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bikerack/__pycache__/story_detail_screen.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/audit_log_panel.py +161 -0
- package/pennyfarthing_scripts/bikerack/base_panel.py +27 -4
- package/pennyfarthing_scripts/bikerack/changed_panel.py +96 -4
- package/pennyfarthing_scripts/bikerack/context_meter_footer.py +88 -0
- package/pennyfarthing_scripts/bikerack/debug_panel.py +1 -1
- package/pennyfarthing_scripts/bikerack/diffs_panel.py +30 -0
- package/pennyfarthing_scripts/bikerack/events.py +28 -0
- package/pennyfarthing_scripts/bikerack/launcher.py +6 -6
- package/pennyfarthing_scripts/bikerack/portrait_resolver.py +139 -0
- package/pennyfarthing_scripts/bikerack/progress_panel.py +0 -1
- package/pennyfarthing_scripts/bikerack/sprint_panel.py +373 -142
- package/pennyfarthing_scripts/bikerack/story_detail_data.py +247 -0
- package/pennyfarthing_scripts/bikerack/story_detail_screen.py +177 -0
- package/pennyfarthing_scripts/bikerack/tui.py +304 -62
- package/pennyfarthing_scripts/bikerack/ws_client.py +2 -2
- package/pennyfarthing_scripts/cli.py +5 -0
- package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/config.py +29 -2
- package/pennyfarthing_scripts/common/pr_config.py +38 -0
- package/pennyfarthing_scripts/consultation/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/consultation/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/consultation/cli.py +3 -3
- package/pennyfarthing_scripts/context.py +3 -3
- 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__/repos.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/hooks_installer.py +2 -3
- package/pennyfarthing_scripts/git/status_all.py +1 -1
- package/pennyfarthing_scripts/git/worktree.py +2 -2
- package/pennyfarthing_scripts/git_group/__pycache__/cli.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__/marker.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/phase_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/__pycache__/resolve_gate.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/handoff/cli.py +33 -1
- package/pennyfarthing_scripts/handoff/complete_phase.py +28 -0
- package/pennyfarthing_scripts/handoff/marker.py +15 -15
- package/pennyfarthing_scripts/handoff/phase_check.py +96 -0
- package/pennyfarthing_scripts/handoff/resolve_gate.py +13 -1
- package/pennyfarthing_scripts/hooks/__init__.py +442 -0
- package/pennyfarthing_scripts/hooks/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/bell_mode.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/context_breaker.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/context_warning.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/cyclist_pretooluse.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/pre_edit_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/schema_validation.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/session_start.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/session_stop.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/sprint_yaml_validation.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/__pycache__/statusline.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/hooks/bell_mode.py +214 -0
- package/pennyfarthing_scripts/hooks/cli.py +96 -0
- package/pennyfarthing_scripts/hooks/context_breaker.py +104 -0
- package/pennyfarthing_scripts/hooks/context_warning.py +66 -0
- package/pennyfarthing_scripts/hooks/cyclist_pretooluse.py +129 -0
- package/pennyfarthing_scripts/hooks/pre_edit_check.py +77 -0
- package/pennyfarthing_scripts/hooks/reflector_check.py +270 -0
- package/pennyfarthing_scripts/hooks/schema_validation.py +202 -0
- package/pennyfarthing_scripts/hooks/session_start.py +294 -0
- package/pennyfarthing_scripts/hooks/session_stop.py +111 -0
- package/pennyfarthing_scripts/hooks/sprint_yaml_validation.py +97 -0
- package/pennyfarthing_scripts/hooks/statusline.py +429 -0
- package/pennyfarthing_scripts/hooks.py +27 -432
- package/pennyfarthing_scripts/pretooluse_hook.py +3 -185
- package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/heatmap.py +3 -15
- package/pennyfarthing_scripts/prime/workflow.py +2 -1
- package/pennyfarthing_scripts/schema_validation_hook.py +3 -298
- package/pennyfarthing_scripts/session_start_hook.py +4 -186
- package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/loader.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/cli.py +121 -0
- package/pennyfarthing_scripts/sprint/loader.py +154 -3
- package/pennyfarthing_scripts/sprint/story_update.py +26 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_bikerack.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_workflow_list_team.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/test_bikerack.py +26 -26
- package/pennyfarthing_scripts/tests/test_dialogue_manager.py +0 -1
- package/pennyfarthing_scripts/tests/test_sprint_panel.py +344 -265
- package/pennyfarthing_scripts/tests/test_workflow_list_team.py +147 -0
- package/pennyfarthing_scripts/validate/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/skill_command.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/tandem_awareness.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/team_mode.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/validate/adapters/team_mode.py +323 -0
- package/pennyfarthing_scripts/validate/adapters/workflow.py +19 -0
- package/pennyfarthing_scripts/welcome_hook.py +3 -149
- package/pennyfarthing_scripts/workflow/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/helpers.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/scale.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/state.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/__pycache__/team_lifecycle.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/workflow/cli.py +22 -20
- package/pennyfarthing_scripts/workflow/state.py +0 -1
- package/pennyfarthing_scripts/workflow/team_lifecycle.py +256 -0
- package/packages/core/dist/cli/cyclist-migration.test.d.ts +0 -16
- package/packages/core/dist/cli/cyclist-migration.test.d.ts.map +0 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +0 -229
- package/packages/core/dist/cli/cyclist-migration.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.d.ts.map +0 -1
- package/packages/core/dist/scripts/theme-detail.test.js +0 -199
- package/packages/core/dist/scripts/theme-detail.test.js.map +0 -1
|
@@ -4,178 +4,178 @@
|
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
# Full sprint status
|
|
7
|
-
pf sprint status
|
|
7
|
+
pf.sh sprint status
|
|
8
8
|
|
|
9
9
|
# Only backlog stories
|
|
10
|
-
pf sprint status backlog
|
|
10
|
+
pf.sh sprint status backlog
|
|
11
11
|
|
|
12
12
|
# Only in-progress work
|
|
13
|
-
pf sprint status in-progress
|
|
13
|
+
pf.sh sprint status in-progress
|
|
14
14
|
|
|
15
15
|
# Only completed stories
|
|
16
|
-
pf sprint status done
|
|
16
|
+
pf.sh sprint status done
|
|
17
17
|
|
|
18
18
|
# Available stories grouped by epic
|
|
19
|
-
pf sprint backlog
|
|
19
|
+
pf.sh sprint backlog
|
|
20
20
|
|
|
21
21
|
# Sprint metrics and velocity
|
|
22
|
-
pf sprint metrics
|
|
23
|
-
pf sprint metrics --json
|
|
22
|
+
pf.sh sprint metrics
|
|
23
|
+
pf.sh sprint metrics --json
|
|
24
24
|
|
|
25
25
|
# Sprint header as JSON (for scripts)
|
|
26
|
-
pf sprint info
|
|
26
|
+
pf.sh sprint info
|
|
27
27
|
|
|
28
28
|
# Future initiatives overview
|
|
29
|
-
pf sprint future
|
|
29
|
+
pf.sh sprint future
|
|
30
30
|
|
|
31
31
|
# Future epic detail with stories
|
|
32
|
-
pf sprint future epic-55
|
|
32
|
+
pf.sh sprint future epic-55
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
## Starting Work
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
# Show available stories (interactive)
|
|
39
|
-
pf sprint work
|
|
39
|
+
pf.sh sprint work
|
|
40
40
|
|
|
41
41
|
# Start specific story
|
|
42
|
-
pf sprint work 91-3
|
|
42
|
+
pf.sh sprint work 91-3
|
|
43
43
|
|
|
44
44
|
# Auto-select highest priority
|
|
45
|
-
pf sprint work next
|
|
45
|
+
pf.sh sprint work next
|
|
46
46
|
|
|
47
47
|
# Preview without starting
|
|
48
|
-
pf sprint work 91-3 --dry-run
|
|
48
|
+
pf.sh sprint work 91-3 --dry-run
|
|
49
49
|
|
|
50
50
|
# Check story availability (JSON output)
|
|
51
|
-
pf sprint check 91-3
|
|
52
|
-
pf sprint check MSSCI-15033
|
|
53
|
-
pf sprint check next
|
|
51
|
+
pf.sh sprint check 91-3
|
|
52
|
+
pf.sh sprint check MSSCI-15033
|
|
53
|
+
pf.sh sprint check next
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
## Story Operations
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
59
|
# Show story details
|
|
60
|
-
pf sprint story show 91-3
|
|
61
|
-
pf sprint story show MSSCI-15033 --json
|
|
60
|
+
pf.sh sprint story show 91-3
|
|
61
|
+
pf.sh sprint story show MSSCI-15033 --json
|
|
62
62
|
|
|
63
63
|
# Add story to epic
|
|
64
|
-
pf sprint story add 91 "Add error handling" 3
|
|
65
|
-
pf sprint story add 91 "Fix null pointer" 2 --type bug
|
|
66
|
-
pf sprint story add 91 "Refactor parser" 3 --workflow trivial --priority p0
|
|
64
|
+
pf.sh sprint story add 91 "Add error handling" 3
|
|
65
|
+
pf.sh sprint story add 91 "Fix null pointer" 2 --type bug
|
|
66
|
+
pf.sh sprint story add 91 "Refactor parser" 3 --workflow trivial --priority p0
|
|
67
67
|
|
|
68
68
|
# Add standalone story to initiative
|
|
69
|
-
pf sprint story add --initiative technical-debt "Fix flaky test" 2 --type bug
|
|
69
|
+
pf.sh sprint story add --initiative technical-debt "Fix flaky test" 2 --type bug
|
|
70
70
|
|
|
71
71
|
# Update story fields
|
|
72
|
-
pf sprint story update 91-3 --status in_progress
|
|
73
|
-
pf sprint story update 91-3 --status done
|
|
74
|
-
pf sprint story update 91-3 --points 5 --priority P0
|
|
75
|
-
pf sprint story update 91-3 --assigned-to keith.avery@1898andco.io
|
|
76
|
-
pf sprint story update 91-3 --workflow tdd-tandem
|
|
77
|
-
pf sprint story update 91-3 --status done --dry-run
|
|
72
|
+
pf.sh sprint story update 91-3 --status in_progress
|
|
73
|
+
pf.sh sprint story update 91-3 --status done
|
|
74
|
+
pf.sh sprint story update 91-3 --points 5 --priority P0
|
|
75
|
+
pf.sh sprint story update 91-3 --assigned-to keith.avery@1898andco.io
|
|
76
|
+
pf.sh sprint story update 91-3 --workflow tdd-tandem
|
|
77
|
+
pf.sh sprint story update 91-3 --status done --dry-run
|
|
78
78
|
|
|
79
79
|
# Get single field
|
|
80
|
-
pf sprint story field 91-3 workflow # tdd
|
|
81
|
-
pf sprint story field 91-3 jira # MSSCI-15033
|
|
82
|
-
pf sprint story field 91-3 status # in_progress
|
|
80
|
+
pf.sh sprint story field 91-3 workflow # tdd
|
|
81
|
+
pf.sh sprint story field 91-3 jira # MSSCI-15033
|
|
82
|
+
pf.sh sprint story field 91-3 status # in_progress
|
|
83
83
|
|
|
84
84
|
# Sizing guidelines
|
|
85
|
-
pf sprint story size
|
|
86
|
-
pf sprint story size 5
|
|
85
|
+
pf.sh sprint story size
|
|
86
|
+
pf.sh sprint story size 5
|
|
87
87
|
|
|
88
88
|
# Story templates
|
|
89
|
-
pf sprint story template
|
|
90
|
-
pf sprint story template feature
|
|
91
|
-
pf sprint story template bug
|
|
89
|
+
pf.sh sprint story template
|
|
90
|
+
pf.sh sprint story template feature
|
|
91
|
+
pf.sh sprint story template bug
|
|
92
92
|
|
|
93
93
|
# Complete story (archive, merge, Jira transition)
|
|
94
|
-
pf sprint story finish 91-3
|
|
95
|
-
pf sprint story finish 91-3 --dry-run
|
|
94
|
+
pf.sh sprint story finish 91-3
|
|
95
|
+
pf.sh sprint story finish 91-3 --dry-run
|
|
96
96
|
|
|
97
97
|
# Claim/unclaim in Jira
|
|
98
|
-
pf sprint story claim MSSCI-15033
|
|
99
|
-
pf sprint story claim MSSCI-15033 --unclaim
|
|
98
|
+
pf.sh sprint story claim MSSCI-15033
|
|
99
|
+
pf.sh sprint story claim MSSCI-15033 --unclaim
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
## Epic Operations
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
105
|
# Show epic details
|
|
106
|
-
pf sprint epic show 91
|
|
107
|
-
pf sprint epic show MSSCI-14298
|
|
108
|
-
pf sprint epic show 91 --json
|
|
106
|
+
pf.sh sprint epic show 91
|
|
107
|
+
pf.sh sprint epic show MSSCI-14298
|
|
108
|
+
pf.sh sprint epic show 91 --json
|
|
109
109
|
|
|
110
110
|
# Add new epic
|
|
111
|
-
pf sprint epic add epic-95 "New Feature Epic"
|
|
112
|
-
pf sprint epic add epic-95 "New Feature" --priority p0 --jira MSSCI-15100
|
|
113
|
-
pf sprint epic add epic-95 "New Feature" -d "Description of the epic"
|
|
111
|
+
pf.sh sprint epic add epic-95 "New Feature Epic"
|
|
112
|
+
pf.sh sprint epic add epic-95 "New Feature" --priority p0 --jira MSSCI-15100
|
|
113
|
+
pf.sh sprint epic add epic-95 "New Feature" -d "Description of the epic"
|
|
114
114
|
|
|
115
115
|
# Update epic
|
|
116
|
-
pf sprint epic update 91 --status in_progress
|
|
117
|
-
pf sprint epic update MSSCI-14298 --priority P0
|
|
118
|
-
pf sprint epic update 91 --status done --dry-run
|
|
116
|
+
pf.sh sprint epic update 91 --status in_progress
|
|
117
|
+
pf.sh sprint epic update MSSCI-14298 --priority P0
|
|
118
|
+
pf.sh sprint epic update 91 --status done --dry-run
|
|
119
119
|
|
|
120
120
|
# Promote from future to current sprint
|
|
121
|
-
pf sprint epic promote epic-55
|
|
122
|
-
pf sprint epic promote 55
|
|
123
|
-
pf sprint epic promote epic-55 --dry-run
|
|
121
|
+
pf.sh sprint epic promote epic-55
|
|
122
|
+
pf.sh sprint epic promote 55
|
|
123
|
+
pf.sh sprint epic promote epic-55 --dry-run
|
|
124
124
|
|
|
125
125
|
# Archive completed epics
|
|
126
|
-
pf sprint epic archive # Scan all completed
|
|
127
|
-
pf sprint epic archive --dry-run # Preview
|
|
128
|
-
pf sprint epic archive 91 # Specific epic
|
|
129
|
-
pf sprint epic archive 91 --jira # Also update Jira
|
|
126
|
+
pf.sh sprint epic archive # Scan all completed
|
|
127
|
+
pf.sh sprint epic archive --dry-run # Preview
|
|
128
|
+
pf.sh sprint epic archive 91 # Specific epic
|
|
129
|
+
pf.sh sprint epic archive 91 --jira # Also update Jira
|
|
130
130
|
|
|
131
131
|
# Cancel epic and all stories
|
|
132
|
-
pf sprint epic cancel 91
|
|
133
|
-
pf sprint epic cancel 91 --jira # Also cancel in Jira
|
|
134
|
-
pf sprint epic cancel 91 --dry-run
|
|
132
|
+
pf.sh sprint epic cancel 91
|
|
133
|
+
pf.sh sprint epic cancel 91 --jira # Also cancel in Jira
|
|
134
|
+
pf.sh sprint epic cancel 91 --dry-run
|
|
135
135
|
|
|
136
136
|
# Import BMAD epics
|
|
137
|
-
pf sprint epic import docs/planning/feature-epics.md
|
|
138
|
-
pf sprint epic import docs/planning/feature-epics.md "My Feature" --marker my-feature
|
|
139
|
-
pf sprint epic import docs/planning/feature-epics.md --dry-run
|
|
137
|
+
pf.sh sprint epic import docs/planning/feature-epics.md
|
|
138
|
+
pf.sh sprint epic import docs/planning/feature-epics.md "My Feature" --marker my-feature
|
|
139
|
+
pf.sh sprint epic import docs/planning/feature-epics.md --dry-run
|
|
140
140
|
|
|
141
141
|
# Remove from future.yaml
|
|
142
|
-
pf sprint epic remove epic-41
|
|
143
|
-
pf sprint epic remove epic-41 --dry-run
|
|
142
|
+
pf.sh sprint epic remove epic-41
|
|
143
|
+
pf.sh sprint epic remove epic-41 --dry-run
|
|
144
144
|
|
|
145
145
|
# Get epic field
|
|
146
|
-
pf sprint epic field 91 jira # MSSCI-14298
|
|
147
|
-
pf sprint epic field 91 title # Epic title
|
|
146
|
+
pf.sh sprint epic field 91 jira # MSSCI-14298
|
|
147
|
+
pf.sh sprint epic field 91 title # Epic title
|
|
148
148
|
```
|
|
149
149
|
|
|
150
150
|
## Initiative Operations
|
|
151
151
|
|
|
152
152
|
```bash
|
|
153
153
|
# Show initiative details
|
|
154
|
-
pf sprint initiative show benchmark-reliability
|
|
155
|
-
pf sprint initiative show technical-debt --json
|
|
154
|
+
pf.sh sprint initiative show benchmark-reliability
|
|
155
|
+
pf.sh sprint initiative show technical-debt --json
|
|
156
156
|
|
|
157
157
|
# Cancel initiative
|
|
158
|
-
pf sprint initiative cancel technical-debt
|
|
159
|
-
pf sprint initiative cancel technical-debt --jira
|
|
160
|
-
pf sprint initiative cancel technical-debt --dry-run
|
|
158
|
+
pf.sh sprint initiative cancel technical-debt
|
|
159
|
+
pf.sh sprint initiative cancel technical-debt --jira
|
|
160
|
+
pf.sh sprint initiative cancel technical-debt --dry-run
|
|
161
161
|
```
|
|
162
162
|
|
|
163
163
|
## Sprint Lifecycle
|
|
164
164
|
|
|
165
165
|
```bash
|
|
166
166
|
# Initialize new sprint
|
|
167
|
-
pf sprint new 2607 278 2026-02-16 2026-03-01 "Performance and polish"
|
|
168
|
-
pf sprint new 2607 278 2026-02-16 2026-03-01 "Performance and polish" --dry-run
|
|
167
|
+
pf.sh sprint new 2607 278 2026-02-16 2026-03-01 "Performance and polish"
|
|
168
|
+
pf.sh sprint new 2607 278 2026-02-16 2026-03-01 "Performance and polish" --dry-run
|
|
169
169
|
|
|
170
170
|
# Archive completed story
|
|
171
|
-
pf sprint archive 91-3 856
|
|
172
|
-
pf sprint archive 91-3 856 --apply # Archive + remove atomically
|
|
171
|
+
pf.sh sprint archive 91-3 856
|
|
172
|
+
pf.sh sprint archive 91-3 856 --apply # Archive + remove atomically
|
|
173
173
|
|
|
174
174
|
# Validate sprint YAML
|
|
175
|
-
pf sprint validate # All validators
|
|
176
|
-
pf sprint validate sprint # Sprint YAML only
|
|
177
|
-
pf sprint validate --fix # Auto-fix issues
|
|
178
|
-
pf sprint validate --strict # Warnings as errors
|
|
175
|
+
pf.sh sprint validate # All validators
|
|
176
|
+
pf.sh sprint validate sprint # Sprint YAML only
|
|
177
|
+
pf.sh sprint validate --fix # Auto-fix issues
|
|
178
|
+
pf.sh sprint validate --strict # Warnings as errors
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
## Sizing Quick Reference
|
|
@@ -4,73 +4,73 @@ description: |
|
|
|
4
4
|
Sprint status, backlog, and story management for Pennyfarthing. Use when checking current
|
|
5
5
|
sprint status, finding available stories, reviewing backlog, or understanding story context
|
|
6
6
|
and history.
|
|
7
|
-
IMPORTANT: Always use `pf sprint` CLI commands - never manually edit sprint YAML.
|
|
7
|
+
IMPORTANT: Always use `pf.sh sprint` CLI commands - never manually edit sprint YAML.
|
|
8
8
|
args: "[status|backlog|work|story|epic|initiative|archive|new|future|info|metrics|validate|standalone]"
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# /pf-sprint - Sprint Management
|
|
12
12
|
|
|
13
13
|
<critical>
|
|
14
|
-
Never manually edit `sprint/current-sprint.yaml`. Use `pf sprint` CLI commands for deterministic, correct YAML formatting.
|
|
14
|
+
Never manually edit `sprint/current-sprint.yaml`. Use `pf.sh sprint` CLI commands for deterministic, correct YAML formatting.
|
|
15
15
|
</critical>
|
|
16
16
|
|
|
17
17
|
## Quick Reference
|
|
18
18
|
|
|
19
19
|
| Command | CLI | Purpose |
|
|
20
20
|
|---------|-----|---------|
|
|
21
|
-
| `/pf-sprint` | `pf sprint status` | Show sprint status |
|
|
22
|
-
| `/pf-sprint status [filter]` | `pf sprint status [filter]` | Filter: `backlog`, `todo`, `in-progress`, `review`, `done` |
|
|
23
|
-
| `/pf-sprint backlog` | `pf sprint backlog` | Available stories by epic |
|
|
24
|
-
| `/pf-sprint work [id]` | `pf sprint work [story-id] [--dry-run]` | Start work on a story |
|
|
25
|
-
| `/pf-sprint archive <id> [pr]` | `pf sprint archive <id> [pr] [--apply] [--dry-run]` | Archive completed story |
|
|
26
|
-
| `/pf-sprint new ...` | `pf sprint new <yyww> <jira-id> <start> <end> "<goal>" [--dry-run]` | Initialize new sprint |
|
|
27
|
-
| `/pf-sprint future [epic-id]` | `pf sprint future [epic-id]` | Show future initiatives |
|
|
28
|
-
| `/pf-sprint info` | `pf sprint info` | Sprint header as JSON |
|
|
29
|
-
| `/pf-sprint metrics` | `pf sprint metrics [--json]` | Sprint progress and velocity |
|
|
30
|
-
| `/pf-sprint validate` | `pf sprint validate [--fix] [--strict]` | Validate sprint YAML |
|
|
21
|
+
| `/pf-sprint` | `pf.sh sprint status` | Show sprint status |
|
|
22
|
+
| `/pf-sprint status [filter]` | `pf.sh sprint status [filter]` | Filter: `backlog`, `todo`, `in-progress`, `review`, `done` |
|
|
23
|
+
| `/pf-sprint backlog` | `pf.sh sprint backlog` | Available stories by epic |
|
|
24
|
+
| `/pf-sprint work [id]` | `pf.sh sprint work [story-id] [--dry-run]` | Start work on a story |
|
|
25
|
+
| `/pf-sprint archive <id> [pr]` | `pf.sh sprint archive <id> [pr] [--apply] [--dry-run]` | Archive completed story |
|
|
26
|
+
| `/pf-sprint new ...` | `pf.sh sprint new <yyww> <jira-id> <start> <end> "<goal>" [--dry-run]` | Initialize new sprint |
|
|
27
|
+
| `/pf-sprint future [epic-id]` | `pf.sh sprint future [epic-id]` | Show future initiatives |
|
|
28
|
+
| `/pf-sprint info` | `pf.sh sprint info` | Sprint header as JSON |
|
|
29
|
+
| `/pf-sprint metrics` | `pf.sh sprint metrics [--json]` | Sprint progress and velocity |
|
|
30
|
+
| `/pf-sprint validate` | `pf.sh sprint validate [--fix] [--strict]` | Validate sprint YAML |
|
|
31
31
|
|
|
32
32
|
### Story Commands
|
|
33
33
|
|
|
34
34
|
| Command | CLI | Purpose |
|
|
35
35
|
|---------|-----|---------|
|
|
36
|
-
| `/pf-sprint story show <id>` | `pf sprint story show <id> [--json]` | Show story details |
|
|
37
|
-
| `/pf-sprint story add ...` | `pf sprint story add <epic-id> "<title>" <pts> [opts]` | Add story to epic |
|
|
38
|
-
| `/pf-sprint story update <id>` | `pf sprint story update <id> [opts]` | Update story fields |
|
|
39
|
-
| `/pf-sprint story field <id> <f>` | `pf sprint story field <id> <field>` | Get single field value |
|
|
40
|
-
| `/pf-sprint story size [pts]` | `pf sprint story size [points]` | Sizing guidelines |
|
|
41
|
-
| `/pf-sprint story template [t]` | `pf sprint story template [type]` | Story templates |
|
|
42
|
-
| `/pf-sprint story finish <id>` | `pf sprint story finish <id> [--dry-run]` | Complete story workflow |
|
|
43
|
-
| `/pf-sprint story claim <id>` | `pf sprint story claim <id> [--claim/--unclaim] [--dry-run]` | Claim/unclaim in Jira |
|
|
36
|
+
| `/pf-sprint story show <id>` | `pf.sh sprint story show <id> [--json]` | Show story details |
|
|
37
|
+
| `/pf-sprint story add ...` | `pf.sh sprint story add <epic-id> "<title>" <pts> [opts]` | Add story to epic |
|
|
38
|
+
| `/pf-sprint story update <id>` | `pf.sh sprint story update <id> [opts]` | Update story fields |
|
|
39
|
+
| `/pf-sprint story field <id> <f>` | `pf.sh sprint story field <id> <field>` | Get single field value |
|
|
40
|
+
| `/pf-sprint story size [pts]` | `pf.sh sprint story size [points]` | Sizing guidelines |
|
|
41
|
+
| `/pf-sprint story template [t]` | `pf.sh sprint story template [type]` | Story templates |
|
|
42
|
+
| `/pf-sprint story finish <id>` | `pf.sh sprint story finish <id> [--dry-run]` | Complete story workflow |
|
|
43
|
+
| `/pf-sprint story claim <id>` | `pf.sh sprint story claim <id> [--claim/--unclaim] [--dry-run]` | Claim/unclaim in Jira |
|
|
44
44
|
|
|
45
45
|
### Epic Commands
|
|
46
46
|
|
|
47
47
|
| Command | CLI | Purpose |
|
|
48
48
|
|---------|-----|---------|
|
|
49
|
-
| `/pf-sprint epic show <id>` | `pf sprint epic show <id> [--json]` | Show epic details |
|
|
50
|
-
| `/pf-sprint epic add <id> <title>` | `pf sprint epic add <id> <title> [opts]` | Add epic to sprint |
|
|
51
|
-
| `/pf-sprint epic update <id>` | `pf sprint epic update <id> [--status] [--priority] [--dry-run]` | Update epic fields |
|
|
52
|
-
| `/pf-sprint epic promote <id>` | `pf sprint epic promote <id> [--dry-run]` | Move from future to current |
|
|
53
|
-
| `/pf-sprint epic archive [id]` | `pf sprint epic archive [id] [--dry-run] [--jira]` | Archive completed epics |
|
|
54
|
-
| `/pf-sprint epic cancel <id>` | `pf sprint epic cancel <id> [--jira] [--dry-run]` | Cancel epic and stories |
|
|
55
|
-
| `/pf-sprint epic import <file>` | `pf sprint epic import <file> [init] [--marker] [--dry-run]` | Import BMAD epics |
|
|
56
|
-
| `/pf-sprint epic remove <id>` | `pf sprint epic remove <id> [--dry-run]` | Remove from future.yaml |
|
|
57
|
-
| `/pf-sprint epic field <id> <f>` | `pf sprint epic field <id> <field>` | Get single field value |
|
|
49
|
+
| `/pf-sprint epic show <id>` | `pf.sh sprint epic show <id> [--json]` | Show epic details |
|
|
50
|
+
| `/pf-sprint epic add <id> <title>` | `pf.sh sprint epic add <id> <title> [opts]` | Add epic to sprint |
|
|
51
|
+
| `/pf-sprint epic update <id>` | `pf.sh sprint epic update <id> [--status] [--priority] [--dry-run]` | Update epic fields |
|
|
52
|
+
| `/pf-sprint epic promote <id>` | `pf.sh sprint epic promote <id> [--dry-run]` | Move from future to current |
|
|
53
|
+
| `/pf-sprint epic archive [id]` | `pf.sh sprint epic archive [id] [--dry-run] [--jira]` | Archive completed epics |
|
|
54
|
+
| `/pf-sprint epic cancel <id>` | `pf.sh sprint epic cancel <id> [--jira] [--dry-run]` | Cancel epic and stories |
|
|
55
|
+
| `/pf-sprint epic import <file>` | `pf.sh sprint epic import <file> [init] [--marker] [--dry-run]` | Import BMAD epics |
|
|
56
|
+
| `/pf-sprint epic remove <id>` | `pf.sh sprint epic remove <id> [--dry-run]` | Remove from future.yaml |
|
|
57
|
+
| `/pf-sprint epic field <id> <f>` | `pf.sh sprint epic field <id> <field>` | Get single field value |
|
|
58
58
|
|
|
59
59
|
### Initiative Commands
|
|
60
60
|
|
|
61
61
|
| Command | CLI | Purpose |
|
|
62
62
|
|---------|-----|---------|
|
|
63
|
-
| `/pf-sprint initiative show <n>` | `pf sprint initiative show <name> [--json]` | Show initiative details |
|
|
64
|
-
| `/pf-sprint initiative cancel <n>` | `pf sprint initiative cancel <name> [--jira] [--dry-run]` | Cancel initiative |
|
|
63
|
+
| `/pf-sprint initiative show <n>` | `pf.sh sprint initiative show <name> [--json]` | Show initiative details |
|
|
64
|
+
| `/pf-sprint initiative cancel <n>` | `pf.sh sprint initiative cancel <name> [--jira] [--dry-run]` | Cancel initiative |
|
|
65
65
|
|
|
66
66
|
### Aliases
|
|
67
67
|
|
|
68
68
|
| Alias | Equivalent |
|
|
69
69
|
|-------|------------|
|
|
70
|
-
| `pf status` | `pf sprint status` |
|
|
71
|
-
| `pf backlog` | `pf sprint backlog` |
|
|
72
|
-
| `pf work` | `pf sprint work` |
|
|
73
|
-
| `pf story` | `pf sprint story` |
|
|
70
|
+
| `pf.sh status` | `pf.sh sprint status` |
|
|
71
|
+
| `pf.sh backlog` | `pf.sh sprint backlog` |
|
|
72
|
+
| `pf.sh work` | `pf.sh sprint work` |
|
|
73
|
+
| `pf.sh story` | `pf.sh sprint story` |
|
|
74
74
|
| `/pf-session new` | `/pf-sprint work` |
|
|
75
75
|
|
|
76
76
|
---
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Top-Level Commands
|
|
4
4
|
|
|
5
|
-
### `pf sprint status [FILTER]`
|
|
5
|
+
### `pf.sh sprint status [FILTER]`
|
|
6
6
|
|
|
7
7
|
| Arg | Required | Type | Description |
|
|
8
8
|
|-----|----------|------|-------------|
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
Returns sprint metadata, stories grouped by epic, points breakdown.
|
|
12
12
|
|
|
13
|
-
### `pf sprint backlog`
|
|
13
|
+
### `pf.sh sprint backlog`
|
|
14
14
|
|
|
15
15
|
No arguments. Shows stories with `backlog`, `ready`, or `planning` status grouped by epic.
|
|
16
16
|
|
|
17
|
-
### `pf sprint work [STORY_ID] [--dry-run]`
|
|
17
|
+
### `pf.sh sprint work [STORY_ID] [--dry-run]`
|
|
18
18
|
|
|
19
19
|
| Arg/Option | Required | Description |
|
|
20
20
|
|------------|----------|-------------|
|
|
@@ -23,7 +23,7 @@ No arguments. Shows stories with `backlog`, `ready`, or `planning` status groupe
|
|
|
23
23
|
|
|
24
24
|
Without argument: shows backlog. With `next`: auto-selects highest priority.
|
|
25
25
|
|
|
26
|
-
### `pf sprint archive <STORY_ID> [PR_NUMBER] [--apply] [--dry-run]`
|
|
26
|
+
### `pf.sh sprint archive <STORY_ID> [PR_NUMBER] [--apply] [--dry-run]`
|
|
27
27
|
|
|
28
28
|
| Arg/Option | Required | Description |
|
|
29
29
|
|------------|----------|-------------|
|
|
@@ -32,7 +32,7 @@ Without argument: shows backlog. With `next`: auto-selects highest priority.
|
|
|
32
32
|
| `--apply` | No | Also remove from current-sprint.yaml |
|
|
33
33
|
| `--dry-run` | No | Preview without making changes |
|
|
34
34
|
|
|
35
|
-
### `pf sprint new <YYWW> <JIRA_ID> <START> <END> <GOAL> [--dry-run]`
|
|
35
|
+
### `pf.sh sprint new <YYWW> <JIRA_ID> <START> <END> <GOAL> [--dry-run]`
|
|
36
36
|
|
|
37
37
|
| Arg | Required | Description |
|
|
38
38
|
|-----|----------|-------------|
|
|
@@ -45,7 +45,7 @@ Without argument: shows backlog. With `next`: auto-selects highest priority.
|
|
|
45
45
|
|
|
46
46
|
Creates `sprint/current-sprint.yaml` and `sprint/archive/sprint-{YYWW}-completed.yaml`.
|
|
47
47
|
|
|
48
|
-
### `pf sprint future [EPIC_ID]`
|
|
48
|
+
### `pf.sh sprint future [EPIC_ID]`
|
|
49
49
|
|
|
50
50
|
| Arg | Required | Description |
|
|
51
51
|
|-----|----------|-------------|
|
|
@@ -53,11 +53,11 @@ Creates `sprint/current-sprint.yaml` and `sprint/archive/sprint-{YYWW}-completed
|
|
|
53
53
|
|
|
54
54
|
Without arg: initiative summary. With arg: full epic detail with stories.
|
|
55
55
|
|
|
56
|
-
### `pf sprint info`
|
|
56
|
+
### `pf.sh sprint info`
|
|
57
57
|
|
|
58
58
|
No arguments. Returns sprint header fields plus computed totals as JSON.
|
|
59
59
|
|
|
60
|
-
### `pf sprint metrics [--json]`
|
|
60
|
+
### `pf.sh sprint metrics [--json]`
|
|
61
61
|
|
|
62
62
|
| Option | Description |
|
|
63
63
|
|--------|-------------|
|
|
@@ -65,7 +65,7 @@ No arguments. Returns sprint header fields plus computed totals as JSON.
|
|
|
65
65
|
|
|
66
66
|
Shows points, stories, timeline, and velocity tracking.
|
|
67
67
|
|
|
68
|
-
### `pf sprint check <ID>`
|
|
68
|
+
### `pf.sh sprint check <ID>`
|
|
69
69
|
|
|
70
70
|
| Arg | Required | Description |
|
|
71
71
|
|-----|----------|-------------|
|
|
@@ -73,7 +73,7 @@ Shows points, stories, timeline, and velocity tracking.
|
|
|
73
73
|
|
|
74
74
|
Returns JSON with `type` (`story`, `epic`, `next`, `not_found`), availability, and details.
|
|
75
75
|
|
|
76
|
-
### `pf sprint validate [SUBCOMMAND] [--fix] [--strict]`
|
|
76
|
+
### `pf.sh sprint validate [SUBCOMMAND] [--fix] [--strict]`
|
|
77
77
|
|
|
78
78
|
| Arg/Option | Required | Description |
|
|
79
79
|
|------------|----------|-------------|
|
|
@@ -85,14 +85,14 @@ Returns JSON with `type` (`story`, `epic`, `next`, `not_found`), availability, a
|
|
|
85
85
|
|
|
86
86
|
## Story Commands
|
|
87
87
|
|
|
88
|
-
### `pf sprint story show <STORY_ID> [--json]`
|
|
88
|
+
### `pf.sh sprint story show <STORY_ID> [--json]`
|
|
89
89
|
|
|
90
90
|
| Arg/Option | Required | Description |
|
|
91
91
|
|------------|----------|-------------|
|
|
92
92
|
| `STORY_ID` | Yes | Story ID (e.g., `MSSCI-12664` or `67-1`) |
|
|
93
93
|
| `--json` | No | Output as JSON |
|
|
94
94
|
|
|
95
|
-
### `pf sprint story add <EPIC_ID> <TITLE> <POINTS> [options]`
|
|
95
|
+
### `pf.sh sprint story add <EPIC_ID> <TITLE> <POINTS> [options]`
|
|
96
96
|
|
|
97
97
|
| Arg/Option | Required | Description |
|
|
98
98
|
|------------|----------|-------------|
|
|
@@ -110,7 +110,7 @@ Returns JSON with `type` (`story`, `epic`, `next`, `not_found`), availability, a
|
|
|
110
110
|
|
|
111
111
|
When using `--initiative`, positional args shift: `<TITLE> <POINTS>` (no epic ID).
|
|
112
112
|
|
|
113
|
-
### `pf sprint story update <STORY_ID> [options]`
|
|
113
|
+
### `pf.sh sprint story update <STORY_ID> [options]`
|
|
114
114
|
|
|
115
115
|
| Arg/Option | Required | Description |
|
|
116
116
|
|------------|----------|-------------|
|
|
@@ -127,7 +127,7 @@ When using `--initiative`, positional args shift: `<TITLE> <POINTS>` (no epic ID
|
|
|
127
127
|
|
|
128
128
|
Auto-sets `completed` date when status is `done`. Auto-sets `started` and `assigned_to` when status is `in_progress`.
|
|
129
129
|
|
|
130
|
-
### `pf sprint story field <STORY_ID> <FIELD>`
|
|
130
|
+
### `pf.sh sprint story field <STORY_ID> <FIELD>`
|
|
131
131
|
|
|
132
132
|
| Arg | Required | Description |
|
|
133
133
|
|-----|----------|-------------|
|
|
@@ -136,19 +136,19 @@ Auto-sets `completed` date when status is `done`. Auto-sets `started` and `assig
|
|
|
136
136
|
|
|
137
137
|
Returns field value or `null`. Defaults: `workflow=tdd`, `status=backlog`, `repos=pennyfarthing`.
|
|
138
138
|
|
|
139
|
-
### `pf sprint story size [POINTS]`
|
|
139
|
+
### `pf.sh sprint story size [POINTS]`
|
|
140
140
|
|
|
141
141
|
| Arg | Required | Description |
|
|
142
142
|
|-----|----------|-------------|
|
|
143
143
|
| `POINTS` | No | Specific point value |
|
|
144
144
|
|
|
145
|
-
### `pf sprint story template [TYPE]`
|
|
145
|
+
### `pf.sh sprint story template [TYPE]`
|
|
146
146
|
|
|
147
147
|
| Arg | Required | Description |
|
|
148
148
|
|-----|----------|-------------|
|
|
149
149
|
| `TYPE` | No | `feature`, `bug`, `refactor`, `chore` |
|
|
150
150
|
|
|
151
|
-
### `pf sprint story finish <STORY_ID> [--dry-run]`
|
|
151
|
+
### `pf.sh sprint story finish <STORY_ID> [--dry-run]`
|
|
152
152
|
|
|
153
153
|
| Arg/Option | Required | Description |
|
|
154
154
|
|------------|----------|-------------|
|
|
@@ -157,7 +157,7 @@ Returns field value or `null`. Defaults: `workflow=tdd`, `status=backlog`, `repo
|
|
|
157
157
|
|
|
158
158
|
Requires: session file exists, PR approved, reviewer phase complete.
|
|
159
159
|
|
|
160
|
-
### `pf sprint story claim <STORY_ID> [--claim/--unclaim] [--dry-run]`
|
|
160
|
+
### `pf.sh sprint story claim <STORY_ID> [--claim/--unclaim] [--dry-run]`
|
|
161
161
|
|
|
162
162
|
| Arg/Option | Required | Description |
|
|
163
163
|
|------------|----------|-------------|
|
|
@@ -169,7 +169,7 @@ Requires: session file exists, PR approved, reviewer phase complete.
|
|
|
169
169
|
|
|
170
170
|
## Epic Commands
|
|
171
171
|
|
|
172
|
-
### `pf sprint epic show <EPIC_ID> [--json]`
|
|
172
|
+
### `pf.sh sprint epic show <EPIC_ID> [--json]`
|
|
173
173
|
|
|
174
174
|
| Arg/Option | Required | Description |
|
|
175
175
|
|------------|----------|-------------|
|
|
@@ -178,7 +178,7 @@ Requires: session file exists, PR approved, reviewer phase complete.
|
|
|
178
178
|
|
|
179
179
|
Searches both current sprint and future initiative shards.
|
|
180
180
|
|
|
181
|
-
### `pf sprint epic add <EPIC_ID> <TITLE> [options]`
|
|
181
|
+
### `pf.sh sprint epic add <EPIC_ID> <TITLE> [options]`
|
|
182
182
|
|
|
183
183
|
| Arg/Option | Required | Description |
|
|
184
184
|
|------------|----------|-------------|
|
|
@@ -192,7 +192,7 @@ Searches both current sprint and future initiative shards.
|
|
|
192
192
|
| `--sprint-file` | No | Path to sprint YAML file |
|
|
193
193
|
| `--dry-run` | No | Preview without making changes |
|
|
194
194
|
|
|
195
|
-
### `pf sprint epic update <EPIC_ID> [options]`
|
|
195
|
+
### `pf.sh sprint epic update <EPIC_ID> [options]`
|
|
196
196
|
|
|
197
197
|
| Arg/Option | Required | Description |
|
|
198
198
|
|------------|----------|-------------|
|
|
@@ -202,7 +202,7 @@ Searches both current sprint and future initiative shards.
|
|
|
202
202
|
| `--sprint-file` | No | Path to sprint YAML file |
|
|
203
203
|
| `--dry-run` | No | Preview without making changes |
|
|
204
204
|
|
|
205
|
-
### `pf sprint epic promote <EPIC_ID> [--dry-run]`
|
|
205
|
+
### `pf.sh sprint epic promote <EPIC_ID> [--dry-run]`
|
|
206
206
|
|
|
207
207
|
| Arg/Option | Required | Description |
|
|
208
208
|
|------------|----------|-------------|
|
|
@@ -211,7 +211,7 @@ Searches both current sprint and future initiative shards.
|
|
|
211
211
|
|
|
212
212
|
Moves epic from initiative shard to current-sprint.yaml. Detects ID collisions. Validates before writing.
|
|
213
213
|
|
|
214
|
-
### `pf sprint epic archive [EPIC_ID] [--dry-run] [--jira]`
|
|
214
|
+
### `pf.sh sprint epic archive [EPIC_ID] [--dry-run] [--jira]`
|
|
215
215
|
|
|
216
216
|
| Arg/Option | Required | Description |
|
|
217
217
|
|------------|----------|-------------|
|
|
@@ -219,7 +219,7 @@ Moves epic from initiative shard to current-sprint.yaml. Detects ID collisions.
|
|
|
219
219
|
| `--dry-run` | No | Preview without making changes |
|
|
220
220
|
| `--jira` | No | Also update Jira epic status to Done |
|
|
221
221
|
|
|
222
|
-
### `pf sprint epic cancel <EPIC_ID> [--jira] [--dry-run]`
|
|
222
|
+
### `pf.sh sprint epic cancel <EPIC_ID> [--jira] [--dry-run]`
|
|
223
223
|
|
|
224
224
|
| Arg/Option | Required | Description |
|
|
225
225
|
|------------|----------|-------------|
|
|
@@ -227,7 +227,7 @@ Moves epic from initiative shard to current-sprint.yaml. Detects ID collisions.
|
|
|
227
227
|
| `--jira` | No | Also cancel in Jira |
|
|
228
228
|
| `--dry-run` | No | Preview without making changes |
|
|
229
229
|
|
|
230
|
-
### `pf sprint epic import <FILE> [INITIATIVE] [--marker TAG] [--dry-run]`
|
|
230
|
+
### `pf.sh sprint epic import <FILE> [INITIATIVE] [--marker TAG] [--dry-run]`
|
|
231
231
|
|
|
232
232
|
| Arg/Option | Required | Description |
|
|
233
233
|
|------------|----------|-------------|
|
|
@@ -236,14 +236,14 @@ Moves epic from initiative shard to current-sprint.yaml. Detects ID collisions.
|
|
|
236
236
|
| `--marker` | No | Marker tag for stories (default: `imported`) |
|
|
237
237
|
| `--dry-run` | No | Preview without making changes |
|
|
238
238
|
|
|
239
|
-
### `pf sprint epic remove <EPIC_ID> [--dry-run]`
|
|
239
|
+
### `pf.sh sprint epic remove <EPIC_ID> [--dry-run]`
|
|
240
240
|
|
|
241
241
|
| Arg/Option | Required | Description |
|
|
242
242
|
|------------|----------|-------------|
|
|
243
243
|
| `EPIC_ID` | Yes | Epic ID (e.g., `epic-41`) |
|
|
244
244
|
| `--dry-run` | No | Preview without making changes |
|
|
245
245
|
|
|
246
|
-
### `pf sprint epic field <EPIC_ID> <FIELD>`
|
|
246
|
+
### `pf.sh sprint epic field <EPIC_ID> <FIELD>`
|
|
247
247
|
|
|
248
248
|
| Arg | Required | Description |
|
|
249
249
|
|-----|----------|-------------|
|
|
@@ -254,14 +254,14 @@ Moves epic from initiative shard to current-sprint.yaml. Detects ID collisions.
|
|
|
254
254
|
|
|
255
255
|
## Initiative Commands
|
|
256
256
|
|
|
257
|
-
### `pf sprint initiative show <NAME> [--json]`
|
|
257
|
+
### `pf.sh sprint initiative show <NAME> [--json]`
|
|
258
258
|
|
|
259
259
|
| Arg/Option | Required | Description |
|
|
260
260
|
|------------|----------|-------------|
|
|
261
261
|
| `NAME` | Yes | Initiative slug (e.g., `benchmark-reliability`) |
|
|
262
262
|
| `--json` | No | Output as JSON |
|
|
263
263
|
|
|
264
|
-
### `pf sprint initiative cancel <NAME> [--jira] [--dry-run]`
|
|
264
|
+
### `pf.sh sprint initiative cancel <NAME> [--jira] [--dry-run]`
|
|
265
265
|
|
|
266
266
|
| Arg/Option | Required | Description |
|
|
267
267
|
|------------|----------|-------------|
|
|
@@ -290,4 +290,4 @@ Moves epic from initiative shard to current-sprint.yaml. Detects ID collisions.
|
|
|
290
290
|
| Workflow | `tdd`, `trivial`, `bdd`, `tdd-tandem`, `bdd-tandem`, `agent-docs` |
|
|
291
291
|
| Priority | `P0`, `P1`, `P2`, `P3` |
|
|
292
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`.
|
|
293
|
+
Note: `tdd-tandem` and `bdd-tandem` are valid workflow values in YAML but the `pf.sh sprint story add --workflow` CLI choice is limited to `tdd`, `trivial`, `bdd`. Set tandem workflows via `pf.sh sprint story update --workflow tdd-tandem`.
|