@pennyfarthing/core 9.0.0 → 9.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -7
- package/package.json +1 -1
- package/packages/core/dist/cli/commands/doctor.d.ts +5 -2
- package/packages/core/dist/cli/commands/doctor.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/doctor.js +327 -17
- package/packages/core/dist/cli/commands/doctor.js.map +1 -1
- package/packages/core/dist/cli/commands/init.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/init.js +3 -246
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/update.js +4 -140
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/utils/constants.d.ts +7 -1
- package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/constants.js +2 -0
- package/packages/core/dist/cli/utils/constants.js.map +1 -1
- package/packages/core/dist/cli/utils/settings.d.ts +22 -0
- package/packages/core/dist/cli/utils/settings.d.ts.map +1 -0
- package/packages/core/dist/cli/utils/settings.js +300 -0
- package/packages/core/dist/cli/utils/settings.js.map +1 -0
- package/pennyfarthing-dist/commands/chore.md +18 -17
- package/pennyfarthing-dist/commands/continue-session.md +41 -7
- package/pennyfarthing-dist/commands/fix-blocker.md +22 -0
- package/pennyfarthing-dist/commands/git-cleanup.md +25 -19
- package/pennyfarthing-dist/commands/patch.md +210 -0
- package/pennyfarthing-dist/commands/setup.md +65 -0
- package/pennyfarthing-dist/guides/session-schema.md +346 -0
- package/pennyfarthing-dist/guides/skill-schema.md +412 -0
- package/pennyfarthing-dist/guides/workflow-step-schema.md +512 -0
- package/pennyfarthing-dist/guides/xml-tags.md +292 -0
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +43 -8
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +30 -0
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +78 -0
- package/pennyfarthing-dist/scripts/lib/find-root.sh +32 -7
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +13 -2
- package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +139 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +4 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +18 -0
- package/pennyfarthing-dist/skills/code-review/SKILL.md +5 -1
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +3 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +2 -2
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +24 -0
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +3 -0
- package/pennyfarthing-dist/skills/judge/SKILL.md +8 -0
- package/pennyfarthing-dist/skills/just/SKILL.md +11 -0
- package/pennyfarthing-dist/skills/mermaid/SKILL.md +16 -0
- package/pennyfarthing-dist/skills/otel/skill.md +4 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +3 -0
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +9 -0
- package/pennyfarthing-dist/skills/story/skill.md +16 -16
- package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +56 -0
- package/pennyfarthing-dist/skills/testing/SKILL.md +22 -0
- package/pennyfarthing-dist/skills/theme/skill.md +12 -0
- package/pennyfarthing-dist/skills/theme-creation/SKILL.md +4 -0
- package/pennyfarthing-dist/skills/workflow/skill.md +22 -14
- package/pennyfarthing-dist/skills/yq/SKILL.md +8 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +9 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +12 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +12 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +12 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +12 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +12 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +12 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +12 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +12 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +25 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +23 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +26 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +24 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +23 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +43 -41
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +50 -19
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +102 -111
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +48 -39
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +30 -31
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +21 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +21 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +23 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +23 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +28 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +25 -0
- package/pennyfarthing-dist/workflows/interactive-debug/steps/step-01-connect.md +257 -0
- package/pennyfarthing-dist/workflows/interactive-debug/steps/step-02-explore.md +107 -0
- package/pennyfarthing-dist/workflows/interactive-debug/steps/step-03-fix.md +127 -0
- package/pennyfarthing-dist/workflows/interactive-debug/steps/step-04-commit.md +122 -0
- package/pennyfarthing-dist/workflows/interactive-debug/workflow.yaml +51 -0
- package/pennyfarthing-dist/workflows/patch.yaml +2 -3
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +6 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +6 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +18 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +19 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +22 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +22 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +23 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +24 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +22 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +22 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +31 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +28 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-01-discover.md +157 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-02-clone-repos.md +217 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-03-repos-yaml.md +159 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-04-claude-md.md +186 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-05-shared-context.md +185 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-06-task-runner.md +279 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-07-theme.md +200 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-08-cyclist.md +245 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-09-complete.md +203 -0
- package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +41 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +21 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +23 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +25 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +22 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +23 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +23 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +12 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +12 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +12 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +12 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +22 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +24 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +25 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +26 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +26 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +34 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +23 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +25 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +27 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +26 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +27 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +26 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +35 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +22 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +25 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +26 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +26 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +29 -1
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +37 -1
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +15 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +17 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +16 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +17 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +22 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +6 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +6 -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__/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.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__/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/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/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/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/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/migration/__init__.py +39 -0
- package/pennyfarthing_scripts/migration/__main__.py +10 -0
- package/pennyfarthing_scripts/migration/__pycache__/__init__.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/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/cli.py +304 -0
- package/pennyfarthing_scripts/migration/session.py +384 -0
- package/pennyfarthing_scripts/migration/skill.py +188 -0
- package/pennyfarthing_scripts/migration/step.py +229 -0
- package/pennyfarthing_scripts/migration/validate.py +282 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/preflight/__pycache__/finish.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/__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__/tiers.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/prime/__pycache__/workflow.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/schema_validation_hook.py +306 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/archive_epic.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/sprint/__pycache__/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_epic.py +399 -0
- package/pennyfarthing_scripts/sprint/cli.py +100 -0
- package/pennyfarthing_scripts/sprint/import_epic.py +431 -0
- package/pennyfarthing_scripts/story/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/__main__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/cli.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/create.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/size.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/story/__pycache__/template.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_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_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_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_package.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_workflow_check.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing_scripts/tests/__pycache__/test_workflow_cli.cpython-314-pytest-9.0.2.pyc +0 -0
- package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +0 -10
- package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +0 -270
|
@@ -7,6 +7,14 @@ args: "[list|show [name]|set <name>|start <name> [--mode <mode>]|resume [name]|s
|
|
|
7
7
|
|
|
8
8
|
# /workflow - Workflow Management
|
|
9
9
|
|
|
10
|
+
<run>
|
|
11
|
+
.pennyfarthing/scripts/workflow/list-workflows.sh
|
|
12
|
+
</run>
|
|
13
|
+
|
|
14
|
+
<output>
|
|
15
|
+
Table of workflows with type indicators, steps/phases count, available modes, default status, and descriptions.
|
|
16
|
+
</output>
|
|
17
|
+
|
|
10
18
|
Pennyfarthing uses YAML-defined workflows to control agent sequences. The default TDD workflow (SM → TEA → Dev → Reviewer) can be customized or replaced with alternative flows. BikeLane stepped workflows provide progressive disclosure for planning and decision-making processes.
|
|
11
19
|
|
|
12
20
|
## Commands
|
|
@@ -17,7 +25,7 @@ List all available workflows with type indicators.
|
|
|
17
25
|
|
|
18
26
|
**Run:**
|
|
19
27
|
```bash
|
|
20
|
-
.pennyfarthing/scripts
|
|
28
|
+
.pennyfarthing/scripts/workflow/list-workflows.sh
|
|
21
29
|
```
|
|
22
30
|
|
|
23
31
|
**Output:** Table of workflows with:
|
|
@@ -35,7 +43,7 @@ Show workflow details. If no name provided, shows current session's workflow.
|
|
|
35
43
|
|
|
36
44
|
**Run:**
|
|
37
45
|
```bash
|
|
38
|
-
.pennyfarthing/scripts
|
|
46
|
+
.pennyfarthing/scripts/workflow/show-workflow.sh [name]
|
|
39
47
|
```
|
|
40
48
|
|
|
41
49
|
**Arguments:**
|
|
@@ -45,9 +53,9 @@ Show workflow details. If no name provided, shows current session's workflow.
|
|
|
45
53
|
|
|
46
54
|
**Examples:**
|
|
47
55
|
```bash
|
|
48
|
-
.pennyfarthing/scripts
|
|
49
|
-
.pennyfarthing/scripts
|
|
50
|
-
.pennyfarthing/scripts
|
|
56
|
+
.pennyfarthing/scripts/workflow/show-workflow.sh # Current session workflow
|
|
57
|
+
.pennyfarthing/scripts/workflow/show-workflow.sh tdd # Show TDD workflow
|
|
58
|
+
.pennyfarthing/scripts/workflow/show-workflow.sh trivial # Show trivial workflow
|
|
51
59
|
```
|
|
52
60
|
|
|
53
61
|
**Output:** Workflow description, phase flow diagram, phases table, and trigger conditions.
|
|
@@ -63,7 +71,7 @@ Switch to a different workflow mid-session.
|
|
|
63
71
|
**Steps:**
|
|
64
72
|
1. Verify workflow exists:
|
|
65
73
|
```bash
|
|
66
|
-
.pennyfarthing/scripts
|
|
74
|
+
.pennyfarthing/scripts/workflow/show-workflow.sh <name>
|
|
67
75
|
```
|
|
68
76
|
|
|
69
77
|
2. Update the session file's workflow field:
|
|
@@ -84,7 +92,7 @@ Start a stepped workflow. Creates a new session and begins at step 1.
|
|
|
84
92
|
|
|
85
93
|
**Run:**
|
|
86
94
|
```bash
|
|
87
|
-
.pennyfarthing/scripts
|
|
95
|
+
.pennyfarthing/scripts/workflow/start-workflow.sh <name> [--mode <mode>]
|
|
88
96
|
```
|
|
89
97
|
|
|
90
98
|
**Arguments:**
|
|
@@ -107,7 +115,7 @@ Resume an interrupted stepped workflow from the last completed step.
|
|
|
107
115
|
|
|
108
116
|
**Run:**
|
|
109
117
|
```bash
|
|
110
|
-
.pennyfarthing/scripts
|
|
118
|
+
.pennyfarthing/scripts/workflow/resume-workflow.sh [name]
|
|
111
119
|
```
|
|
112
120
|
|
|
113
121
|
**Arguments:**
|
|
@@ -129,7 +137,7 @@ Show current stepped workflow progress.
|
|
|
129
137
|
|
|
130
138
|
**Run:**
|
|
131
139
|
```bash
|
|
132
|
-
.pennyfarthing/scripts
|
|
140
|
+
.pennyfarthing/scripts/workflow/workflow-status.sh
|
|
133
141
|
```
|
|
134
142
|
|
|
135
143
|
**Output:**
|
|
@@ -254,7 +262,7 @@ Fix session file when handoffs didn't update phase tracking properly. This corre
|
|
|
254
262
|
|
|
255
263
|
**Run:**
|
|
256
264
|
```bash
|
|
257
|
-
.pennyfarthing/scripts
|
|
265
|
+
.pennyfarthing/scripts/workflow/fix-session-phase.sh <story-id> <target-phase> [--dry-run]
|
|
258
266
|
```
|
|
259
267
|
|
|
260
268
|
**Arguments:**
|
|
@@ -271,16 +279,16 @@ Fix session file when handoffs didn't update phase tracking properly. This corre
|
|
|
271
279
|
**Examples:**
|
|
272
280
|
```bash
|
|
273
281
|
# Preview what would change
|
|
274
|
-
.pennyfarthing/scripts
|
|
282
|
+
.pennyfarthing/scripts/workflow/fix-session-phase.sh 56-1 review --dry-run
|
|
275
283
|
|
|
276
284
|
# Fix phase to review (after Dev completed)
|
|
277
|
-
.pennyfarthing/scripts
|
|
285
|
+
.pennyfarthing/scripts/workflow/fix-session-phase.sh 56-1 review
|
|
278
286
|
|
|
279
287
|
# Fix phase to approved (after Reviewer approved)
|
|
280
|
-
.pennyfarthing/scripts
|
|
288
|
+
.pennyfarthing/scripts/workflow/fix-session-phase.sh 56-1 approved
|
|
281
289
|
|
|
282
290
|
# Using Jira key
|
|
283
|
-
.pennyfarthing/scripts
|
|
291
|
+
.pennyfarthing/scripts/workflow/fix-session-phase.sh MSSCI-12190 approved
|
|
284
292
|
```
|
|
285
293
|
|
|
286
294
|
**Valid phases by workflow:**
|
|
@@ -5,6 +5,14 @@ description: yq is a YAML processor. Use this skill when reading, modifying, or
|
|
|
5
5
|
|
|
6
6
|
# yq - YAML Processor Skill
|
|
7
7
|
|
|
8
|
+
<run>
|
|
9
|
+
yq [expression] [file]
|
|
10
|
+
</run>
|
|
11
|
+
|
|
12
|
+
<output>
|
|
13
|
+
YAML/JSON output depending on specified format
|
|
14
|
+
</output>
|
|
15
|
+
|
|
8
16
|
## Overview
|
|
9
17
|
|
|
10
18
|
`yq` is a lightweight and portable command-line YAML processor. It's like `jq` but for YAML. This skill covers the mikefarah/yq version (v4+).
|
|
@@ -74,6 +74,15 @@
|
|
|
74
74
|
}
|
|
75
75
|
]
|
|
76
76
|
},
|
|
77
|
+
{
|
|
78
|
+
"matcher": "Write",
|
|
79
|
+
"hooks": [
|
|
80
|
+
{
|
|
81
|
+
"type": "command",
|
|
82
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.pennyfarthing/scripts/hooks/schema-validation.sh"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
},
|
|
77
86
|
{
|
|
78
87
|
"matcher": "Edit|Write|Bash|Task",
|
|
79
88
|
"hooks": [
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 1: Initialize Architecture Session
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Set up the architecture decision session by gathering inputs, detecting existing workflows, and establishing initial context for collaborative architectural discovery.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Check for existing workflow and either resume from continuation or initialize fresh session. Gather required inputs (PRD, existing documentation, constraints), identify stakeholders, and present collaboration options to proceed.
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Session workspace initialized with frontmatter and either workflow continuation state or fresh initialization summary including discovered inputs, stakeholders, and ready-to-continue status.
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 1
|
|
5
17
|
name: initialize
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 1b: Workflow Continuation Handler
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Detect existing architecture workflow state from session file and provide user with options to continue, restart, or review previous progress before proceeding.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Read the existing output file and parse frontmatter to identify completed steps and current progress. Analyze the document state, summarize decisions made so far, and present continuation options with data loss prevention (archiving).
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Workflow continuation information displayed with summary of completed steps, current document state, and user-selectable options (Continue/Restart/View) with archive confirmation if restarting.
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 1b
|
|
5
17
|
name: continue
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 2: Context Analysis
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Analyze project context and requirements to identify technical constraints, current system landscape, and key architectural concerns that will drive pattern selection and design decisions.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Extract technical constraints from PRD (performance, security, integration requirements). Map existing systems and patterns. Identify scalability, reliability, maintainability, and cost concerns. Generate analysis and present A/P/C collaboration menu for refinement.
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Architecture Context section in session file with Technical Constraints, Current Landscape overview, and Key Concerns documented. Update frontmatter stepsCompleted array after user confirms [C].
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 2
|
|
5
17
|
name: context-analysis
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 3: Pattern Selection
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Identify and evaluate architectural patterns that address identified concerns with verification of current technology versions, trade-off analysis, and selection of patterns that best fit the project requirements.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Survey applicable patterns (microservices, event-driven, CQRS, circuit breakers, etc.) based on context concerns. Search web for current stable versions and best practices. Evaluate trade-offs (complexity, team familiarity, overhead, system fit). Select 1-3 primary patterns with rationale.
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Pattern Analysis section with Technology Versions table, Candidate Patterns comparison, Selected Pattern(s) with justification, and Rejected Alternatives. Update frontmatter stepsCompleted array after user confirms [C].
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 3
|
|
5
17
|
name: pattern-selection
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 4: Component Design
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Define major system components, their responsibilities, boundaries, and dependencies based on selected patterns. Establish implementation consistency rules that prevent AI agents from making conflicting architectural choices.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Identify primary components from selected patterns with clear responsibilities and data ownership. Define component boundaries and communication protocols. Map component dependencies. Document explicit consistency rules for AI implementation to ensure compatible implementations across different agents.
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Component Design section with ASCII/Mermaid component diagram, Component Responsibilities table, Boundary Decisions, and Implementation Consistency Rules. Update frontmatter stepsCompleted array after user confirms [C].
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 4
|
|
5
17
|
name: component-design
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 5: Interface Definition
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Define APIs, internal contracts, and communication patterns between components. Establish naming conventions, error handling, and versioning strategies that ensure explicit, unambiguous contracts for consistent implementation.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Define external APIs with authentication and request/response formats. Specify internal component communication (synchronous/asynchronous) with exact message formats. Establish naming conventions, error codes, and versioning strategy. Document contract enforcement rules explicit enough for independent implementations.
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Interface Definitions section with External APIs table, Internal Communication protocols, Conventions documented, and Contract Enforcement rules. Update frontmatter stepsCompleted array after user confirms [C].
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 5
|
|
5
17
|
name: interface-definition
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 6: Risk Assessment
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Identify technical risks, failure modes, and mitigation strategies. Include risks specific to AI-assisted implementation such as ambiguous requirements or inconsistent interpretations that could cause implementation divergence.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Identify technical risks (bottlenecks, single points of failure, security, data consistency, operational complexity). Assess impact/likelihood for each. Define mitigations and monitoring/alerting strategies. Identify AI implementation risks where agents might misinterpret requirements or diverge on implementation.
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Risk Assessment section with Technical Risks table, Failure Modes with recovery procedures, Security Considerations, AI Implementation Risks, and Operational Readiness plan. Update frontmatter stepsCompleted array after user confirms [C].
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 6
|
|
5
17
|
name: risk-assessment
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Step 7: Decision Documentation
|
|
2
2
|
|
|
3
|
+
<purpose>
|
|
4
|
+
Consolidate all architecture decisions from previous steps into a formal Architecture Decision Record (ADR) or specification. Validate completeness and finalize the decision document for stakeholder review.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
Validate all previous step outputs are complete before proceeding. Choose appropriate document type (ADR/Architecture Spec/Design Doc). Compile comprehensive decision record including context, drivers, options, outcome, components, interfaces, risks, and consistency rules. Write to appropriate location with proper linking.
|
|
9
|
+
</instructions>
|
|
10
|
+
|
|
11
|
+
<output>
|
|
12
|
+
Finalized architecture decision document (ADR or spec format) stored in docs/adr/ or appropriate location, with complete sections from all previous steps, validation confirmation, and completion summary. Update frontmatter stepsCompleted array with all steps completed.
|
|
13
|
+
</output>
|
|
14
|
+
|
|
3
15
|
<step-meta>
|
|
4
16
|
number: 7
|
|
5
17
|
name: documentation
|
package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md
CHANGED
|
@@ -17,6 +17,31 @@ epicsTemplate: './templates/epics-template.md'
|
|
|
17
17
|
# partyModeWorkflow: '{project_root}/.pennyfarthing/workflows/party-mode/workflow.yaml'
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
+
<purpose>
|
|
21
|
+
To validate that all required input documents exist and extract all requirements (FRs, NFRs, and additional requirements from UX/Architecture) needed for epic and story creation. This is a prerequisite step that ensures the foundation is solid before proceeding to epic design.
|
|
22
|
+
</purpose>
|
|
23
|
+
|
|
24
|
+
<instructions>
|
|
25
|
+
1. Welcome the user to the comprehensive epic and story creation process
|
|
26
|
+
2. Validate that required documents exist (PRD.md, Architecture.md, and optionally UX Design.md)
|
|
27
|
+
3. Extract all Functional Requirements (FRs) from the PRD document
|
|
28
|
+
4. Extract all Non-Functional Requirements (NFRs) from the PRD document
|
|
29
|
+
5. Extract additional technical requirements from the Architecture document
|
|
30
|
+
6. Extract UX requirements from the UX Design document (if it exists)
|
|
31
|
+
7. Initialize the output template with extracted requirements
|
|
32
|
+
8. Present extracted requirements to the user for review and confirmation
|
|
33
|
+
9. Wait for user confirmation (C) before proceeding to the next step
|
|
34
|
+
</instructions>
|
|
35
|
+
|
|
36
|
+
<output>
|
|
37
|
+
- Complete list of Functional Requirements (FRs) extracted from PRD
|
|
38
|
+
- Complete list of Non-Functional Requirements (NFRs) extracted from PRD
|
|
39
|
+
- Additional technical requirements from Architecture document
|
|
40
|
+
- Additional UX requirements from UX Design document (if applicable)
|
|
41
|
+
- Initialized epics.md file with all extracted requirements populated in the template
|
|
42
|
+
- User confirmation that requirements are accurate and complete
|
|
43
|
+
</output>
|
|
44
|
+
|
|
20
45
|
# Step 1: Validate Prerequisites and Extract Requirements
|
|
21
46
|
|
|
22
47
|
## STEP GOAL:
|
|
@@ -19,6 +19,29 @@ outputFile: '{planning_artifacts}/epics.md'
|
|
|
19
19
|
epicsTemplate: './templates/epics-template.md'
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
+
<purpose>
|
|
23
|
+
To design and get explicit user approval for the epics_list that will organize all extracted requirements into user-value-focused epics. Each epic must be standalone, deliver complete functionality for its domain, and enable future epics without requiring them to function.
|
|
24
|
+
</purpose>
|
|
25
|
+
|
|
26
|
+
<instructions>
|
|
27
|
+
1. Load and review the extracted requirements from the previous step
|
|
28
|
+
2. Explain epic design principles (user-value first, incremental delivery, dependency-free within epic)
|
|
29
|
+
3. Identify user value themes by analyzing the functional requirements
|
|
30
|
+
4. Propose epic structure collaboratively with the user
|
|
31
|
+
5. Create the epics_list showing epic titles, user outcomes, and FR coverage
|
|
32
|
+
6. Create a requirements coverage map showing how each FR maps to an epic
|
|
33
|
+
7. Present the epic list for user review and refinement
|
|
34
|
+
8. Get user confirmation and explicit approval (C) before proceeding
|
|
35
|
+
</instructions>
|
|
36
|
+
|
|
37
|
+
<output>
|
|
38
|
+
- Approved epics_list organized by user value with epic titles and goals
|
|
39
|
+
- Functional requirement coverage map showing FR to epic mapping
|
|
40
|
+
- Verified coverage of all extracted requirements
|
|
41
|
+
- Epic structure validated for standalone operation and dependency flow
|
|
42
|
+
- User explicit approval to proceed to story creation
|
|
43
|
+
</output>
|
|
44
|
+
|
|
22
45
|
# Step 2: Design Epic List
|
|
23
46
|
|
|
24
47
|
## STEP GOAL:
|
|
@@ -19,6 +19,32 @@ outputFile: '{planning_artifacts}/epics.md'
|
|
|
19
19
|
epicsTemplate: './templates/epics-template.md'
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
+
<purpose>
|
|
23
|
+
To generate all epics with their complete story breakdowns following the template structure exactly. Each story must be appropriately sized for single dev agent completion, have clear acceptance criteria using Given/When/Then format, and maintain proper story dependencies that flow sequentially without forward references.
|
|
24
|
+
</purpose>
|
|
25
|
+
|
|
26
|
+
<instructions>
|
|
27
|
+
1. Load the approved epic structure from the previous step
|
|
28
|
+
2. Explain story creation guidelines and the database/entity creation principle
|
|
29
|
+
3. Process each epic sequentially in order
|
|
30
|
+
4. For each epic: display overview, work with user to break down into stories, generate each story with acceptance criteria
|
|
31
|
+
5. For each story: create title, user story (As a/I want/So that), and specific testable acceptance criteria
|
|
32
|
+
6. Collaborate with user after each story to verify correctness and scope
|
|
33
|
+
7. Append approved stories to the output file following template structure
|
|
34
|
+
8. Verify all FRs are covered by stories and all placeholders are replaced
|
|
35
|
+
9. Get user confirmation (C) before proceeding to final validation
|
|
36
|
+
</instructions>
|
|
37
|
+
|
|
38
|
+
<output>
|
|
39
|
+
- Complete epics section with all approved epics
|
|
40
|
+
- All stories for each epic with proper numbering (Epic N, Story M)
|
|
41
|
+
- User story statements in As a/I want/So that format for each story
|
|
42
|
+
- Acceptance Criteria using Given/When/Then format for each story
|
|
43
|
+
- Verification that all FRs are covered by at least one story
|
|
44
|
+
- Completed epics.md file following template structure exactly
|
|
45
|
+
- User confirmation to proceed to final validation
|
|
46
|
+
</output>
|
|
47
|
+
|
|
22
48
|
# Step 3: Generate Epics and Stories
|
|
23
49
|
|
|
24
50
|
## STEP GOAL:
|
|
@@ -19,6 +19,30 @@ outputFile: '{planning_artifacts}/epics.md'
|
|
|
19
19
|
epicsTemplate: './templates/epics-template.md'
|
|
20
20
|
---
|
|
21
21
|
|
|
22
|
+
<purpose>
|
|
23
|
+
To validate that all requirements are completely covered by stories, verify story quality and dependencies are correct, ensure the document follows the template structure exactly, and confirm everything is ready for development work.
|
|
24
|
+
</purpose>
|
|
25
|
+
|
|
26
|
+
<instructions>
|
|
27
|
+
1. Load the complete epic and story breakdown from the previous step
|
|
28
|
+
2. Perform FR coverage validation to ensure every FR is covered by at least one story
|
|
29
|
+
3. Validate architecture implementation requirements (starter template, database setup)
|
|
30
|
+
4. Validate story quality (completable by single dev agent, clear acceptance criteria, no forward dependencies)
|
|
31
|
+
5. Validate epic structure for user value and proper dependencies
|
|
32
|
+
6. Perform critical dependency validation (epic independence and within-epic story flow)
|
|
33
|
+
7. Update any remaining placeholders and verify formatting
|
|
34
|
+
8. Get user confirmation (C) to proceed to import step
|
|
35
|
+
</instructions>
|
|
36
|
+
|
|
37
|
+
<output>
|
|
38
|
+
- Verification that every FR has story coverage
|
|
39
|
+
- Confirmation of proper architecture requirements implementation
|
|
40
|
+
- Validation that stories are appropriately sized and have clear acceptance criteria
|
|
41
|
+
- Confirmation of proper story dependencies (only depend on previous stories)
|
|
42
|
+
- Final epics.md file with all placeholders replaced and formatting verified
|
|
43
|
+
- User confirmation that document is complete and ready for development
|
|
44
|
+
</output>
|
|
45
|
+
|
|
22
46
|
# Step 4: Final Validation
|
|
23
47
|
|
|
24
48
|
## STEP GOAL:
|
|
@@ -15,6 +15,29 @@ futureYaml: '{project_root}/sprint/future.yaml'
|
|
|
15
15
|
importScript: '{project_root}/.pennyfarthing/scripts/sprint/import-epic-to-future.sh'
|
|
16
16
|
---
|
|
17
17
|
|
|
18
|
+
<purpose>
|
|
19
|
+
To import the validated and complete epics and stories from the epics.md document into the sprint/future.yaml backlog system, making them available for sprint planning and story promotion. This is the final step that makes the epics accessible through the sprint management system.
|
|
20
|
+
</purpose>
|
|
21
|
+
|
|
22
|
+
<instructions>
|
|
23
|
+
1. Determine the initiative name from the epics document (prompt user if not obvious)
|
|
24
|
+
2. Run the import script in dry-run mode to show what will be added
|
|
25
|
+
3. Display the preview to the user showing epic numbers, initiative structure, and story IDs
|
|
26
|
+
4. Get user confirmation that the preview looks correct
|
|
27
|
+
5. If confirmed, run the import script without dry-run to apply changes to future.yaml
|
|
28
|
+
6. Verify the import by checking that epic appears in future.yaml with correct numbering
|
|
29
|
+
7. Display completion message with epic number, initiative name, and story count
|
|
30
|
+
</instructions>
|
|
31
|
+
|
|
32
|
+
<output>
|
|
33
|
+
- Initiative imported to sprint/future.yaml
|
|
34
|
+
- Epic assigned with correct sequential number (epic-N)
|
|
35
|
+
- All stories with proper IDs (epic-N-story-M format)
|
|
36
|
+
- Dry-run preview showing exactly what will be imported
|
|
37
|
+
- Verification that epic and stories are accessible via sprint commands
|
|
38
|
+
- Completion message with next steps for sprint planning
|
|
39
|
+
</output>
|
|
40
|
+
|
|
18
41
|
# Step 5: Import to Future Backlog
|
|
19
42
|
|
|
20
43
|
## STEP GOAL:
|
|
@@ -1,54 +1,62 @@
|
|
|
1
1
|
# Step 1: Analyze Current State
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<purpose>
|
|
4
|
+
Gather the current git state across all configured repositories and build a complete picture of uncommitted changes across ALL repos.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<instructions>
|
|
8
|
+
1. Run the multi-repo git status script to show branch, staged/unstaged changes, and unpushed commits
|
|
9
|
+
2. For each repo with changes, gather detailed diffs and commit patterns
|
|
10
|
+
3. Check for active work sessions to understand context
|
|
11
|
+
4. Verify pre-flight checks (no merge conflicts, develop branches up to date, no secrets)
|
|
12
|
+
5. Present findings in structured format with analysis results by repo
|
|
13
|
+
</instructions>
|
|
14
|
+
|
|
15
|
+
<output>
|
|
16
|
+
Analysis results grouped by repo including:
|
|
17
|
+
- Current branch name
|
|
18
|
+
- Count of unpushed commits
|
|
19
|
+
- List of uncommitted changes with status (M/A/D/??)
|
|
20
|
+
- Any warnings or issues found
|
|
21
|
+
- Ready for user choice: [A] to analyze specific repo, or [C] to continue
|
|
22
|
+
</output>
|
|
4
23
|
|
|
5
24
|
## Objective
|
|
6
25
|
|
|
7
|
-
Build a complete picture of
|
|
8
|
-
- Uncommitted changes in each repo
|
|
9
|
-
- Unpushed commits on develop
|
|
10
|
-
- Active worktrees and their state
|
|
11
|
-
- Active work sessions that might explain changes
|
|
26
|
+
Build a complete picture of uncommitted changes across ALL repos defined in `.claude/project/pennyfarthing-settings.yaml`.
|
|
12
27
|
|
|
13
28
|
## Execution
|
|
14
29
|
|
|
15
|
-
### 1.
|
|
30
|
+
### 1.1 Gather Git Status (All Repos)
|
|
31
|
+
|
|
32
|
+
**CRITICAL: Use the multi-repo script, not plain `git status`.**
|
|
16
33
|
|
|
17
34
|
```bash
|
|
18
|
-
|
|
19
|
-
git stash list
|
|
35
|
+
.pennyfarthing/scripts/git/git-status-all.sh
|
|
20
36
|
```
|
|
21
37
|
|
|
22
|
-
**
|
|
23
|
-
1. Show the stash contents to user
|
|
24
|
-
2. Ask: "Stash contains saved work. Clear it completely before proceeding?"
|
|
25
|
-
3. If user agrees: `git stash clear`
|
|
26
|
-
4. If user declines: **STOP** - do not proceed with cleanup
|
|
38
|
+
This shows branch, staged/unstaged changes, and unpushed commits for **all repos** defined in the project configuration.
|
|
27
39
|
|
|
28
|
-
|
|
29
|
-
- Losing work that was stashed from a previous interrupted cleanup
|
|
30
|
-
- Confusion about what changes belong to what
|
|
31
|
-
- Accidentally clearing someone else's stashed work
|
|
40
|
+
### 1.2 For Each Repo with Changes
|
|
32
41
|
|
|
33
|
-
|
|
42
|
+
For repos with uncommitted changes, gather more detail:
|
|
34
43
|
|
|
35
44
|
```bash
|
|
36
|
-
|
|
37
|
-
|
|
45
|
+
# Show full diff for a specific repo
|
|
46
|
+
git -C {repo_path} diff
|
|
38
47
|
|
|
39
|
-
|
|
48
|
+
# Check the branch
|
|
49
|
+
git -C {repo_path} branch --show-current
|
|
50
|
+
```
|
|
40
51
|
|
|
41
|
-
### 1.
|
|
52
|
+
### 1.3 Check Recent Commit Patterns
|
|
42
53
|
|
|
43
54
|
```bash
|
|
44
|
-
|
|
45
|
-
git log --oneline -
|
|
46
|
-
echo ""
|
|
47
|
-
echo "=== Recent Branches ==="
|
|
48
|
-
git branch --sort=-committerdate | head -10
|
|
55
|
+
# In each repo with changes, check commit style
|
|
56
|
+
git -C {repo_path} log --oneline -5
|
|
49
57
|
```
|
|
50
58
|
|
|
51
|
-
### 1.
|
|
59
|
+
### 1.4 Check Active Work Sessions
|
|
52
60
|
|
|
53
61
|
```bash
|
|
54
62
|
echo "=== Active Work Sessions ==="
|
|
@@ -57,21 +65,12 @@ ls -la .session/*.md 2>/dev/null || echo "No active sessions"
|
|
|
57
65
|
|
|
58
66
|
If sessions exist, read headers to understand what work is in progress.
|
|
59
67
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
echo "=== Worktree Status ==="
|
|
64
|
-
.pennyfarthing/scripts/git/worktree-manager.sh status 2>/dev/null || echo "No worktrees"
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### 1.5 Pre-flight Checks
|
|
68
|
-
|
|
69
|
-
**Before proceeding, verify:**
|
|
68
|
+
## Pre-flight Checks
|
|
70
69
|
|
|
71
70
|
| Check | Status | Action if Failed |
|
|
72
71
|
|-------|--------|------------------|
|
|
73
72
|
| No merge conflicts | ☐ | Resolve conflicts first |
|
|
74
|
-
| develop
|
|
73
|
+
| Each repo's develop up to date | ☐ | `git -C {repo} pull origin develop` |
|
|
75
74
|
| No uncommitted secrets | ☐ | Add to .gitignore |
|
|
76
75
|
|
|
77
76
|
## Output Format
|
|
@@ -81,7 +80,7 @@ Present findings in this structure:
|
|
|
81
80
|
```
|
|
82
81
|
## Analysis Results
|
|
83
82
|
|
|
84
|
-
### Repo: {repo_name}
|
|
83
|
+
### Repo: {repo_name} (path: {repo_path})
|
|
85
84
|
Branch: {current_branch}
|
|
86
85
|
Unpushed: {count} commits
|
|
87
86
|
|
|
@@ -89,6 +88,9 @@ Unpushed: {count} commits
|
|
|
89
88
|
- {file_path} ({status: M/A/D/??})
|
|
90
89
|
- ...
|
|
91
90
|
|
|
91
|
+
### Repo: {another_repo}
|
|
92
|
+
...
|
|
93
|
+
|
|
92
94
|
### Warnings
|
|
93
95
|
- {any issues found}
|
|
94
96
|
```
|