@pennyfarthing/core 10.0.5 → 10.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -22
- package/package.json +17 -11
- package/packages/core/dist/cli/commands/doctor-file-layout.test.js.map +1 -1
- package/packages/core/dist/cli/commands/doctor-legacy.test.js +24 -0
- package/packages/core/dist/cli/commands/doctor-legacy.test.js.map +1 -1
- package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/doctor.js +346 -13
- package/packages/core/dist/cli/commands/doctor.js.map +1 -1
- package/packages/core/dist/cli/commands/e2e-fresh-install.test.js +1 -1
- package/packages/core/dist/cli/commands/e2e-fresh-install.test.js.map +1 -1
- package/packages/core/dist/cli/commands/e2e-upgrade.test.js +1 -1
- package/packages/core/dist/cli/commands/e2e-upgrade.test.js.map +1 -1
- package/packages/core/dist/cli/commands/hooks-consolidation.test.js +2 -2
- package/packages/core/dist/cli/commands/hooks-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/commands/init-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/commands/init.d.ts +7 -0
- package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/init.js +41 -8
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/uninstall.js +24 -13
- package/packages/core/dist/cli/commands/uninstall.js.map +1 -1
- package/packages/core/dist/cli/commands/update-consolidation.test.js +0 -10
- package/packages/core/dist/cli/commands/update-consolidation.test.js.map +1 -1
- package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/update.js +26 -0
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/index.js +1 -1
- package/packages/core/dist/cli/index.js.map +1 -1
- package/packages/core/dist/cli/ocean-profiles.test.js.map +1 -1
- package/packages/core/dist/cli/theme-maker.test.js +64 -115
- package/packages/core/dist/cli/theme-maker.test.js.map +1 -1
- package/packages/core/dist/cli/utils/python.d.ts +22 -0
- package/packages/core/dist/cli/utils/python.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/python.js +102 -0
- package/packages/core/dist/cli/utils/python.js.map +1 -0
- package/packages/core/dist/cli/utils/settings.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/settings.js +10 -0
- package/packages/core/dist/cli/utils/settings.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -1
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +2 -2
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/plugins/plugin-discovery.d.ts +116 -0
- package/packages/core/dist/plugins/plugin-discovery.d.ts.map +1 -0
- package/packages/core/dist/plugins/plugin-discovery.js +165 -0
- package/packages/core/dist/plugins/plugin-discovery.js.map +1 -0
- package/packages/core/dist/plugins/plugin-discovery.test.d.ts +22 -0
- package/packages/core/dist/plugins/plugin-discovery.test.d.ts.map +1 -0
- package/packages/core/dist/plugins/plugin-discovery.test.js +498 -0
- package/packages/core/dist/plugins/plugin-discovery.test.js.map +1 -0
- package/packages/core/dist/scripts/generate-spider-report.js.map +1 -1
- package/packages/core/dist/workflow/context-watch.d.ts +80 -0
- package/packages/core/dist/workflow/context-watch.d.ts.map +1 -0
- package/packages/core/dist/workflow/context-watch.js +235 -0
- package/packages/core/dist/workflow/context-watch.js.map +1 -0
- package/packages/core/dist/workflow/context-watch.test.d.ts +1 -0
- package/packages/core/dist/workflow/context-watch.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/context-watch.test.js +746 -0
- package/packages/core/dist/workflow/context-watch.test.js.map +1 -0
- package/packages/core/dist/workflow/file-watch.d.ts +82 -0
- package/packages/core/dist/workflow/file-watch.d.ts.map +1 -0
- package/packages/core/dist/workflow/file-watch.js +198 -0
- package/packages/core/dist/workflow/file-watch.js.map +1 -0
- package/packages/core/dist/workflow/file-watch.test.d.ts +21 -0
- package/packages/core/dist/workflow/file-watch.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/file-watch.test.js +469 -0
- package/packages/core/dist/workflow/file-watch.test.js.map +1 -0
- package/packages/core/dist/workflow/observation-writer.d.ts +79 -0
- package/packages/core/dist/workflow/observation-writer.d.ts.map +1 -0
- package/packages/core/dist/workflow/observation-writer.js +97 -0
- package/packages/core/dist/workflow/observation-writer.js.map +1 -0
- package/packages/core/dist/workflow/observation-writer.test.d.ts +18 -0
- package/packages/core/dist/workflow/observation-writer.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/observation-writer.test.js +424 -0
- package/packages/core/dist/workflow/observation-writer.test.js.map +1 -0
- package/packages/core/dist/workflow/story-workflow-routing.test.js +4 -2
- package/packages/core/dist/workflow/story-workflow-routing.test.js.map +1 -1
- package/packages/core/dist/workflow/tandem-lifecycle.d.ts +117 -0
- package/packages/core/dist/workflow/tandem-lifecycle.d.ts.map +1 -0
- package/packages/core/dist/workflow/tandem-lifecycle.js +186 -0
- package/packages/core/dist/workflow/tandem-lifecycle.js.map +1 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.d.ts +16 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.js +531 -0
- package/packages/core/dist/workflow/tandem-lifecycle.test.js.map +1 -0
- package/packages/core/dist/workflow/tool-watch.d.ts +68 -0
- package/packages/core/dist/workflow/tool-watch.d.ts.map +1 -0
- package/packages/core/dist/workflow/tool-watch.js +166 -0
- package/packages/core/dist/workflow/tool-watch.js.map +1 -0
- package/packages/core/dist/workflow/tool-watch.test.d.ts +18 -0
- package/packages/core/dist/workflow/tool-watch.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/tool-watch.test.js +718 -0
- package/packages/core/dist/workflow/tool-watch.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-migration.test.js +8 -4
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.d.ts +7 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +44 -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 +192 -0
- package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -1
- package/pennyfarthing-dist/agents/README.md +1 -3
- package/pennyfarthing-dist/agents/architect.md +0 -6
- package/pennyfarthing-dist/agents/devops.md +0 -6
- package/pennyfarthing-dist/agents/handoff.md +18 -3
- package/pennyfarthing-dist/agents/orchestrator.md +0 -6
- package/pennyfarthing-dist/agents/pm.md +0 -6
- package/pennyfarthing-dist/agents/sm-finish.md +1 -1
- package/pennyfarthing-dist/agents/sm-handoff.md +27 -4
- package/pennyfarthing-dist/agents/sm.md +11 -11
- package/pennyfarthing-dist/agents/tandem-backseat.md +119 -0
- package/pennyfarthing-dist/commands/architect.md +11 -3
- package/pennyfarthing-dist/commands/close-epic.md +24 -131
- package/pennyfarthing-dist/commands/create-theme.md +14 -24
- package/pennyfarthing-dist/commands/dev.md +11 -3
- package/pennyfarthing-dist/commands/devops.md +11 -3
- package/pennyfarthing-dist/commands/health-check.md +1 -3
- package/pennyfarthing-dist/commands/help.md +8 -12
- package/pennyfarthing-dist/commands/list-themes.md +14 -16
- package/pennyfarthing-dist/commands/orchestrator.md +11 -3
- package/pennyfarthing-dist/commands/parallel-work.md +1 -3
- package/pennyfarthing-dist/commands/pm.md +11 -3
- package/pennyfarthing-dist/commands/prime.md +6 -6
- package/pennyfarthing-dist/commands/reviewer.md +11 -3
- package/pennyfarthing-dist/commands/run-ci.md +1 -1
- package/pennyfarthing-dist/commands/set-theme.md +14 -51
- package/pennyfarthing-dist/commands/setup.md +5 -1
- package/pennyfarthing-dist/commands/show-theme.md +14 -16
- package/pennyfarthing-dist/commands/sm.md +11 -3
- package/pennyfarthing-dist/commands/tea.md +11 -3
- package/pennyfarthing-dist/commands/tech-writer.md +11 -3
- package/pennyfarthing-dist/commands/theme-maker.md +14 -671
- package/pennyfarthing-dist/commands/theme.md +95 -0
- package/pennyfarthing-dist/commands/ux-designer.md +11 -3
- package/pennyfarthing-dist/commands/work.md +3 -5
- package/pennyfarthing-dist/guides/agent-behavior.md +62 -6
- package/pennyfarthing-dist/guides/agent-coordination.md +11 -13
- package/pennyfarthing-dist/guides/agent-template-tactical.md +2 -3
- package/pennyfarthing-dist/guides/bikelane.md +3 -2
- package/pennyfarthing-dist/guides/command-tag-taxonomy.md +212 -0
- package/pennyfarthing-dist/guides/hooks.md +5 -5
- package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +3 -3
- package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +9 -59
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +4 -5
- package/pennyfarthing-dist/guides/prime.md +2 -2
- package/pennyfarthing-dist/guides/scale-levels.md +4 -6
- package/pennyfarthing-dist/guides/skill-schema.md +4 -4
- package/pennyfarthing-dist/guides/tandem-protocol.md +158 -0
- package/pennyfarthing-dist/personas/themes/discworld.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/fifth-element.yaml +295 -0
- package/pennyfarthing-dist/scripts/README.md +1 -1
- package/pennyfarthing-dist/scripts/core/agent-session.sh +6 -2
- package/pennyfarthing-dist/scripts/core/check-context.sh +0 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +0 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +0 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +8 -10
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +0 -0
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +0 -0
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +0 -0
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +8 -6
- package/pennyfarthing-dist/scripts/git/release.sh +0 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +0 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +131 -54
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +32 -15
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +4 -3
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +11 -5
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +0 -0
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/background-tasks.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/common.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/lib/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +0 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/README.md +1 -1
- package/pennyfarthing-dist/scripts/misc/add-short-names.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/check-status.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/repo-utils.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/statusline.sh +50 -8
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +1 -2
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +0 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +0 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +5 -5
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +3 -79
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +0 -0
- package/pennyfarthing-dist/scripts/theme/README.md +1 -1
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +0 -0
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +0 -1
- package/pennyfarthing-dist/scripts/workflow/README.md +2 -2
- package/pennyfarthing-dist/scripts/workflow/check.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/check.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/complete-step.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +10 -144
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +0 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +0 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +0 -0
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +2 -2
- package/pennyfarthing-dist/skills/skill-registry.schema.json +8 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +21 -17
- package/pennyfarthing-dist/skills/sprint/skill.md +25 -2
- package/pennyfarthing-dist/skills/story/scripts/create-story.sh +0 -0
- package/pennyfarthing-dist/skills/story/scripts/size-story.sh +0 -0
- package/pennyfarthing-dist/skills/story/scripts/story-template.sh +0 -0
- package/pennyfarthing-dist/skills/theme/skill.md +290 -75
- package/pennyfarthing-dist/skills/theme-creation/SKILL.md +23 -166
- package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +0 -0
- package/pennyfarthing-dist/skills/workflow/skill.md +27 -4
- package/pennyfarthing-dist/templates/agent-scopes.yaml.template +0 -11
- package/pennyfarthing-dist/templates/auto-load-sm.sh.template +14 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +9 -0
- package/pennyfarthing-dist/workflows/2party-tdd.yaml +399 -0
- package/pennyfarthing-dist/workflows/architecture/workflow.yaml +65 -0
- package/pennyfarthing-dist/workflows/bdd-tandem.yaml +70 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +41 -24
- package/pennyfarthing-dist/workflows/tdd-tandem.yaml +61 -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__/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__/schema_validation_hook.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bellmode_hook.py +202 -47
- package/pennyfarthing_scripts/brownfield/__init__.py +6 -6
- package/pennyfarthing_scripts/brownfield/__main__.py +1 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/__pycache__/discover.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/brownfield/cli.py +0 -1
- package/pennyfarthing_scripts/brownfield/discover.py +1 -2
- package/pennyfarthing_scripts/cli.py +23 -3
- package/pennyfarthing_scripts/codemarkers/__init__.py +23 -0
- package/pennyfarthing_scripts/codemarkers/__main__.py +6 -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/codemarkers/analyze.py +501 -0
- package/pennyfarthing_scripts/codemarkers/cli.py +179 -0
- package/pennyfarthing_scripts/codemarkers/formatters.py +88 -0
- package/pennyfarthing_scripts/codemarkers/models.py +60 -0
- package/pennyfarthing_scripts/common/__init__.py +8 -9
- 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/common/config.py +1 -1
- package/pennyfarthing_scripts/complexity/__init__.py +15 -0
- package/pennyfarthing_scripts/complexity/__main__.py +6 -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/complexity/analyze.py +207 -0
- package/pennyfarthing_scripts/complexity/cli.py +82 -0
- package/pennyfarthing_scripts/complexity/formatters.py +64 -0
- package/pennyfarthing_scripts/complexity/models.py +32 -0
- package/pennyfarthing_scripts/context.py +14 -15
- package/pennyfarthing_scripts/deadcode/__init__.py +6 -0
- package/pennyfarthing_scripts/deadcode/__main__.py +6 -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/deadcode/analyze.py +322 -0
- package/pennyfarthing_scripts/deadcode/cli.py +163 -0
- package/pennyfarthing_scripts/deadcode/formatters.py +106 -0
- package/pennyfarthing_scripts/deadcode/models.py +54 -0
- package/pennyfarthing_scripts/dependencies/__init__.py +20 -0
- package/pennyfarthing_scripts/dependencies/__main__.py +5 -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/dependencies/analyze.py +155 -0
- package/pennyfarthing_scripts/dependencies/cli.py +76 -0
- package/pennyfarthing_scripts/dependencies/formatters.py +63 -0
- package/pennyfarthing_scripts/dependencies/models.py +39 -0
- package/pennyfarthing_scripts/git/__init__.py +5 -5
- 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/create_branches.py +3 -2
- package/pennyfarthing_scripts/git/status_all.py +1 -1
- package/pennyfarthing_scripts/healthscore/__init__.py +21 -0
- package/pennyfarthing_scripts/healthscore/__main__.py +14 -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/healthscore/analyze.py +591 -0
- package/pennyfarthing_scripts/healthscore/cli.py +80 -0
- package/pennyfarthing_scripts/healthscore/formatters.py +46 -0
- package/pennyfarthing_scripts/healthscore/models.py +43 -0
- package/pennyfarthing_scripts/hooks/cyclist-pretooluse-hook.sh +0 -0
- package/pennyfarthing_scripts/hooks.py +8 -11
- package/pennyfarthing_scripts/hotspots/__init__.py +6 -6
- 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/hotspots/analyze.py +155 -14
- package/pennyfarthing_scripts/hotspots/cli.py +12 -10
- package/pennyfarthing_scripts/hotspots/models.py +0 -1
- package/pennyfarthing_scripts/jira/__init__.py +15 -17
- 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/jira/bidirectional.py +44 -18
- package/pennyfarthing_scripts/jira/claim.py +21 -0
- package/pennyfarthing_scripts/jira/cli.py +6 -3
- package/pennyfarthing_scripts/jira/client.py +32 -4
- package/pennyfarthing_scripts/jira/create.py +45 -1
- package/pennyfarthing_scripts/jira/epic.py +3 -2
- package/pennyfarthing_scripts/jira/reconcile.py +0 -1
- package/pennyfarthing_scripts/jira/story.py +2 -0
- package/pennyfarthing_scripts/jira/sync.py +1 -1
- 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/migration/skill.py +0 -1
- package/pennyfarthing_scripts/migration/step.py +0 -1
- package/pennyfarthing_scripts/migration/validate.py +8 -5
- package/pennyfarthing_scripts/patch_mode.py +2 -2
- package/pennyfarthing_scripts/preflight/__init__.py +1 -1
- 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/preflight/finish.py +0 -1
- package/pennyfarthing_scripts/pretooluse_hook.py +6 -7
- 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__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/cli.py +5 -1
- package/pennyfarthing_scripts/prime/loader.py +2 -3
- package/pennyfarthing_scripts/prime/persona.py +2 -1
- package/pennyfarthing_scripts/prime/tiers.py +4 -4
- package/pennyfarthing_scripts/schema_validation_hook.py +2 -3
- package/pennyfarthing_scripts/sprint/__init__.py +10 -12
- package/pennyfarthing_scripts/sprint/__main__.py +2 -2
- 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__/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/archive.py +0 -1
- package/pennyfarthing_scripts/sprint/archive_epic.py +198 -97
- package/pennyfarthing_scripts/sprint/cli.py +62 -46
- package/pennyfarthing_scripts/sprint/epic_add.py +8 -1
- package/pennyfarthing_scripts/sprint/import_epic.py +42 -18
- package/pennyfarthing_scripts/sprint/loader.py +6 -0
- package/pennyfarthing_scripts/sprint/status.py +1 -2
- package/pennyfarthing_scripts/sprint/story_add.py +202 -27
- package/pennyfarthing_scripts/sprint/story_finish.py +209 -0
- package/pennyfarthing_scripts/sprint/story_update.py +11 -3
- package/pennyfarthing_scripts/sprint/validate_cmd.py +0 -1
- package/pennyfarthing_scripts/sprint/validator.py +120 -6
- package/pennyfarthing_scripts/sprint/work.py +28 -7
- package/pennyfarthing_scripts/sprint/yaml_io.py +10 -2
- package/pennyfarthing_scripts/story/__init__.py +14 -16
- 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/story/size.py +0 -1
- package/pennyfarthing_scripts/story/template.py +0 -1
- package/pennyfarthing_scripts/swebench.py +1 -2
- 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_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_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_git_utils.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_healthscore.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_jira_package.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_package_structure.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_patch_mode.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_prime.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_sprint_package.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_sprint_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_validate_cmd.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/conftest.py +1 -2
- package/pennyfarthing_scripts/tests/test_brownfield.py +10 -13
- package/pennyfarthing_scripts/tests/test_cli_modules.py +0 -4
- package/pennyfarthing_scripts/tests/test_codemarkers.py +687 -0
- package/pennyfarthing_scripts/tests/test_common.py +9 -4
- package/pennyfarthing_scripts/tests/test_epic_shard_validation.py +699 -0
- package/pennyfarthing_scripts/tests/test_git_utils.py +10 -13
- package/pennyfarthing_scripts/tests/test_healthscore.py +516 -0
- package/pennyfarthing_scripts/tests/test_jira_package.py +0 -3
- package/pennyfarthing_scripts/tests/test_package_structure.py +3 -16
- package/pennyfarthing_scripts/tests/test_patch_mode.py +7 -11
- package/pennyfarthing_scripts/tests/test_prime.py +39 -21
- package/pennyfarthing_scripts/tests/test_sprint_package.py +3 -8
- package/pennyfarthing_scripts/tests/test_sprint_validator.py +53 -5
- package/pennyfarthing_scripts/tests/test_story_add.py +3 -7
- package/pennyfarthing_scripts/tests/test_story_package.py +0 -3
- package/pennyfarthing_scripts/tests/test_story_update.py +5 -10
- package/pennyfarthing_scripts/tests/test_tiers.py +18 -17
- package/pennyfarthing_scripts/tests/test_token_counting.py +19 -13
- package/pennyfarthing_scripts/tests/test_validate_cmd.py +2 -7
- package/pennyfarthing_scripts/tests/test_workflow_check.py +0 -2
- package/pennyfarthing_scripts/tests/test_yaml_io.py +0 -3
- package/pennyfarthing_scripts/theme/__init__.py +5 -0
- package/pennyfarthing_scripts/theme/__main__.py +6 -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/theme/cli.py +287 -0
- package/pennyfarthing_scripts/validate/__init__.py +21 -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/__init__.py +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/agent.py +239 -0
- package/pennyfarthing_scripts/validate/adapters/schema.py +30 -0
- package/pennyfarthing_scripts/validate/adapters/skill_command.py +292 -0
- package/pennyfarthing_scripts/validate/adapters/sprint.py +69 -0
- package/pennyfarthing_scripts/validate/adapters/workflow.py +320 -0
- package/pennyfarthing_scripts/validate/cli.py +141 -0
- package/pennyfarthing_scripts/welcome_hook.py +2 -3
- package/pennyfarthing_scripts/workflow.py +3 -3
- package/scripts/README.md +41 -0
- package/pennyfarthing-dist/agents/workflow-status-check.md +0 -96
- package/pennyfarthing-dist/commands/benchmark-control.md +0 -69
- package/pennyfarthing-dist/commands/benchmark.md +0 -485
- package/pennyfarthing-dist/commands/job-fair.md +0 -102
- package/pennyfarthing-dist/commands/solo.md +0 -447
- package/pennyfarthing-dist/guides/benchmarks.md +0 -62
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +0 -59
- package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +0 -220
- package/pennyfarthing-dist/scripts/test/swebench-judge.py +0 -374
- package/pennyfarthing-dist/scripts/test/test-cache.sh +0 -165
- package/pennyfarthing-dist/scripts/test/test-setup.sh +0 -337
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +0 -13
- package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +0 -402
- package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +0 -97
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +0 -261
- package/pennyfarthing-dist/skills/judge/SKILL.md +0 -644
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +0 -187
- package/pennyfarthing-dist/workflows/dev-story/checklist.md +0 -80
- package/pennyfarthing-dist/workflows/dev-story/instructions.xml +0 -410
- package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +0 -50
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +0 -201
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +0 -156
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +0 -140
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +0 -203
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +0 -74
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +0 -27
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/pretooluse_hook.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
|
@@ -2,138 +2,31 @@
|
|
|
2
2
|
description: Close an epic - verify completion, update status, and archive context
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Close Epic
|
|
5
|
+
# Close Epic
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
<purpose>
|
|
8
|
+
Closes an epic after all stories are done. Updates sprint YAML, transitions Jira, archives context.
|
|
9
|
+
Counterpart to `/start-epic`. Idempotent — safe to run multiple times.
|
|
10
|
+
</purpose>
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
1. **Verifies** all stories in the epic are status: done
|
|
12
|
-
2. **Updates** epic status to `done` and completed_points
|
|
13
|
-
3. **Updates** sprint summary totals
|
|
14
|
-
4. **Optionally** transitions Jira epic to Done
|
|
15
|
-
5. **Optionally** archives the epic context file
|
|
16
|
-
|
|
17
|
-
## Prerequisites
|
|
18
|
-
|
|
19
|
-
- Epic must exist in current sprint
|
|
20
|
-
- All stories should be done (will warn if not)
|
|
21
|
-
|
|
22
|
-
## Usage
|
|
23
|
-
|
|
24
|
-
Provide the epic ID when invoking this command:
|
|
25
|
-
- `/close-epic 9` - Close epic 9
|
|
26
|
-
- `/close-epic epic-9` - Also accepts epic-N format
|
|
27
|
-
|
|
28
|
-
## Workflow Steps
|
|
29
|
-
|
|
30
|
-
### Step 1: Identify Epic
|
|
31
|
-
|
|
32
|
-
If no epic ID provided, ask:
|
|
33
|
-
> "Which epic would you like to close? (e.g., 9 or epic-9)"
|
|
34
|
-
|
|
35
|
-
Parse the epic ID (strip "epic-" prefix if present).
|
|
36
|
-
|
|
37
|
-
### Step 2: Verify Epic Exists
|
|
38
|
-
|
|
39
|
-
Read `sprint/current-sprint.yaml` and find the epic block:
|
|
40
|
-
- `id: epic-{N}`
|
|
41
|
-
|
|
42
|
-
If not found, error: "Epic not found in current sprint"
|
|
43
|
-
|
|
44
|
-
### Step 3: Check Story Completion
|
|
45
|
-
|
|
46
|
-
For each story in the epic:
|
|
47
|
-
1. Check `status` field
|
|
48
|
-
2. Count done vs not-done
|
|
49
|
-
|
|
50
|
-
**If all done:** Proceed to close
|
|
51
|
-
**If some not done:** Warn user with list of incomplete stories, ask to confirm
|
|
52
|
-
|
|
53
|
-
### Step 4: Update Epic Status
|
|
54
|
-
|
|
55
|
-
Update the epic in `sprint/current-sprint.yaml`:
|
|
56
|
-
```yaml
|
|
57
|
-
status: done
|
|
58
|
-
completed_points: {total of all story points}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Step 5: Update Sprint Summary
|
|
62
|
-
|
|
63
|
-
Recalculate and update the summary section:
|
|
64
|
-
- `completed_points`: Sum of all done story points across all epics
|
|
65
|
-
- `remaining_points`: total_points - completed_points
|
|
66
|
-
- Update notes to reflect epic completion
|
|
67
|
-
|
|
68
|
-
### Step 6: Jira Transition (Optional)
|
|
69
|
-
|
|
70
|
-
If epic has `jira_key`, use `/jira move` skill:
|
|
12
|
+
<usage>
|
|
71
13
|
```bash
|
|
72
|
-
#
|
|
73
|
-
|
|
74
|
-
echo "Transition Jira epic to Done? (y/n)"
|
|
75
|
-
# If yes, use /jira move skill:
|
|
76
|
-
# jira issue move $JIRA_KEY "Done" --project MSSCI
|
|
77
|
-
fi
|
|
14
|
+
/close-epic 79 # Close epic 79
|
|
15
|
+
/close-epic epic-79 # Also accepts epic-N format
|
|
78
16
|
```
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
Summary:
|
|
97
|
-
- Stories: {count} done
|
|
98
|
-
- Points: {points} completed
|
|
99
|
-
- Jira: {transitioned/skipped/no-key}
|
|
100
|
-
- Context: {archived/kept/not-found}
|
|
101
|
-
|
|
102
|
-
Sprint progress: {completed}/{total} points ({percentage}%)
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Example
|
|
106
|
-
|
|
107
|
-
```bash
|
|
108
|
-
# User invokes: /close-epic 9
|
|
109
|
-
|
|
110
|
-
# Output:
|
|
111
|
-
# Checking epic-9...
|
|
112
|
-
# Found: Skill Discovery & Documentation Hub
|
|
113
|
-
# Stories: 5/5 done (13 points)
|
|
114
|
-
#
|
|
115
|
-
# Updating epic status to done...
|
|
116
|
-
# Updating sprint summary (31/45 points)...
|
|
117
|
-
#
|
|
118
|
-
# Jira key found: MSSCI-11512
|
|
119
|
-
# Transition to Done? (y/n): y
|
|
120
|
-
# Transitioning MSSCI-11512 to Done...
|
|
121
|
-
#
|
|
122
|
-
# Context file found: .session/context-epic-9.md
|
|
123
|
-
# Archive to sprint/archive/? (y/n): n
|
|
124
|
-
# Keeping context file in place.
|
|
125
|
-
#
|
|
126
|
-
# Epic 9 closed successfully!
|
|
127
|
-
# Sprint progress: 31/45 points (69%)
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## Notes
|
|
131
|
-
|
|
132
|
-
- This is the counterpart to `/start-epic`
|
|
133
|
-
- Safe to run multiple times (idempotent)
|
|
134
|
-
- Does NOT delete any data, only updates status
|
|
135
|
-
- Context archival is optional and reversible
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
**Flow:** TDD cycle complete all stories `/close-epic` update sprint
|
|
17
|
+
</usage>
|
|
18
|
+
|
|
19
|
+
<workflow>
|
|
20
|
+
1. Parse epic ID (strip `epic-` prefix if present). Ask if not provided.
|
|
21
|
+
2. Read epic shard `sprint/epic-{JIRA_KEY}.yaml`, verify all stories `status: done`. Warn if incomplete.
|
|
22
|
+
3. Update epic: `status: done`, `completed_points: {sum of story points}`
|
|
23
|
+
4. Recalculate sprint summary totals in `sprint/current-sprint.yaml`
|
|
24
|
+
5. If epic has `jira:` key → `pf jira move {JIRA_KEY} "Done"`
|
|
25
|
+
6. If `sprint/context/context-epic-{N}.md` exists → move to `sprint/archive/`
|
|
26
|
+
7. Commit and push sprint changes
|
|
27
|
+
</workflow>
|
|
28
|
+
|
|
29
|
+
<related>
|
|
30
|
+
- `/start-epic` — Start an epic (move to current sprint, generate context)
|
|
31
|
+
- `/sprint status` — View sprint progress
|
|
32
|
+
</related>
|
|
@@ -1,29 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: |
|
|
3
|
+
DEPRECATED: Use /theme create or /theme maker instead.
|
|
4
|
+
Theme commands have been consolidated under /theme.
|
|
5
|
+
deprecated: true
|
|
6
|
+
redirect: theme
|
|
3
7
|
---
|
|
4
8
|
|
|
5
|
-
#
|
|
9
|
+
# /create-theme - DEPRECATED
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
Theme commands have been consolidated into `/theme`. Use:
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
- `--user` - Create as user-level theme (available across all projects)
|
|
17
|
-
|
|
18
|
-
## Instructions
|
|
19
|
-
|
|
20
|
-
1. If no theme name provided, ask the user what they want to call their theme.
|
|
21
|
-
|
|
22
|
-
2. Create the theme:
|
|
23
|
-
```bash
|
|
24
|
-
pennyfarthing theme create <name> [--base <theme>] [--user]
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
3. Guide the user on next steps:
|
|
28
|
-
- Edit the theme file to customize agents
|
|
29
|
-
- Run `/set-theme <name>` to activate
|
|
13
|
+
| Old Command | New Command |
|
|
14
|
+
|-------------|-------------|
|
|
15
|
+
| `/create-theme <name>` | `/theme create <name>` |
|
|
16
|
+
| `/theme-maker` | `/theme maker` |
|
|
17
|
+
| `/list-themes` | `/theme list` |
|
|
18
|
+
| `/show-theme [name]` | `/theme show [name]` |
|
|
19
|
+
| `/set-theme <name>` | `/theme set <name>` |
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: Developer - Feature implementation and coding
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "dev"
|
|
8
|
+
pf agent start "dev"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the Dev agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: DevOps Engineer - Infrastructure and deployment automation
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "devops"
|
|
8
|
+
pf agent start "devops"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the DevOps agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|
|
@@ -3,9 +3,7 @@ description: Check Pennyfarthing installation health and apply updates
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "devops"
|
|
6
|
+
pf agent start "devops"
|
|
9
7
|
```
|
|
10
8
|
|
|
11
9
|
<agent-activation>
|
|
@@ -132,14 +132,10 @@ SM → TEA → Dev → Reviewer → SM (finish)
|
|
|
132
132
|
| `/prime` | Load essential project context at agent activation |
|
|
133
133
|
| `/health-check` | Check Pennyfarthing installation health and apply updates |
|
|
134
134
|
|
|
135
|
-
### Theme Management (
|
|
135
|
+
### Theme Management (1)
|
|
136
136
|
| Command | Description |
|
|
137
137
|
|---------|-------------|
|
|
138
|
-
| `/list
|
|
139
|
-
| `/show-theme` | Show details of a theme including all agent personas |
|
|
140
|
-
| `/set-theme` | Set the active persona theme |
|
|
141
|
-
| `/create-theme` | Create a new custom persona theme |
|
|
142
|
-
| `/theme-maker` | Interactive wizard for creating custom persona themes |
|
|
138
|
+
| `/theme [list\|show\|set\|create\|maker]` | Manage persona themes — list, show, set, create, or interactive wizard |
|
|
143
139
|
|
|
144
140
|
### Creative & Brainstorm (4)
|
|
145
141
|
| Command | Description |
|
|
@@ -192,17 +188,17 @@ Pennyfarthing agents adopt personas from themed character sets. There are **102
|
|
|
192
188
|
| `breaking-bad` | Breaking Bad characters |
|
|
193
189
|
| `battlestar-galactica` | Battlestar Galactica characters |
|
|
194
190
|
|
|
195
|
-
Run `/list
|
|
191
|
+
Run `/theme list` to see all 102 available themes.
|
|
196
192
|
|
|
197
193
|
### Theme Commands
|
|
198
194
|
|
|
199
195
|
| Command | Description |
|
|
200
196
|
|---------|-------------|
|
|
201
|
-
| `/list
|
|
202
|
-
| `/show
|
|
203
|
-
| `/
|
|
204
|
-
| `/
|
|
205
|
-
| `/theme
|
|
197
|
+
| `/theme list` | See all available themes |
|
|
198
|
+
| `/theme show [name]` | View current theme with character mappings |
|
|
199
|
+
| `/theme set <name>` | Change to a different theme |
|
|
200
|
+
| `/theme create <name>` | Create a custom theme |
|
|
201
|
+
| `/theme maker` | Interactive theme creation wizard |
|
|
206
202
|
|
|
207
203
|
### Current Theme
|
|
208
204
|
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: |
|
|
3
|
+
DEPRECATED: Use /theme list instead.
|
|
4
|
+
Theme commands have been consolidated under /theme.
|
|
5
|
+
deprecated: true
|
|
6
|
+
redirect: theme
|
|
3
7
|
---
|
|
4
8
|
|
|
5
|
-
#
|
|
9
|
+
# /list-themes - DEPRECATED
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
Theme commands have been consolidated into `/theme`. Use:
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
**IMPORTANT:** Copy the script output into your response text so the user sees it in the console. Bash tool output may be collapsed in the UI.
|
|
18
|
-
|
|
19
|
-
The output shows:
|
|
20
|
-
- Current theme marked with `*`
|
|
21
|
-
- Tier in brackets: `[S]` elite, `[A]` excellent, `[B]` strong, `[C]` good, `[D]` below average, `[U]` unbenchmarked
|
|
13
|
+
| Old Command | New Command |
|
|
14
|
+
|-------------|-------------|
|
|
15
|
+
| `/list-themes` | `/theme list` |
|
|
16
|
+
| `/show-theme [name]` | `/theme show [name]` |
|
|
17
|
+
| `/set-theme <name>` | `/theme set <name>` |
|
|
18
|
+
| `/create-theme <name>` | `/theme create <name>` |
|
|
19
|
+
| `/theme-maker` | `/theme maker` |
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: Orchestrator - Coordinator of all agents and meta operations
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "orchestrator"
|
|
8
|
+
pf agent start "orchestrator"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the Orchestrator agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|
|
@@ -3,9 +3,7 @@ description: Start parallel work in a new worktree
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "sm"
|
|
6
|
+
pf agent start "sm"
|
|
9
7
|
```
|
|
10
8
|
|
|
11
9
|
<parallel-work-flow>
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: Product Manager - Strategic planning and prioritization
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "pm"
|
|
8
|
+
pf agent start "pm"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the PM agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|
|
@@ -17,23 +17,23 @@ Automatically invoked on agent activation via `pf agent start`.
|
|
|
17
17
|
|
|
18
18
|
## Running /prime
|
|
19
19
|
|
|
20
|
-
Use the
|
|
20
|
+
Use the `pf` CLI:
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
# Load all essential context (default)
|
|
24
|
-
|
|
24
|
+
pf agent start "sm"
|
|
25
25
|
|
|
26
26
|
# Minimal mode - fastest startup
|
|
27
|
-
|
|
27
|
+
pf agent start "sm" --minimal
|
|
28
28
|
|
|
29
29
|
# Full mode - include domain docs
|
|
30
|
-
|
|
30
|
+
pf agent start "sm" --full
|
|
31
31
|
|
|
32
32
|
# Skip persona loading
|
|
33
|
-
|
|
33
|
+
pf agent start "sm" --no-persona
|
|
34
34
|
|
|
35
35
|
# JSON output (for Cyclist integration)
|
|
36
|
-
|
|
36
|
+
pf agent start "sm" --json
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
## Options
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: Code Reviewer - Critical code review and quality enforcement
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "reviewer"
|
|
8
|
+
pf agent start "reviewer"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the Reviewer agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|
|
@@ -111,6 +111,6 @@ If a required tool is not installed, the script will show a warning.
|
|
|
111
111
|
</requirements>
|
|
112
112
|
|
|
113
113
|
<reference>
|
|
114
|
-
- **Script:** `.pennyfarthing/scripts/run-ci.sh`
|
|
114
|
+
- **Script:** `.pennyfarthing/scripts/misc/run-ci.sh`
|
|
115
115
|
- **Story:** 21-4 (Command & Skill Expansion)
|
|
116
116
|
</reference>
|
|
@@ -1,56 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: |
|
|
3
|
+
DEPRECATED: Use /theme set instead.
|
|
4
|
+
Theme commands have been consolidated under /theme.
|
|
5
|
+
deprecated: true
|
|
6
|
+
redirect: theme
|
|
3
7
|
---
|
|
4
8
|
|
|
5
|
-
#
|
|
9
|
+
# /set-theme - DEPRECATED
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
Theme commands have been consolidated into `/theme`. Use:
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
ls pennyfarthing-dist/personas/themes/*.yaml | xargs -I{} basename {} .yaml | sort
|
|
18
|
-
```
|
|
19
|
-
Then ask the user which theme they want to use.
|
|
20
|
-
|
|
21
|
-
2. Validate theme exists:
|
|
22
|
-
```bash
|
|
23
|
-
ls pennyfarthing-dist/personas/themes/<name>.yaml
|
|
24
|
-
```
|
|
25
|
-
If not found, show error and list available themes.
|
|
26
|
-
|
|
27
|
-
3. Read the current config file to prepare for editing:
|
|
28
|
-
```bash
|
|
29
|
-
cat .pennyfarthing/config.local.yaml 2>/dev/null || echo "FILE_NOT_FOUND"
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
4. Set the theme in `.pennyfarthing/config.local.yaml`:
|
|
33
|
-
|
|
34
|
-
**If the file exists and has a `theme:` line:**
|
|
35
|
-
- Use the Edit tool to replace `theme: <old>` with `theme: <new>`
|
|
36
|
-
|
|
37
|
-
**If the file doesn't exist or lacks the theme line:**
|
|
38
|
-
- Use the Write tool to create/overwrite the file:
|
|
39
|
-
```yaml
|
|
40
|
-
# Pennyfarthing Local Configuration
|
|
41
|
-
# This file is gitignored - your personal preferences
|
|
42
|
-
|
|
43
|
-
theme: <name>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
5. Verify the change was written:
|
|
47
|
-
```bash
|
|
48
|
-
cat .pennyfarthing/config.local.yaml
|
|
49
|
-
```
|
|
50
|
-
Confirm the theme line shows the new value.
|
|
51
|
-
|
|
52
|
-
6. Refresh the current agent's persona to apply the new theme:
|
|
53
|
-
```bash
|
|
54
|
-
python3 -m pennyfarthing_scripts.cli agent start "sm"
|
|
55
|
-
```
|
|
56
|
-
This outputs the updated persona. **Adopt the new character immediately** - do not continue using the old persona.
|
|
13
|
+
| Old Command | New Command |
|
|
14
|
+
|-------------|-------------|
|
|
15
|
+
| `/set-theme <name>` | `/theme set <name>` |
|
|
16
|
+
| `/show-theme [name]` | `/theme show [name]` |
|
|
17
|
+
| `/list-themes` | `/theme list` |
|
|
18
|
+
| `/create-theme <name>` | `/theme create <name>` |
|
|
19
|
+
| `/theme-maker` | `/theme maker` |
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: /setup - Interactive Project Setup
|
|
3
|
+
---
|
|
4
|
+
|
|
1
5
|
# /setup - Interactive Project Setup
|
|
2
6
|
|
|
3
7
|
<command>setup</command>
|
|
@@ -59,7 +63,7 @@ cat .pennyfarthing/workflows/project-setup/steps/step-01-discover.md
|
|
|
59
63
|
|
|
60
64
|
<related>
|
|
61
65
|
- `/sprint` - Sprint management after setup
|
|
62
|
-
- `/theme` - Change themes after setup
|
|
66
|
+
- `/theme set` - Change themes after setup
|
|
63
67
|
- `/workflow` - View available workflows
|
|
64
68
|
- `pennyfarthing doctor` - Validate installation
|
|
65
69
|
</related>
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
2
|
+
description: |
|
|
3
|
+
DEPRECATED: Use /theme show instead.
|
|
4
|
+
Theme commands have been consolidated under /theme.
|
|
5
|
+
deprecated: true
|
|
6
|
+
redirect: theme
|
|
3
7
|
---
|
|
4
8
|
|
|
5
|
-
#
|
|
9
|
+
# /show-theme - DEPRECATED
|
|
6
10
|
|
|
7
|
-
|
|
11
|
+
Theme commands have been consolidated into `/theme`. Use:
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
pennyfarthing theme show [name]
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Present the theme information clearly, showing each agent's character, style, and quote.
|
|
13
|
+
| Old Command | New Command |
|
|
14
|
+
|-------------|-------------|
|
|
15
|
+
| `/show-theme [name]` | `/theme show [name]` |
|
|
16
|
+
| `/set-theme <name>` | `/theme set <name>` |
|
|
17
|
+
| `/list-themes` | `/theme list` |
|
|
18
|
+
| `/create-theme <name>` | `/theme create <name>` |
|
|
19
|
+
| `/theme-maker` | `/theme maker` |
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: Scrum Master - Story coordination and sprint management
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "sm"
|
|
8
|
+
pf agent start "sm"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the SM agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: Test Engineer/Architect - Test strategy and TDD
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "tea"
|
|
8
|
+
pf agent start "tea"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the TEA agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|
|
@@ -2,8 +2,16 @@
|
|
|
2
2
|
description: Technical Writer - Documentation creation and maintenance
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
+
<agent-activation>
|
|
6
|
+
**FIRST:** Use Bash tool to run:
|
|
5
7
|
```bash
|
|
6
|
-
|
|
7
|
-
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
-
python3 -m pennyfarthing_scripts.cli agent start "tech-writer"
|
|
8
|
+
pf agent start "tech-writer"
|
|
9
9
|
```
|
|
10
|
+
This loads your persona and agent context. Adopt the character shown in the output.
|
|
11
|
+
</agent-activation>
|
|
12
|
+
|
|
13
|
+
<instructions>
|
|
14
|
+
You are now the Tech Writer agent. Follow your agent instructions from the activation output.
|
|
15
|
+
|
|
16
|
+
The activation output begins with a `# Workflow State` section containing `state`, `story_id`, `phase`, `phase_owner`, and `backlog_count`. Act on this state per your agent definition.
|
|
17
|
+
</instructions>
|