@pennyfarthing/core 7.9.5 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -0
- package/README.md +209 -0
- package/package.json +32 -37
- package/{dist → packages/core/dist}/cli/utils/files.d.ts +6 -2
- package/{dist → packages/core/dist}/cli/utils/files.d.ts.map +1 -1
- package/{dist → packages/core/dist}/cli/utils/files.js +12 -4
- package/{dist → packages/core/dist}/cli/utils/files.js.map +1 -1
- package/{dist → packages/core/dist}/cli/workspace.test.js +3 -1
- package/{dist → packages/core/dist}/cli/workspace.test.js.map +1 -1
- package/pennyfarthing-dist/agents/README.md +12 -12
- package/pennyfarthing-dist/agents/architect.md +1 -1
- package/pennyfarthing-dist/agents/dev.md +2 -2
- package/pennyfarthing-dist/agents/devops.md +1 -1
- package/pennyfarthing-dist/agents/handoff.md +2 -2
- package/pennyfarthing-dist/agents/pm.md +1 -1
- package/pennyfarthing-dist/agents/reviewer.md +2 -2
- package/pennyfarthing-dist/agents/sm-setup.md +5 -5
- package/pennyfarthing-dist/agents/sm.md +6 -6
- package/pennyfarthing-dist/agents/tea.md +2 -2
- package/pennyfarthing-dist/agents/tech-writer.md +1 -1
- package/pennyfarthing-dist/agents/testing-runner.md +4 -4
- package/pennyfarthing-dist/agents/ux-designer.md +1 -1
- package/pennyfarthing-dist/agents/workflow-status-check.md +2 -2
- package/pennyfarthing-dist/commands/architect.md +1 -1
- package/pennyfarthing-dist/commands/create-branches-from-story.md +5 -5
- package/pennyfarthing-dist/commands/dev.md +1 -1
- package/pennyfarthing-dist/commands/devops.md +1 -1
- package/pennyfarthing-dist/commands/health-check.md +3 -3
- package/pennyfarthing-dist/commands/orchestrator.md +1 -1
- package/pennyfarthing-dist/commands/parallel-work.md +4 -4
- package/pennyfarthing-dist/commands/pm.md +1 -1
- package/pennyfarthing-dist/commands/release.md +1 -1
- package/pennyfarthing-dist/commands/repo-status.md +2 -2
- package/pennyfarthing-dist/commands/retro.md +2 -2
- package/pennyfarthing-dist/commands/reviewer.md +1 -1
- package/pennyfarthing-dist/commands/set-theme.md +1 -1
- package/pennyfarthing-dist/commands/sm.md +1 -1
- package/pennyfarthing-dist/commands/sprint.md +7 -7
- package/pennyfarthing-dist/commands/start-epic.md +3 -3
- package/pennyfarthing-dist/commands/sync-epic-to-jira.md +4 -4
- package/pennyfarthing-dist/commands/tea.md +1 -1
- package/pennyfarthing-dist/commands/tech-writer.md +1 -1
- package/pennyfarthing-dist/commands/ux-designer.md +1 -1
- package/pennyfarthing-dist/commands/work.md +1 -1
- package/pennyfarthing-dist/guides/agent-behavior.md +11 -11
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +1 -1
- package/pennyfarthing-dist/guides/agent-template-strategic.md +1 -1
- package/pennyfarthing-dist/guides/agent-template-tactical.md +2 -2
- package/pennyfarthing-dist/guides/worktree-mode.md +3 -3
- package/pennyfarthing-dist/guides/xml-tags.md +1 -1
- package/pennyfarthing-dist/personas/themes/mash.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +1 -1
- package/pennyfarthing-dist/scripts/README.md +6 -6
- package/pennyfarthing-dist/scripts/core/README.md +3 -4
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +12 -17
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +1 -1
- package/pennyfarthing-dist/scripts/git/README.md +2 -2
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +3 -15
- package/pennyfarthing-dist/scripts/git/release.sh +1 -1
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/README.md +1 -1
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +3 -12
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +3 -15
- package/pennyfarthing-dist/scripts/jira/README.md +2 -2
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +1 -1
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +1 -1
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +2 -2
- package/pennyfarthing-dist/scripts/lib/find-root.sh +45 -25
- package/pennyfarthing-dist/scripts/misc/README.md +2 -2
- package/pennyfarthing-dist/scripts/misc/backlog.sh +3 -17
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +4 -30
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +1 -1
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +3 -10
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +1 -1
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +0 -1
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +19 -2
- package/pennyfarthing-dist/scripts/sprint/README.md +2 -2
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +5 -5
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +2 -2
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +1 -1
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +5 -5
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +5 -5
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +2 -2
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +3 -3
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +4 -4
- package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +11 -17
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +2 -2
- package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +3 -14
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +4 -4
- package/pennyfarthing-dist/scripts/story/README.md +2 -2
- package/pennyfarthing-dist/scripts/test/README.md +1 -1
- package/pennyfarthing-dist/scripts/theme/README.md +1 -1
- package/pennyfarthing-dist/scripts/workflow/README.md +2 -2
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +1 -1
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +2 -2
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +2 -2
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +2 -2
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +2 -2
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +2 -2
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +2 -2
- package/pennyfarthing-dist/skills/jira/SKILL.md +15 -15
- package/pennyfarthing-dist/skills/judge/SKILL.md +1 -1
- package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +3 -3
- package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +2 -2
- package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +2 -2
- package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +1 -1
- package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +3 -3
- package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +4 -4
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +2 -2
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +2 -2
- package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +4 -4
- package/pennyfarthing-dist/skills/sprint/skill.md +30 -30
- package/pennyfarthing-dist/skills/story/skill.md +16 -16
- package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +2 -2
- package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +2 -2
- package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +2 -2
- package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +2 -2
- package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +2 -2
- package/pennyfarthing-dist/skills/workflow/skill.md +14 -14
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +2 -2
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +2 -2
- 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_scripts/README.md +66 -0
- package/pennyfarthing_scripts/__init__.py +17 -0
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/jira.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__/sprint.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-311.pyc +0 -0
- package/pennyfarthing_scripts/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/bellmode_hook.py +154 -0
- package/pennyfarthing_scripts/brownfield/__init__.py +35 -0
- package/pennyfarthing_scripts/brownfield/__main__.py +7 -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 +131 -0
- package/pennyfarthing_scripts/brownfield/discover.py +753 -0
- package/pennyfarthing_scripts/common/__init__.py +49 -0
- package/pennyfarthing_scripts/common/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/config.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/__pycache__/output.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/common/config.py +91 -0
- package/pennyfarthing_scripts/common/output.py +180 -0
- package/pennyfarthing_scripts/config.py +21 -0
- package/pennyfarthing_scripts/git/__init__.py +29 -0
- package/pennyfarthing_scripts/git/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/create_branches.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/__pycache__/status_all.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/git/create_branches.py +439 -0
- package/pennyfarthing_scripts/git/status_all.py +310 -0
- package/pennyfarthing_scripts/hooks.py +455 -0
- package/pennyfarthing_scripts/jira/__init__.py +93 -0
- package/pennyfarthing_scripts/jira/__main__.py +10 -0
- package/pennyfarthing_scripts/jira/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/bidirectional.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/claim.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/client.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/compat.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/jira/__pycache__/epic.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/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 +561 -0
- package/pennyfarthing_scripts/jira/claim.py +211 -0
- package/pennyfarthing_scripts/jira/cli.py +150 -0
- package/pennyfarthing_scripts/jira/client.py +613 -0
- package/pennyfarthing_scripts/jira/epic.py +176 -0
- package/pennyfarthing_scripts/jira/story.py +219 -0
- package/pennyfarthing_scripts/jira/sync.py +350 -0
- package/pennyfarthing_scripts/jira_bidirectional_sync.py +37 -0
- package/pennyfarthing_scripts/jira_epic_creation.py +30 -0
- package/pennyfarthing_scripts/jira_sync.py +36 -0
- package/pennyfarthing_scripts/jira_sync_story.py +30 -0
- package/pennyfarthing_scripts/output.py +37 -0
- package/pennyfarthing_scripts/preflight/__init__.py +17 -0
- package/pennyfarthing_scripts/preflight/__main__.py +10 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/cli.py +141 -0
- package/pennyfarthing_scripts/preflight/finish.py +382 -0
- package/pennyfarthing_scripts/pretooluse_hook.py +142 -0
- package/pennyfarthing_scripts/prime/__init__.py +125 -0
- package/pennyfarthing_scripts/prime/__main__.py +8 -0
- package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__main__.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__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/cli.py +375 -0
- package/pennyfarthing_scripts/prime/loader.py +239 -0
- package/pennyfarthing_scripts/prime/models.py +169 -0
- package/pennyfarthing_scripts/prime/persona.py +288 -0
- package/pennyfarthing_scripts/prime/session.py +183 -0
- package/pennyfarthing_scripts/prime/workflow.py +275 -0
- package/pennyfarthing_scripts/sprint/__init__.py +66 -0
- package/pennyfarthing_scripts/sprint/__main__.py +10 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/cli.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__/validator.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/work.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/archive.py +108 -0
- package/pennyfarthing_scripts/sprint/cli.py +124 -0
- package/pennyfarthing_scripts/sprint/loader.py +193 -0
- package/pennyfarthing_scripts/sprint/status.py +122 -0
- package/pennyfarthing_scripts/sprint/validator.py +405 -0
- package/pennyfarthing_scripts/sprint/work.py +192 -0
- package/pennyfarthing_scripts/story/__init__.py +67 -0
- package/pennyfarthing_scripts/story/__main__.py +10 -0
- package/pennyfarthing_scripts/story/cli.py +105 -0
- package/pennyfarthing_scripts/story/create.py +167 -0
- package/pennyfarthing_scripts/story/size.py +113 -0
- package/pennyfarthing_scripts/story/template.py +151 -0
- package/pennyfarthing_scripts/swebench.py +216 -0
- package/pennyfarthing_scripts/tests/__init__.py +1 -0
- package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_brownfield.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_prime.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/conftest.py +106 -0
- package/pennyfarthing_scripts/tests/test_brownfield.py +842 -0
- package/pennyfarthing_scripts/tests/test_cli_modules.py +245 -0
- package/pennyfarthing_scripts/tests/test_common.py +180 -0
- package/pennyfarthing_scripts/tests/test_git_utils.py +866 -0
- package/pennyfarthing_scripts/tests/test_jira_package.py +334 -0
- package/pennyfarthing_scripts/tests/test_package_structure.py +372 -0
- package/pennyfarthing_scripts/tests/test_prime.py +1050 -0
- package/pennyfarthing_scripts/tests/test_sprint_package.py +236 -0
- package/pennyfarthing_scripts/tests/test_sprint_validator.py +675 -0
- package/pennyfarthing_scripts/tests/test_story_package.py +156 -0
- package/pennyfarthing_scripts/welcome_hook.py +157 -0
- package/pennyfarthing_scripts/workflow.py +183 -0
- package/pennyfarthing-dist/personas/BENCHMARK-METHODOLOGY.md +0 -105
- package/pennyfarthing-dist/personas/OCEAN-BENCHMARKING.md +0 -210
- package/pennyfarthing-dist/personas/TRAIL-OCEAN-MAPPING.md +0 -168
- package/pennyfarthing-dist/personas/ZEITGEIST-ANALYSIS.md +0 -171
- package/pennyfarthing-dist/personas/attributes.yaml +0 -69
- package/pennyfarthing-dist/personas/scripts/add-zeitgeist-calibrated.py +0 -81
- package/pennyfarthing-dist/personas/scripts/add-zeitgeist-scores.sh +0 -56
- package/pennyfarthing-dist/personas/zeitgeist-scores.yaml +0 -1172
- package/pennyfarthing-dist/scripts/core/run.sh +0 -92
- /package/{bin → packages/core/bin}/pennyfarthing.js +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.js +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.test.js +0 -0
- /package/{dist → packages/core/dist}/bmad/context-reader.test.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.js +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.test.js +0 -0
- /package/{dist → packages/core/dist}/bmad/epics-parser.test.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/index.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/index.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/index.js +0 -0
- /package/{dist → packages/core/dist}/bmad/index.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.js +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.test.js +0 -0
- /package/{dist → packages/core/dist}/bmad/status-sync.test.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.js +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.test.js +0 -0
- /package/{dist → packages/core/dist}/bmad/story-exporter.test.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.js +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.js.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.test.js +0 -0
- /package/{dist → packages/core/dist}/bmad/story-parser.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/command.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/command.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/command.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/command.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.test.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/cyclist.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor-legacy.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/doctor.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/init.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/init.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/init.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/init.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/skill.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/skill.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/skill.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/skill.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/theme.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/theme.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/theme.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/theme.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/uninstall.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/uninstall.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/uninstall.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/uninstall.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/update.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/update.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/update.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/update.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/version.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/commands/version.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/commands/version.js +0 -0
- /package/{dist → packages/core/dist}/cli/commands/version.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/customization.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/customization.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/customization.test.js +0 -0
- /package/{dist → packages/core/dist}/cli/customization.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/cyclist-migration.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/cyclist-migration.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/cyclist-migration.test.js +0 -0
- /package/{dist → packages/core/dist}/cli/cyclist-migration.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/index.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/index.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/index.js +0 -0
- /package/{dist → packages/core/dist}/cli/index.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/ocean-profiles.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/ocean-profiles.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/ocean-profiles.test.js +0 -0
- /package/{dist → packages/core/dist}/cli/ocean-profiles.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/theme-maker.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/theme-maker.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/theme-maker.test.js +0 -0
- /package/{dist → packages/core/dist}/cli/theme-maker.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/constants.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/constants.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/constants.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/constants.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/logger.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/logger.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/logger.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/logger.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/manifest.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/manifest.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/manifest.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/manifest.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/node-modules.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/node-modules.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/node-modules.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/node-modules.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/prompts.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/prompts.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/prompts.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/prompts.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/symlinks.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/symlinks.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/symlinks.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/symlinks.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.test.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/themes.test.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/version.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/utils/version.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/cli/utils/version.js +0 -0
- /package/{dist → packages/core/dist}/cli/utils/version.js.map +0 -0
- /package/{dist → packages/core/dist}/cli/workspace.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/cli/workspace.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/index.d.ts +0 -0
- /package/{dist → packages/core/dist}/index.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/index.js +0 -0
- /package/{dist → packages/core/dist}/index.js.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.d.ts +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.js +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.js.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.js +0 -0
- /package/{dist → packages/core/dist}/jira/jira-epic-creation.test.js.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.d.ts +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.js +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.js.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.js +0 -0
- /package/{dist → packages/core/dist}/jira/jira-sprint-sync.test.js.map +0 -0
- /package/{dist → packages/core/dist}/permissions/index.d.ts +0 -0
- /package/{dist → packages/core/dist}/permissions/index.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/permissions/index.js +0 -0
- /package/{dist → packages/core/dist}/permissions/index.js.map +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.d.ts +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.js +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.js.map +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.test.js +0 -0
- /package/{dist → packages/core/dist}/permissions/permission-schema.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.js +0 -0
- /package/{dist → packages/core/dist}/scripts/add-ocean-profiles.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.js +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/benchmark-integration.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/debugging-scenarios.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-all-spiders.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-all-spiders.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-all-spiders.js +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-all-spiders.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.js +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-report.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.js +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider-report.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.js +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/generate-spider.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.js +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/job-fair-aggregator.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/run-ci.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/run-ci.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/run-ci.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/run-ci.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/theme-detail.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/theme-detail.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/theme-detail.test.js +0 -0
- /package/{dist → packages/core/dist}/scripts/theme-detail.test.js.map +0 -0
- /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.d.ts +0 -0
- /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.js +0 -0
- /package/{dist → packages/core/dist}/scripts/validate-ocean-profiles.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.js +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/gate-handler.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-finish.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-finish.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-finish.js +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-finish.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-setup.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-setup.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-setup.js +0 -0
- /package/{dist → packages/core/dist}/workflow/generic-sm-setup.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.js +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/handoff.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/index.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/index.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/index.js +0 -0
- /package/{dist → packages/core/dist}/workflow/index.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.js +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/session-state.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/sm-subagents.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/sm-subagents.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/sm-subagents.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/sm-subagents.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.js +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/step-parser.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/story-workflow-routing.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.js +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/test-cache.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.js +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/trimodal.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.js +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/variable-resolver.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-executor.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-loader.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-migration.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-migration.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-migration.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-migration.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-permissions.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-router.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-schema.test.js.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.d.ts +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.d.ts.map +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.js +0 -0
- /package/{dist → packages/core/dist}/workflow/workflow-stepped-schema.test.js.map +0 -0
|
@@ -115,7 +115,7 @@ Prime script provides workflow state. Route based on state from activation outpu
|
|
|
115
115
|
|
|
116
116
|
2. **Run finish script:**
|
|
117
117
|
```bash
|
|
118
|
-
.pennyfarthing/scripts/
|
|
118
|
+
.pennyfarthing/scripts/workflow/finish-story.sh {STORY_ID}
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
3. **Commit results:**
|
|
@@ -157,8 +157,8 @@ Present to user:
|
|
|
157
157
|
|
|
158
158
|
1. **Get workflow type:**
|
|
159
159
|
```bash
|
|
160
|
-
WORKFLOW=$(.pennyfarthing/scripts/
|
|
161
|
-
WORKFLOW_TYPE=$(.pennyfarthing/scripts/
|
|
160
|
+
WORKFLOW=$(.pennyfarthing/scripts/sprint/get-story-field.sh X-Y workflow)
|
|
161
|
+
WORKFLOW_TYPE=$(.pennyfarthing/scripts/workflow/get-workflow-type.sh "$WORKFLOW")
|
|
162
162
|
```
|
|
163
163
|
|
|
164
164
|
2. **Spawn `sm-setup MODE=setup`** with:
|
|
@@ -205,7 +205,7 @@ Before `sm-handoff`, verify ALL of these:
|
|
|
205
205
|
> **Triggered when:** `EMPTY_BACKLOG_STATE`
|
|
206
206
|
|
|
207
207
|
1. Report: "Sprint backlog empty. All stories done or cancelled."
|
|
208
|
-
2. Show future work: `.pennyfarthing/scripts/
|
|
208
|
+
2. Show future work: `.pennyfarthing/scripts/sprint/list-future.sh`
|
|
209
209
|
3. Offer: "Promote stories from `future.yaml`?" → `/sprint promote {epic-id}`
|
|
210
210
|
|
|
211
211
|
**Never suggest:** Closing sprint early, starting sprint planning. Sprints are fixed two-week periods.
|
|
@@ -254,7 +254,7 @@ SM does NOT hand off to agents. Instead, use `/workflow start {name}` to begin t
|
|
|
254
254
|
|
|
255
255
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
256
256
|
```bash
|
|
257
|
-
OWNER=$(.pennyfarthing/scripts/
|
|
257
|
+
OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
|
|
258
258
|
```
|
|
259
259
|
|
|
260
260
|
**If OWNER != "sm":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -276,7 +276,7 @@ OWNER=$(.pennyfarthing/scripts/core/run.sh workflow/phase-owner.sh {workflow} {p
|
|
|
276
276
|
3. Await `HANDOFF_RESULT` with `next_agent`
|
|
277
277
|
4. **ABSOLUTE LAST ACTION:**
|
|
278
278
|
```bash
|
|
279
|
-
.pennyfarthing/scripts/
|
|
279
|
+
.pennyfarthing/scripts/handoff/handoff-marker.sh {next_agent}
|
|
280
280
|
```
|
|
281
281
|
5. Output result verbatim and EXIT
|
|
282
282
|
|
|
@@ -58,7 +58,7 @@ ASSESSMENT_SECTION: "TEA Assessment"
|
|
|
58
58
|
|
|
59
59
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
60
60
|
```bash
|
|
61
|
-
OWNER=$(.pennyfarthing/scripts/
|
|
61
|
+
OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
**If OWNER != "tea":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -144,7 +144,7 @@ Write to session file BEFORE spawning handoff:
|
|
|
144
144
|
3. Await `HANDOFF_RESULT` with `next_agent`
|
|
145
145
|
4. **ABSOLUTE LAST ACTION:**
|
|
146
146
|
```bash
|
|
147
|
-
.pennyfarthing/scripts/
|
|
147
|
+
.pennyfarthing/scripts/handoff/handoff-marker.sh {next_agent}
|
|
148
148
|
```
|
|
149
149
|
5. Output result verbatim and EXIT
|
|
150
150
|
</exit-sequence>
|
|
@@ -19,8 +19,8 @@ model: haiku
|
|
|
19
19
|
<critical>
|
|
20
20
|
**Use `/check` command for unfiltered runs:**
|
|
21
21
|
```bash
|
|
22
|
-
.pennyfarthing/scripts/
|
|
23
|
-
.pennyfarthing/scripts/
|
|
22
|
+
.pennyfarthing/scripts/workflow/check.sh
|
|
23
|
+
.pennyfarthing/scripts/workflow/check.sh --repo api
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
This runs lint + typecheck + tests. Exit 0 = all passed.
|
|
@@ -50,8 +50,8 @@ ensure_test_containers
|
|
|
50
50
|
## Filtered Runs
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
|
-
.pennyfarthing/scripts/
|
|
54
|
-
.pennyfarthing/scripts/
|
|
53
|
+
.pennyfarthing/scripts/workflow/check.sh --filter "TestUserLogin"
|
|
54
|
+
.pennyfarthing/scripts/workflow/check.sh --repo api --filter "TestUserLogin"
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
| Language | Filter Flag |
|
|
@@ -232,5 +232,5 @@ REFLECT: I should design this modal to match existing patterns while adding clea
|
|
|
232
232
|
<exit>
|
|
233
233
|
To exit: "Exit UX Designer" or switch to another agent.
|
|
234
234
|
|
|
235
|
-
On exit, run:
|
|
235
|
+
On exit, run: `./.pennyfarthing/scripts/core/agent-session.sh stop`
|
|
236
236
|
</exit>
|
|
@@ -23,7 +23,7 @@ Uses `/sprint` skill scripts for deterministic output.
|
|
|
23
23
|
Run the sprint status script and parse output:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
.pennyfarthing/scripts/
|
|
26
|
+
.pennyfarthing/scripts/sprint/sprint-status.sh
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Then check for active sessions:
|
|
@@ -53,7 +53,7 @@ fi
|
|
|
53
53
|
# Read workflow name from session
|
|
54
54
|
WORKFLOW=$(grep '^\*\*Workflow:\*\*' .session/*-session.md | head -1 | sed 's/.*: //')
|
|
55
55
|
# Check if stepped
|
|
56
|
-
.pennyfarthing/scripts/
|
|
56
|
+
.pennyfarthing/scripts/workflow/get-workflow-type.sh "$WORKFLOW"
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
**Important:** Sprints are fixed two-week periods (kanban-style). Never suggest closing a sprint early or starting sprint planning when backlog is empty. The correct response to `EMPTY_BACKLOG_STATE` is to suggest promoting stories from `future.yaml`.
|
|
@@ -3,5 +3,5 @@ description: System Architect - Technical design and architecture
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "architect"
|
|
7
7
|
```
|
|
@@ -100,16 +100,16 @@ Use this instead of Step 3 if you need to work on multiple stories simultaneousl
|
|
|
100
100
|
cd $CLAUDE_PROJECT_DIR
|
|
101
101
|
|
|
102
102
|
# Create worktree with branches (both API and UI)
|
|
103
|
-
./scripts/
|
|
103
|
+
./scripts/git/worktree-manager.sh create [story-id] feat/[story-id]-[description]
|
|
104
104
|
|
|
105
105
|
# Example: Story 5-2
|
|
106
|
-
./scripts/
|
|
106
|
+
./scripts/git/worktree-manager.sh create 5-2 feat/5-2-csv-import
|
|
107
107
|
|
|
108
108
|
# For API-only work
|
|
109
|
-
./scripts/
|
|
109
|
+
./scripts/git/worktree-manager.sh create [story-id] feat/[story-id]-[description] api
|
|
110
110
|
|
|
111
111
|
# For UI-only work
|
|
112
|
-
./scripts/
|
|
112
|
+
./scripts/git/worktree-manager.sh create [story-id] feat/[story-id]-[description] ui
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
This creates:
|
|
@@ -223,7 +223,7 @@ cd $CLAUDE_PROJECT_DIR/worktrees/[story-id]/API
|
|
|
223
223
|
cd $CLAUDE_PROJECT_DIR/worktrees/[story-id]/UI
|
|
224
224
|
|
|
225
225
|
# Get port configuration for dev servers
|
|
226
|
-
eval $(./scripts/
|
|
226
|
+
eval $(./scripts/git/worktree-manager.sh ports [story-id])
|
|
227
227
|
echo "API: $API_PORT, UI: $UI_PORT"
|
|
228
228
|
```
|
|
229
229
|
|
|
@@ -3,5 +3,5 @@ description: Developer - Feature implementation and coding
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/phase-check-start.sh" "dev"
|
|
7
7
|
```
|
|
@@ -3,5 +3,5 @@ description: DevOps Engineer - Infrastructure and deployment automation
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "devops"
|
|
7
7
|
```
|
|
@@ -3,7 +3,7 @@ description: Check Pennyfarthing installation health and apply updates
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
./scripts/
|
|
6
|
+
./scripts/core/agent-session.sh start "devops"
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
<agent-activation>
|
|
@@ -108,10 +108,10 @@ Check if agents are following expected behavioral patterns:
|
|
|
108
108
|
|
|
109
109
|
```bash
|
|
110
110
|
# Run drift detection
|
|
111
|
-
.pennyfarthing/scripts/
|
|
111
|
+
.pennyfarthing/scripts/health/drift-detection.sh
|
|
112
112
|
|
|
113
113
|
# Verbose mode (see individual files)
|
|
114
|
-
.pennyfarthing/scripts/
|
|
114
|
+
.pennyfarthing/scripts/health/drift-detection.sh --verbose
|
|
115
115
|
```
|
|
116
116
|
|
|
117
117
|
The script analyzes archived session files for:
|
|
@@ -3,5 +3,5 @@ description: Orchestrator - Coordinator of all agents and meta operations
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "orchestrator"
|
|
7
7
|
```
|
|
@@ -3,7 +3,7 @@ description: Start parallel work in a new worktree
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
./scripts/
|
|
6
|
+
./scripts/core/agent-session.sh start "parallel-work"
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
<parallel-work-flow>
|
|
@@ -20,10 +20,10 @@ read -p "Branch name (e.g., feat/5-3a-feature): " BRANCH_NAME
|
|
|
20
20
|
|
|
21
21
|
# Create worktree
|
|
22
22
|
WORKTREE_NAME="wt-${STORY_ID}"
|
|
23
|
-
./scripts/
|
|
23
|
+
./scripts/git/worktree-manager.sh create "$WORKTREE_NAME" "$BRANCH_NAME"
|
|
24
24
|
|
|
25
25
|
# Get port configuration
|
|
26
|
-
eval $(./scripts/
|
|
26
|
+
eval $(./scripts/git/worktree-manager.sh ports "$WORKTREE_NAME")
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
### Step 2: Create Session File
|
|
@@ -67,5 +67,5 @@ Invoke SM to complete story setup in the worktree context.
|
|
|
67
67
|
</agent-activation>
|
|
68
68
|
|
|
69
69
|
<agent-exit>
|
|
70
|
-
On exit: Capture learnings to sidecar, run
|
|
70
|
+
On exit: Capture learnings to sidecar, run `./scripts/core/agent-session.sh stop`
|
|
71
71
|
</agent-exit>
|
|
@@ -3,5 +3,5 @@ description: Product Manager - Strategic planning and prioritization
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "pm"
|
|
7
7
|
```
|
|
@@ -15,13 +15,13 @@ Repos are configured in `.claude/project/repos.yaml`. The script automatically r
|
|
|
15
15
|
Run this command to show the status of all repos:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
$CLAUDE_PROJECT_DIR/scripts/
|
|
18
|
+
$CLAUDE_PROJECT_DIR/scripts/git/git-status-all.sh
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
For a brief one-line-per-repo summary:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
$CLAUDE_PROJECT_DIR/scripts/
|
|
24
|
+
$CLAUDE_PROJECT_DIR/scripts/git/git-status-all.sh --brief
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
## What It Shows
|
|
@@ -142,7 +142,7 @@ During retro, clean up accumulated session artifacts from the sprint:
|
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
144
|
# See what would be cleaned (dry-run)
|
|
145
|
-
$CLAUDE_PROJECT_DIR/scripts/
|
|
145
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh --dry-run --aggressive
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
Review the output. Look for:
|
|
@@ -153,7 +153,7 @@ Review the output. Look for:
|
|
|
153
153
|
|
|
154
154
|
```bash
|
|
155
155
|
# Run full cleanup with aggressive mode (archives completed epic contexts)
|
|
156
|
-
$CLAUDE_PROJECT_DIR/scripts/
|
|
156
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh --aggressive
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
This removes:
|
|
@@ -3,5 +3,5 @@ description: Code Reviewer - Critical code review and quality enforcement
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/phase-check-start.sh" "reviewer"
|
|
7
7
|
```
|
|
@@ -51,6 +51,6 @@ Change the active persona theme for all agents.
|
|
|
51
51
|
|
|
52
52
|
6. Refresh the current agent's persona to apply the new theme:
|
|
53
53
|
```bash
|
|
54
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
54
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" refresh
|
|
55
55
|
```
|
|
56
56
|
This outputs the updated persona. **Adopt the new character immediately** - do not continue using the old persona.
|
|
@@ -3,5 +3,5 @@ description: Scrum Master - Story coordination and sprint management
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/phase-check-start.sh" "sm"
|
|
7
7
|
```
|
|
@@ -20,7 +20,7 @@ Never manually edit `sprint/current-sprint.yaml`. Always use the provided script
|
|
|
20
20
|
Show current sprint status with story counts and points.
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
.pennyfarthing/scripts/
|
|
23
|
+
.pennyfarthing/scripts/sprint/sprint-status.sh [filter]
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
| Filter | Description |
|
|
@@ -35,7 +35,7 @@ Show current sprint status with story counts and points.
|
|
|
35
35
|
Show available stories ready for work, grouped by epic.
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
.pennyfarthing/scripts/
|
|
38
|
+
.pennyfarthing/scripts/sprint/available-stories.sh
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
### `/sprint work [story-id|epic-id|next]`
|
|
@@ -51,7 +51,7 @@ Start work on a story. Primary entry point for development.
|
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
# Check if story is available
|
|
54
|
-
.pennyfarthing/scripts/
|
|
54
|
+
.pennyfarthing/scripts/sprint/check-story.sh <story-id>
|
|
55
55
|
|
|
56
56
|
# Then load SM to begin work
|
|
57
57
|
```
|
|
@@ -69,7 +69,7 @@ When starting work, this command:
|
|
|
69
69
|
Archive a completed story.
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
.pennyfarthing/scripts/
|
|
72
|
+
.pennyfarthing/scripts/sprint/archive-story.sh <story-id> [pr-number] [--apply]
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
| Option | Description |
|
|
@@ -81,7 +81,7 @@ Archive a completed story.
|
|
|
81
81
|
Initialize a new sprint.
|
|
82
82
|
|
|
83
83
|
```bash
|
|
84
|
-
.pennyfarthing/scripts/
|
|
84
|
+
.pennyfarthing/scripts/sprint/new-sprint.sh 2605 277 2026-02-03 2026-02-16 "Sprint goal"
|
|
85
85
|
```
|
|
86
86
|
|
|
87
87
|
### `/sprint future [--epic EPIC_ID]`
|
|
@@ -89,7 +89,7 @@ Initialize a new sprint.
|
|
|
89
89
|
Show future work available for promotion.
|
|
90
90
|
|
|
91
91
|
```bash
|
|
92
|
-
.pennyfarthing/scripts/
|
|
92
|
+
.pennyfarthing/scripts/sprint/list-future.sh [--epic epic-XX]
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
### `/sprint promote <epic-id>`
|
|
@@ -97,7 +97,7 @@ Show future work available for promotion.
|
|
|
97
97
|
Move an epic from future.yaml to current sprint.
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
|
-
.pennyfarthing/scripts/
|
|
100
|
+
.pennyfarthing/scripts/sprint/promote-epic.sh epic-XX
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
## Quick Reference
|
|
@@ -41,13 +41,13 @@ Before starting a new epic, clean up stale artifacts from previous work:
|
|
|
41
41
|
cd $CLAUDE_PROJECT_DIR
|
|
42
42
|
|
|
43
43
|
# Run conservative cleanup (7+ day old artifacts)
|
|
44
|
-
$CLAUDE_PROJECT_DIR/scripts/
|
|
44
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh --dry-run
|
|
45
45
|
|
|
46
46
|
# If dry-run looks good, run actual cleanup
|
|
47
|
-
$CLAUDE_PROJECT_DIR/scripts/
|
|
47
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh
|
|
48
48
|
|
|
49
49
|
# Archive epic contexts for completed epics
|
|
50
|
-
$CLAUDE_PROJECT_DIR/scripts/
|
|
50
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh --aggressive
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
This ensures a clean slate before starting new epic work and archives contexts from completed epics.
|
|
@@ -29,13 +29,13 @@ All Pennyfarthing epics and stories must include the `pennyfarthing` label:
|
|
|
29
29
|
|
|
30
30
|
```bash
|
|
31
31
|
# View story status
|
|
32
|
-
./scripts/
|
|
32
|
+
./scripts/jira/jira-sync-story.sh 35-2-topology-editor
|
|
33
33
|
|
|
34
34
|
# Transition to match Pennyfarthing status
|
|
35
|
-
./scripts/
|
|
35
|
+
./scripts/jira/jira-sync-story.sh 35-2-topology-editor --transition
|
|
36
36
|
|
|
37
37
|
# Add a comment
|
|
38
|
-
./scripts/
|
|
38
|
+
./scripts/jira/jira-sync-story.sh 35-2-topology-editor --comment "Started development"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
### Sync All Stories in Epic
|
|
@@ -43,7 +43,7 @@ All Pennyfarthing epics and stories must include the `pennyfarthing` label:
|
|
|
43
43
|
```bash
|
|
44
44
|
# For each story in the epic, sync status
|
|
45
45
|
for story in $(yq '.epic-35.stories | keys | .[]' sprint/current-sprint.yaml); do
|
|
46
|
-
./scripts/
|
|
46
|
+
./scripts/jira/jira-sync-story.sh "$story" --transition
|
|
47
47
|
done
|
|
48
48
|
```
|
|
49
49
|
|
|
@@ -3,5 +3,5 @@ description: Test Engineer/Architect - Test strategy and TDD
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/phase-check-start.sh" "tea"
|
|
7
7
|
```
|
|
@@ -3,5 +3,5 @@ description: Technical Writer - Documentation creation and maintenance
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "tech-writer"
|
|
7
7
|
```
|
|
@@ -3,5 +3,5 @@ description: UX Designer - User experience design and UI patterns
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "ux-designer"
|
|
7
7
|
```
|
|
@@ -7,7 +7,7 @@ description: Resume work or start new - smart entry point that picks up where yo
|
|
|
7
7
|
<agent-activation>
|
|
8
8
|
**FIRST:** Use Bash tool to run:
|
|
9
9
|
```bash
|
|
10
|
-
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/
|
|
10
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/agent-session.sh" start "sm"
|
|
11
11
|
```
|
|
12
12
|
This finds the project root and loads your persona. Adopt the character shown in the output.
|
|
13
13
|
</agent-activation>
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
</critical>
|
|
12
12
|
|
|
13
13
|
<critical>
|
|
14
|
-
**Path resolution:**
|
|
14
|
+
**Path resolution:** Scripts now self-locate via BASH_SOURCE. Invoke directly from `.pennyfarthing/scripts/`.
|
|
15
15
|
For direct commands, use relative paths from project root (Claude Code starts there).
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
# GOOD:
|
|
19
|
-
.pennyfarthing/scripts/
|
|
18
|
+
# GOOD: Direct script invocation
|
|
19
|
+
.pennyfarthing/scripts/workflow/check.sh
|
|
20
20
|
|
|
21
21
|
# GOOD: Relative paths for simple commands
|
|
22
22
|
just test
|
|
@@ -116,9 +116,9 @@ $CLAUDE_PROJECT_DIR/.pennyfarthing/scripts/foo.sh # BROKEN!
|
|
|
116
116
|
**Rule 4:** All sprint YAML access goes through scripts
|
|
117
117
|
```bash
|
|
118
118
|
# GOOD: Use scripts for ALL operations
|
|
119
|
-
.pennyfarthing/scripts/
|
|
120
|
-
.pennyfarthing/scripts/
|
|
121
|
-
.pennyfarthing/scripts/
|
|
119
|
+
.pennyfarthing/scripts/sprint/get-story-field.sh X-Y workflow
|
|
120
|
+
.pennyfarthing/scripts/sprint/get-epic-field.sh 35 jira
|
|
121
|
+
.pennyfarthing/scripts/sprint/check-story.sh X-Y
|
|
122
122
|
|
|
123
123
|
# BAD: Direct yq queries (even read-only)
|
|
124
124
|
yq '.epics[].stories[] | ...' sprint/current-sprint.yaml
|
|
@@ -235,7 +235,7 @@ HTML comments that agents emit to signal Cyclist UI. Format: `<!-- CYCLIST:TYPE:
|
|
|
235
235
|
4. If `status: blocked` → report error, stop
|
|
236
236
|
5. **Run this as ABSOLUTE LAST ACTION:**
|
|
237
237
|
```bash
|
|
238
|
-
.pennyfarthing/scripts/
|
|
238
|
+
.pennyfarthing/scripts/handoff-marker.sh {next_agent}
|
|
239
239
|
```
|
|
240
240
|
6. **Output the script result verbatim and EXIT**
|
|
241
241
|
|
|
@@ -271,14 +271,14 @@ When an agent detects the story is NOT in their phase, emit a marker immediately
|
|
|
271
271
|
1. Read `**Workflow:**` and `**Phase:**` from session file
|
|
272
272
|
2. Query the phase owner:
|
|
273
273
|
```bash
|
|
274
|
-
OWNER=$(.pennyfarthing/scripts/
|
|
274
|
+
OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
|
|
275
275
|
```
|
|
276
276
|
3. If `$OWNER` != your agent name → story belongs to another agent
|
|
277
277
|
|
|
278
278
|
### Action When Not Your Phase
|
|
279
279
|
|
|
280
280
|
```bash
|
|
281
|
-
.pennyfarthing/scripts/
|
|
281
|
+
.pennyfarthing/scripts/handoff-marker.sh {OWNER}
|
|
282
282
|
```
|
|
283
283
|
|
|
284
284
|
Then output the result verbatim. This triggers Cyclist's handoff button.
|
|
@@ -288,13 +288,13 @@ Then output the result verbatim. This triggers Cyclist's handoff button.
|
|
|
288
288
|
Dev reads session: `**Workflow:** tdd`, `**Phase:** review`
|
|
289
289
|
|
|
290
290
|
```bash
|
|
291
|
-
OWNER=$(.pennyfarthing/scripts/
|
|
291
|
+
OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh tdd review)
|
|
292
292
|
# Returns: reviewer
|
|
293
293
|
```
|
|
294
294
|
|
|
295
295
|
Since "reviewer" != "dev", Dev runs:
|
|
296
296
|
```bash
|
|
297
|
-
.pennyfarthing/scripts/
|
|
297
|
+
.pennyfarthing/scripts/handoff-marker.sh reviewer
|
|
298
298
|
```
|
|
299
299
|
|
|
300
300
|
### Do NOT just say "run /reviewer"
|
|
@@ -175,7 +175,7 @@ Logic for checking if this agent owns the current phase.
|
|
|
175
175
|
|
|
176
176
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
177
177
|
```bash
|
|
178
|
-
OWNER=$(.pennyfarthing/scripts/
|
|
178
|
+
OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
|
|
179
179
|
```
|
|
180
180
|
|
|
181
181
|
**If OWNER != "dev":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -105,7 +105,7 @@ From theme config. Model: haiku. Tasks: {What helpers do for this agent}
|
|
|
105
105
|
<exit>
|
|
106
106
|
To exit: "Exit {Agent}" or "Switch to [other agent]"
|
|
107
107
|
|
|
108
|
-
On exit, run:
|
|
108
|
+
On exit, run: `.pennyfarthing/scripts/core/agent-session.sh stop`
|
|
109
109
|
</exit>
|
|
110
110
|
```
|
|
111
111
|
|
|
@@ -122,14 +122,14 @@ After completing work:
|
|
|
122
122
|
|
|
123
123
|
1. Write assessment to session file
|
|
124
124
|
2. Spawn handoff helper (`.pennyfarthing/agents/{agent}-handoff.md`)
|
|
125
|
-
3. Check context: `eval $(
|
|
125
|
+
3. Check context: `eval $(.pennyfarthing/scripts/core/check-context.sh)`
|
|
126
126
|
4. If `HANDOFF_MODE=auto`: Use Skill tool to invoke next agent
|
|
127
127
|
5. If `HANDOFF_MODE=ask`: Tell user to start fresh session
|
|
128
128
|
|
|
129
129
|
<exit>
|
|
130
130
|
To exit: "Exit {Agent}" or "Switch to [other agent]"
|
|
131
131
|
|
|
132
|
-
On exit, run:
|
|
132
|
+
On exit, run: `.pennyfarthing/scripts/core/agent-session.sh stop`
|
|
133
133
|
</exit>
|
|
134
134
|
```
|
|
135
135
|
|
|
@@ -86,8 +86,8 @@ Ports are stored in the session file and passed to agents.
|
|
|
86
86
|
| Command | Purpose |
|
|
87
87
|
|---------|---------|
|
|
88
88
|
| `/parallel-work` | Start a new parallel work session |
|
|
89
|
-
|
|
|
90
|
-
|
|
|
89
|
+
| `.pennyfarthing/scripts/git/worktree-manager.sh list` | Show active worktrees |
|
|
90
|
+
| `.pennyfarthing/scripts/git/worktree-manager.sh remove <name>` | Clean up a worktree |
|
|
91
91
|
|
|
92
92
|
## TDD Flow in Worktrees
|
|
93
93
|
|
|
@@ -104,7 +104,7 @@ Agents use worktree paths from session file for all operations.
|
|
|
104
104
|
When story is complete, SM archives the session and the worktree can be removed:
|
|
105
105
|
|
|
106
106
|
```bash
|
|
107
|
-
|
|
107
|
+
.pennyfarthing/scripts/git/worktree-manager.sh remove wt-5-3a
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
This removes:
|
|
@@ -132,7 +132,7 @@ Tags used by agents participating in the TDD workflow cycle (SM, TEA, Dev, Revie
|
|
|
132
132
|
|
|
133
133
|
Read `**Workflow:**` and `**Phase:**` from session. Query:
|
|
134
134
|
```bash
|
|
135
|
-
OWNER=$(.pennyfarthing/scripts/
|
|
135
|
+
OWNER=$(.pennyfarthing/scripts/workflow/phase-owner.sh {workflow} {phase})
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
**If OWNER != "dev":** Run `handoff-marker.sh $OWNER`, output result, tell user.
|
|
@@ -13,7 +13,7 @@ theme:
|
|
|
13
13
|
default_humor: enabled
|
|
14
14
|
character_immersion: high
|
|
15
15
|
user_title: Doctor
|
|
16
|
-
portrait_style: ",
|
|
16
|
+
portrait_style: ", Norman Rockwell Saturday Evening Post illustration, warm nostalgic Americana, soft lighting, idealized realism, painterly brushstrokes, 1950s illustration style"
|
|
17
17
|
tier: A
|
|
18
18
|
|
|
19
19
|
zeitgeist:
|
|
@@ -80,7 +80,7 @@ agents:
|
|
|
80
80
|
|
|
81
81
|
tea:
|
|
82
82
|
character: Radar O'Reilly
|
|
83
|
-
visual: "A
|
|
83
|
+
visual: "A young bespectacled man with boyish round face and oversized glasses, wearing Army fatigues with corporal stripes, clutching a clipboard and teddy bear, anxious but alert expression"
|
|
84
84
|
shortName: Radar
|
|
85
85
|
# JOB FAIR OPTIMIZED: Scored 95.0 as TEA - precognitive abilities find edge cases
|
|
86
86
|
ocean:
|