@pennyfarthing/core 10.0.1 → 10.0.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/package.json +13 -3
- package/pennyfarthing-dist/agents/README.md +348 -0
- package/pennyfarthing-dist/agents/architect.md +180 -0
- package/pennyfarthing-dist/agents/dev.md +169 -0
- package/pennyfarthing-dist/agents/devops.md +203 -0
- package/pennyfarthing-dist/agents/handoff.md +235 -0
- package/pennyfarthing-dist/agents/orchestrator.md +182 -0
- package/pennyfarthing-dist/agents/pm.md +152 -0
- package/pennyfarthing-dist/agents/reviewer-preflight.md +129 -0
- package/pennyfarthing-dist/agents/reviewer.md +197 -0
- package/pennyfarthing-dist/agents/sm-file-summary.md +79 -0
- package/pennyfarthing-dist/agents/sm-finish.md +82 -0
- package/pennyfarthing-dist/agents/sm-handoff.md +129 -0
- package/pennyfarthing-dist/agents/sm-setup.md +251 -0
- package/pennyfarthing-dist/agents/sm.md +298 -0
- package/pennyfarthing-dist/agents/tea.md +161 -0
- package/pennyfarthing-dist/agents/tech-writer.md +226 -0
- package/pennyfarthing-dist/agents/testing-runner.md +184 -0
- package/pennyfarthing-dist/agents/ux-designer.md +236 -0
- package/pennyfarthing-dist/agents/workflow-status-check.md +96 -0
- package/pennyfarthing-dist/commands/architect.md +9 -0
- package/pennyfarthing-dist/commands/benchmark-control.md +69 -0
- package/pennyfarthing-dist/commands/benchmark.md +485 -0
- package/pennyfarthing-dist/commands/brainstorming.md +91 -0
- package/pennyfarthing-dist/commands/check.md +156 -0
- package/pennyfarthing-dist/commands/chore.md +218 -0
- package/pennyfarthing-dist/commands/close-epic.md +139 -0
- package/pennyfarthing-dist/commands/continue-session.md +218 -0
- package/pennyfarthing-dist/commands/create-branches-from-story.md +358 -0
- package/pennyfarthing-dist/commands/create-theme.md +29 -0
- package/pennyfarthing-dist/commands/dev.md +9 -0
- package/pennyfarthing-dist/commands/devops.md +9 -0
- package/pennyfarthing-dist/commands/fix-blocker.md +22 -0
- package/pennyfarthing-dist/commands/git-cleanup.md +57 -0
- package/pennyfarthing-dist/commands/health-check.md +143 -0
- package/pennyfarthing-dist/commands/help.md +264 -0
- package/pennyfarthing-dist/commands/job-fair.md +102 -0
- package/pennyfarthing-dist/commands/list-themes.md +21 -0
- package/pennyfarthing-dist/commands/new-work.md +23 -0
- package/pennyfarthing-dist/commands/orchestrator.md +9 -0
- package/pennyfarthing-dist/commands/parallel-work.md +73 -0
- package/pennyfarthing-dist/commands/party-mode.md +77 -0
- package/pennyfarthing-dist/commands/patch.md +210 -0
- package/pennyfarthing-dist/commands/permissions.md +193 -0
- package/pennyfarthing-dist/commands/pm.md +9 -0
- package/pennyfarthing-dist/commands/prime.md +136 -0
- package/pennyfarthing-dist/commands/release.md +74 -0
- package/pennyfarthing-dist/commands/repo-status.md +49 -0
- package/pennyfarthing-dist/commands/retro.md +200 -0
- package/pennyfarthing-dist/commands/reviewer.md +9 -0
- package/pennyfarthing-dist/commands/run-ci.md +116 -0
- package/pennyfarthing-dist/commands/set-theme.md +56 -0
- package/pennyfarthing-dist/commands/setup.md +65 -0
- package/pennyfarthing-dist/commands/show-theme.md +21 -0
- package/pennyfarthing-dist/commands/sm.md +9 -0
- package/pennyfarthing-dist/commands/solo.md +447 -0
- package/pennyfarthing-dist/commands/sprint-planning.md +109 -0
- package/pennyfarthing-dist/commands/sprint.md +142 -0
- package/pennyfarthing-dist/commands/standalone.md +194 -0
- package/pennyfarthing-dist/commands/start-epic.md +168 -0
- package/pennyfarthing-dist/commands/sync-epic-to-jira.md +184 -0
- package/pennyfarthing-dist/commands/sync-work-with-sprint.md +373 -0
- package/pennyfarthing-dist/commands/tea.md +9 -0
- package/pennyfarthing-dist/commands/tech-writer.md +9 -0
- package/pennyfarthing-dist/commands/theme-maker.md +676 -0
- package/pennyfarthing-dist/commands/update-domain-docs.md +83 -0
- package/pennyfarthing-dist/commands/ux-designer.md +9 -0
- package/pennyfarthing-dist/commands/work.md +25 -0
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +92 -0
- package/pennyfarthing-dist/guides/agent-coordination.md +475 -0
- package/pennyfarthing-dist/guides/agent-tag-taxonomy.md +432 -0
- package/pennyfarthing-dist/guides/agent-template-strategic.md +148 -0
- package/pennyfarthing-dist/guides/agent-template-tactical.md +162 -0
- package/pennyfarthing-dist/guides/hooks.md +230 -0
- package/pennyfarthing-dist/guides/measurement-framework.md +210 -0
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +766 -0
- package/pennyfarthing-dist/guides/patterns/fan-out-fan-in-pattern.md +574 -0
- package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +488 -0
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +402 -0
- package/pennyfarthing-dist/guides/permission-protocol.md +188 -0
- package/pennyfarthing-dist/guides/persona-loading.md +46 -0
- package/pennyfarthing-dist/guides/prompt-patterns.md +338 -0
- package/pennyfarthing-dist/guides/scale-levels.md +114 -0
- package/pennyfarthing-dist/guides/session-artifacts.md +193 -0
- package/pennyfarthing-dist/guides/session-schema.md +346 -0
- package/pennyfarthing-dist/guides/skill-schema.md +412 -0
- package/pennyfarthing-dist/guides/workflow-schema.md +257 -0
- package/pennyfarthing-dist/guides/workflow-step-schema.md +512 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +113 -0
- package/pennyfarthing-dist/guides/xml-tags.md +627 -0
- package/pennyfarthing-dist/output-styles/teaching.md +33 -0
- package/pennyfarthing-dist/output-styles/terse.md +20 -0
- package/pennyfarthing-dist/output-styles/verbose.md +28 -0
- package/pennyfarthing-dist/personas/themes/a-team.yaml +331 -0
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +324 -0
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +289 -0
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/control.yaml +201 -0
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +315 -0
- package/pennyfarthing-dist/personas/themes/discworld.yaml +334 -0
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/dune.yaml +301 -0
- package/pennyfarthing-dist/personas/themes/firefly.yaml +320 -0
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +316 -0
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +323 -0
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/mad-max.yaml +349 -0
- package/pennyfarthing-dist/personas/themes/mash.yaml +329 -0
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +344 -0
- package/pennyfarthing-dist/personas/themes/sandman.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +358 -0
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +297 -0
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +337 -0
- package/pennyfarthing-dist/personas/themes/the-matrix.yaml +342 -0
- package/pennyfarthing-dist/personas/themes/watchmen.yaml +285 -0
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +285 -0
- package/pennyfarthing-dist/personas/themes/x-files.yaml +296 -0
- package/pennyfarthing-dist/scripts/README.md +87 -0
- package/pennyfarthing-dist/scripts/core/README.md +25 -0
- package/pennyfarthing-dist/scripts/core/agent-session.sh +390 -0
- package/pennyfarthing-dist/scripts/core/check-context.sh +194 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +112 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +90 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +30 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
- package/pennyfarthing-dist/scripts/git/README.md +25 -0
- package/pennyfarthing-dist/scripts/git/create-feature-branches.sh +267 -0
- package/pennyfarthing-dist/scripts/git/git-status-all.sh +152 -0
- package/pennyfarthing-dist/scripts/git/install-git-hooks.sh +79 -0
- package/pennyfarthing-dist/scripts/git/release.sh +246 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +497 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +156 -0
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/__pycache__/question_reflector_check.cpython-314.pyc +0 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +106 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +95 -0
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +65 -0
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +35 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +150 -0
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +190 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +71 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +42 -0
- package/pennyfarthing-dist/scripts/hooks/question-reflector-check.sh +20 -0
- package/pennyfarthing-dist/scripts/hooks/question_reflector_check.py +499 -0
- package/pennyfarthing-dist/scripts/hooks/schema-validation.sh +30 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +97 -0
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +65 -0
- package/pennyfarthing-dist/scripts/hooks/sprint-yaml-validation.sh +78 -0
- package/pennyfarthing-dist/scripts/hooks/welcome-hook.sh +94 -0
- package/pennyfarthing-dist/scripts/jira/README.md +36 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +95 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +91 -0
- package/pennyfarthing-dist/scripts/jira/jira-claim-story.sh +22 -0
- package/pennyfarthing-dist/scripts/jira/jira-lib.sh +464 -0
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +260 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync-story.sh +18 -0
- package/pennyfarthing-dist/scripts/jira/jira-sync.sh +16 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +16 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-to-jira.sh +16 -0
- package/pennyfarthing-dist/scripts/lib/README.md +29 -0
- package/pennyfarthing-dist/scripts/lib/background-tasks.sh +177 -0
- package/pennyfarthing-dist/scripts/lib/checkpoint.sh +136 -0
- package/pennyfarthing-dist/scripts/lib/common.sh +212 -0
- package/pennyfarthing-dist/scripts/lib/file-lock.sh +269 -0
- package/pennyfarthing-dist/scripts/lib/find-root.sh +58 -0
- package/pennyfarthing-dist/scripts/lib/logging.sh +186 -0
- package/pennyfarthing-dist/scripts/lib/retry.sh +76 -0
- package/pennyfarthing-dist/scripts/maintenance/migrate-theme-schema.mjs +102 -0
- package/pennyfarthing-dist/scripts/maintenance/sidecar-health.sh +91 -0
- package/pennyfarthing-dist/scripts/misc/README.md +44 -0
- package/pennyfarthing-dist/scripts/misc/add-short-names.sh +13 -0
- package/pennyfarthing-dist/scripts/misc/add_short_names.py +226 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +77 -0
- package/pennyfarthing-dist/scripts/misc/check-status.sh +247 -0
- package/pennyfarthing-dist/scripts/misc/find-related-work.sh +231 -0
- package/pennyfarthing-dist/scripts/misc/generate-skill-docs.sh +107 -0
- package/pennyfarthing-dist/scripts/misc/log-skill-usage.sh +74 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +10 -0
- package/pennyfarthing-dist/scripts/misc/migrate_bmad_workflow.py +319 -0
- package/pennyfarthing-dist/scripts/misc/repo-scan.sh +141 -0
- package/pennyfarthing-dist/scripts/misc/repo-utils.sh +778 -0
- package/pennyfarthing-dist/scripts/misc/run-ci.sh +212 -0
- package/pennyfarthing-dist/scripts/misc/run-timestamp.sh +7 -0
- package/pennyfarthing-dist/scripts/misc/session-cleanup.sh +319 -0
- package/pennyfarthing-dist/scripts/misc/skill-usage-report.sh +193 -0
- package/pennyfarthing-dist/scripts/misc/statusline.sh +257 -0
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +275 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +160 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +417 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.sh +54 -0
- package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +133 -0
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +91 -0
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +158 -0
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +52 -0
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +63 -0
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +145 -0
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +110 -0
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +148 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +415 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +33 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +230 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
- package/pennyfarthing-dist/scripts/sprint/validate-sprint-yaml.sh +139 -0
- package/pennyfarthing-dist/scripts/story/README.md +23 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +19 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +18 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +18 -0
- package/pennyfarthing-dist/scripts/test/README.md +23 -0
- package/pennyfarthing-dist/scripts/test/ensure-swebench-data.sh +59 -0
- package/pennyfarthing-dist/scripts/test/ground-truth-judge.py +220 -0
- package/pennyfarthing-dist/scripts/test/swebench-judge.py +374 -0
- package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
- package/pennyfarthing-dist/scripts/test/test-setup.sh +337 -0
- package/pennyfarthing-dist/scripts/tests/check.test.sh +582 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +515 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +599 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +332 -0
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +573 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +859 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +662 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +589 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +106 -0
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +597 -0
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +514 -0
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +517 -0
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +331 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +647 -0
- package/pennyfarthing-dist/scripts/theme/README.md +22 -0
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +13 -0
- package/pennyfarthing-dist/scripts/theme/compute_theme_tiers.py +402 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +30 -0
- package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +97 -0
- package/pennyfarthing-dist/scripts/validation/validate-agent-schema.sh +576 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
- package/pennyfarthing-dist/scripts/workflow/check.py +502 -0
- package/pennyfarthing-dist/scripts/workflow/check.sh +24 -0
- package/pennyfarthing-dist/scripts/workflow/complete-step.py +304 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +154 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +222 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.py +61 -0
- package/pennyfarthing-dist/scripts/workflow/get-workflow-type.sh +13 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +124 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +34 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +157 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +132 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +250 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +161 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +246 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +385 -0
- package/pennyfarthing-dist/skills/code-review/SKILL.md +172 -0
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +277 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +88 -0
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +461 -0
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +261 -0
- package/pennyfarthing-dist/skills/jira/SKILL.md +508 -0
- package/pennyfarthing-dist/skills/judge/SKILL.md +644 -0
- package/pennyfarthing-dist/skills/just/SKILL.md +414 -0
- package/pennyfarthing-dist/skills/mermaid/SKILL.md +256 -0
- package/pennyfarthing-dist/skills/otel/skill.md +227 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +157 -0
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +187 -0
- package/pennyfarthing-dist/skills/skill-registry.schema.json +107 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +393 -0
- package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +97 -0
- package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +116 -0
- package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +39 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +147 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +93 -0
- package/pennyfarthing-dist/skills/sprint/skill.md +465 -0
- package/pennyfarthing-dist/skills/story/scripts/create-story.sh +159 -0
- package/pennyfarthing-dist/skills/story/scripts/size-story.sh +198 -0
- package/pennyfarthing-dist/skills/story/scripts/story-template.sh +162 -0
- package/pennyfarthing-dist/skills/story/skill.md +219 -0
- package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +446 -0
- package/pennyfarthing-dist/skills/testing/SKILL.md +121 -0
- package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +124 -0
- package/pennyfarthing-dist/skills/theme/skill.md +141 -0
- package/pennyfarthing-dist/skills/theme-creation/SKILL.md +178 -0
- package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +91 -0
- package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +138 -0
- package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +273 -0
- package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/workflow/skill.md +345 -0
- package/pennyfarthing-dist/skills/yq/SKILL.md +272 -0
- package/pennyfarthing-dist/templates/LEADERBOARD.schema.yaml +187 -0
- package/pennyfarthing-dist/templates/LEADERBOARD.template.md +59 -0
- package/pennyfarthing-dist/templates/agent-scopes.yaml.template +276 -0
- package/pennyfarthing-dist/templates/pennyfarthing-settings.yaml.template +61 -0
- package/pennyfarthing-dist/templates/persona-config.yaml.template +22 -0
- package/pennyfarthing-dist/templates/preferences.yaml.template +15 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +130 -0
- package/pennyfarthing-dist/templates/setup-env.sh.template +18 -0
- package/pennyfarthing-dist/templates/shared-context.md.template +70 -0
- package/pennyfarthing-dist/templates/sidecar/decisions.md.template +40 -0
- package/pennyfarthing-dist/templates/sidecar/gotchas.md.template +37 -0
- package/pennyfarthing-dist/templates/sidecar/patterns.md.template +34 -0
- package/pennyfarthing-dist/workflows/agent-docs.yaml +70 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +113 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +105 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +127 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +145 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +150 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +145 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +154 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +172 -0
- package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +102 -0
- package/pennyfarthing-dist/workflows/architecture.yaml +65 -0
- package/pennyfarthing-dist/workflows/bdd.yaml +60 -0
- package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +62 -0
- package/pennyfarthing-dist/workflows/brainstorming/checklist.md +44 -0
- package/pennyfarthing-dist/workflows/brainstorming/instructions.md +736 -0
- package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +49 -0
- package/pennyfarthing-dist/workflows/code-review/checklist.md +23 -0
- package/pennyfarthing-dist/workflows/code-review/instructions.md +234 -0
- package/pennyfarthing-dist/workflows/code-review/workflow.yaml +51 -0
- package/pennyfarthing-dist/workflows/dev-story/checklist.md +80 -0
- package/pennyfarthing-dist/workflows/dev-story/instructions.xml +410 -0
- package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +281 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +256 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +298 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +177 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +145 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +57 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +28 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-01-analyze.md +103 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +147 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +215 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +97 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +78 -0
- package/pennyfarthing-dist/workflows/git-cleanup.yaml +59 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +211 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +199 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +202 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +162 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +280 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +158 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +4 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +40 -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 +67 -0
- package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +13 -0
- package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +197 -0
- package/pennyfarthing-dist/workflows/prd/data/project-types.csv +11 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +197 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +159 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +230 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +232 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +219 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +213 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +232 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +243 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +234 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +237 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +248 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +223 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +186 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +253 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +214 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +255 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +259 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +174 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +224 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +197 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +215 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +180 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +220 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +234 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +223 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +211 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +249 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +269 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +215 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +270 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +248 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +238 -0
- package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +10 -0
- package/pennyfarthing-dist/workflows/prd/workflow.yaml +42 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +195 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +180 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +221 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +224 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +228 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +243 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +216 -0
- package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +10 -0
- package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +31 -0
- package/pennyfarthing-dist/workflows/project-context/project-context-template.md +21 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +206 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +349 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +306 -0
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -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-theme-packs.md +142 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-09-cyclist.md +245 -0
- package/pennyfarthing-dist/workflows/project-setup/steps/step-10-complete.md +204 -0
- package/pennyfarthing-dist/workflows/project-setup/workflow.yaml +41 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +177 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +143 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +138 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +135 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +129 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +163 -0
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +201 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +156 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +140 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +203 -0
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/release/steps/step-01-preflight.md +105 -0
- package/pennyfarthing-dist/workflows/release/steps/step-02-bump.md +95 -0
- package/pennyfarthing-dist/workflows/release/steps/step-03-changelog.md +125 -0
- package/pennyfarthing-dist/workflows/release/steps/step-04-readme.md +101 -0
- package/pennyfarthing-dist/workflows/release/steps/step-05-claude-md.md +102 -0
- package/pennyfarthing-dist/workflows/release/steps/step-06-retro.md +59 -0
- package/pennyfarthing-dist/workflows/release/steps/step-07-commit.md +109 -0
- package/pennyfarthing-dist/workflows/release/steps/step-08-merge.md +65 -0
- package/pennyfarthing-dist/workflows/release/steps/step-09-push.md +75 -0
- package/pennyfarthing-dist/workflows/release/steps/step-10-publish.md +93 -0
- package/pennyfarthing-dist/workflows/release/steps/step-11-finalize.md +71 -0
- package/pennyfarthing-dist/workflows/release.yaml +62 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +159 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +253 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +263 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +232 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +260 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +477 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +205 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +262 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +227 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +275 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +286 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +203 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +510 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +159 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +264 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +274 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +228 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +267 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +522 -0
- package/pennyfarthing-dist/workflows/research/templates/research.template.md +29 -0
- package/pennyfarthing-dist/workflows/research/workflow.yaml +45 -0
- package/pennyfarthing-dist/workflows/retrospective/checklist.md +31 -0
- package/pennyfarthing-dist/workflows/retrospective/instructions.md +1443 -0
- package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +33 -0
- package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +55 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +69 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +61 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +80 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +90 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +78 -0
- package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
- package/pennyfarthing-dist/workflows/tdd.yaml +50 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +40 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +141 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +133 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +196 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +222 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +225 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +240 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +258 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +260 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +230 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +230 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +247 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +254 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +243 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +270 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +234 -0
- package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
- package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
|
@@ -0,0 +1,512 @@
|
|
|
1
|
+
# Workflow Step File XML Schema
|
|
2
|
+
|
|
3
|
+
Workflow step files define individual steps in BikeLane stepped workflows. A consistent XML schema enables reliable step parsing, gate enforcement, and navigation.
|
|
4
|
+
|
|
5
|
+
## File Location
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
workflows/{workflow-name}/steps/step-{NN}-{name}.md
|
|
9
|
+
workflows/{workflow-name}/steps-{mode}/step-{NN}-{name}.md
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**Examples:**
|
|
13
|
+
- `workflows/architecture/steps/step-01-initialize.md`
|
|
14
|
+
- `workflows/prd/steps-c/step-05-domain.md` (create mode)
|
|
15
|
+
- `workflows/research/steps-market/step-02-customer-insights.md`
|
|
16
|
+
|
|
17
|
+
## Complete Schema
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
# Step N: Step Title
|
|
21
|
+
|
|
22
|
+
<step-meta>
|
|
23
|
+
number: 1
|
|
24
|
+
name: initialize
|
|
25
|
+
gate: false
|
|
26
|
+
next: step-02-context
|
|
27
|
+
</step-meta>
|
|
28
|
+
|
|
29
|
+
<purpose>
|
|
30
|
+
What this step accomplishes in the workflow.
|
|
31
|
+
</purpose>
|
|
32
|
+
|
|
33
|
+
<prerequisites>
|
|
34
|
+
- Required input 1
|
|
35
|
+
- Required input 2
|
|
36
|
+
- Previous step must be complete
|
|
37
|
+
</prerequisites>
|
|
38
|
+
|
|
39
|
+
<instructions>
|
|
40
|
+
1. First action to take
|
|
41
|
+
2. Second action to take
|
|
42
|
+
3. Third action to take
|
|
43
|
+
</instructions>
|
|
44
|
+
|
|
45
|
+
<actions>
|
|
46
|
+
- Check: `{file_path}` for condition
|
|
47
|
+
- Read: `{input_path}/*.md`
|
|
48
|
+
- Write: `{output_file}`
|
|
49
|
+
- Run: `.pennyfarthing/scripts/path/to/script.sh`
|
|
50
|
+
</actions>
|
|
51
|
+
|
|
52
|
+
<output>
|
|
53
|
+
What to produce at end of this step.
|
|
54
|
+
Document format, required sections, etc.
|
|
55
|
+
</output>
|
|
56
|
+
|
|
57
|
+
<gate>
|
|
58
|
+
## Completion Criteria
|
|
59
|
+
- [ ] Criterion 1 met
|
|
60
|
+
- [ ] Criterion 2 met
|
|
61
|
+
- [ ] User confirmed output
|
|
62
|
+
</gate>
|
|
63
|
+
|
|
64
|
+
<collaboration-menu>
|
|
65
|
+
- **[C] Continue** - Proceed to next step
|
|
66
|
+
- **[R] Revise** - Make changes to output
|
|
67
|
+
- **[H] Help** - Get guidance on this step
|
|
68
|
+
- **[S] Skip** - Skip optional step
|
|
69
|
+
</collaboration-menu>
|
|
70
|
+
|
|
71
|
+
<next-step>
|
|
72
|
+
After gate passes, proceed to step-02-context.md
|
|
73
|
+
</next-step>
|
|
74
|
+
|
|
75
|
+
## Failure Modes
|
|
76
|
+
|
|
77
|
+
- Not checking prerequisites before starting
|
|
78
|
+
- Skipping user confirmation at gate
|
|
79
|
+
- Proceeding without all criteria met
|
|
80
|
+
|
|
81
|
+
## Success Metrics
|
|
82
|
+
|
|
83
|
+
- All gate criteria checked
|
|
84
|
+
- User confirmed satisfaction
|
|
85
|
+
- Output matches expected format
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Element Reference
|
|
89
|
+
|
|
90
|
+
### Step Title (Required)
|
|
91
|
+
|
|
92
|
+
Every step file must start with a markdown heading:
|
|
93
|
+
|
|
94
|
+
```markdown
|
|
95
|
+
# Step N: Descriptive Title
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Format:** `# Step {number}: {title}`
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### `<step-meta>` (Required)
|
|
103
|
+
|
|
104
|
+
**Purpose:** Machine-readable step metadata for BikeLane navigation.
|
|
105
|
+
|
|
106
|
+
**Fields:**
|
|
107
|
+
| Field | Required | Type | Description |
|
|
108
|
+
|-------|----------|------|-------------|
|
|
109
|
+
| `number` | Yes | Integer | Step number (1, 2, 3...) |
|
|
110
|
+
| `name` | Yes | String | Step identifier (kebab-case) |
|
|
111
|
+
| `gate` | Yes | Boolean | Whether step has a gate checkpoint |
|
|
112
|
+
| `next` | No | String | Next step filename (without .md) |
|
|
113
|
+
|
|
114
|
+
**Example:**
|
|
115
|
+
```xml
|
|
116
|
+
<step-meta>
|
|
117
|
+
number: 3
|
|
118
|
+
name: patterns
|
|
119
|
+
gate: true
|
|
120
|
+
next: step-04-components
|
|
121
|
+
</step-meta>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Note:** The `next` field enables automatic navigation. Omit for final steps.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### `<purpose>`
|
|
129
|
+
|
|
130
|
+
**Purpose:** Explain what this step accomplishes in the workflow.
|
|
131
|
+
|
|
132
|
+
**Required:** Yes
|
|
133
|
+
|
|
134
|
+
**Content:** Clear, concise explanation of the step's goal.
|
|
135
|
+
|
|
136
|
+
**Example:**
|
|
137
|
+
```xml
|
|
138
|
+
<purpose>
|
|
139
|
+
Set up the architecture decision session by gathering inputs and establishing context.
|
|
140
|
+
This step validates prerequisites and prepares the working document.
|
|
141
|
+
</purpose>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
### `<prerequisites>`
|
|
147
|
+
|
|
148
|
+
**Purpose:** What must be true before starting this step.
|
|
149
|
+
|
|
150
|
+
**Required:** Yes, if step has dependencies.
|
|
151
|
+
|
|
152
|
+
**Content:** Bullet list of requirements.
|
|
153
|
+
|
|
154
|
+
**Example:**
|
|
155
|
+
```xml
|
|
156
|
+
<prerequisites>
|
|
157
|
+
- PRD document exists at `{planning_artifacts}/prd.md`
|
|
158
|
+
- Previous step (discovery) completed
|
|
159
|
+
- User has approved problem statement
|
|
160
|
+
</prerequisites>
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
### `<instructions>`
|
|
166
|
+
|
|
167
|
+
**Purpose:** Step-by-step guide for executing this workflow step.
|
|
168
|
+
|
|
169
|
+
**Required:** Yes
|
|
170
|
+
|
|
171
|
+
**Content:** Numbered list of actions.
|
|
172
|
+
|
|
173
|
+
**Example:**
|
|
174
|
+
```xml
|
|
175
|
+
<instructions>
|
|
176
|
+
1. Read the PRD document to understand requirements
|
|
177
|
+
2. Identify key architectural concerns
|
|
178
|
+
3. List candidate patterns that address concerns
|
|
179
|
+
4. Evaluate trade-offs for each pattern
|
|
180
|
+
5. Document recommendation with rationale
|
|
181
|
+
</instructions>
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Guidelines:**
|
|
185
|
+
- Use imperative voice ("Read", "Identify", "Document")
|
|
186
|
+
- Keep steps atomic and actionable
|
|
187
|
+
- Order reflects execution sequence
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
### `<actions>`
|
|
192
|
+
|
|
193
|
+
**Purpose:** Specific file and script operations for this step.
|
|
194
|
+
|
|
195
|
+
**Required:** Recommended for steps with file operations.
|
|
196
|
+
|
|
197
|
+
**Content:** Bullet list with action type prefix.
|
|
198
|
+
|
|
199
|
+
**Action Types:**
|
|
200
|
+
| Prefix | Description |
|
|
201
|
+
|--------|-------------|
|
|
202
|
+
| `Check:` | Verify condition exists |
|
|
203
|
+
| `Read:` | Load file(s) for input |
|
|
204
|
+
| `Write:` | Create or update file |
|
|
205
|
+
| `Run:` | Execute script |
|
|
206
|
+
| `Create:` | Create new file/directory |
|
|
207
|
+
| `Delete:` | Remove file (cleanup) |
|
|
208
|
+
|
|
209
|
+
**Example:**
|
|
210
|
+
```xml
|
|
211
|
+
<actions>
|
|
212
|
+
- Check: `{output_file}` for existing workflow (continuation detection)
|
|
213
|
+
- Read: `{planning_artifacts}/*prd*.md`
|
|
214
|
+
- Read: `docs/adr/*.md` (scan for relevant prior decisions)
|
|
215
|
+
- Write: `{output_file}` with architecture session content
|
|
216
|
+
</actions>
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Variable Placeholders:**
|
|
220
|
+
| Variable | Description |
|
|
221
|
+
|----------|-------------|
|
|
222
|
+
| `{output_file}` | Workflow output document |
|
|
223
|
+
| `{planning_artifacts}` | Planning docs directory |
|
|
224
|
+
| `{project_root}` | Project root directory |
|
|
225
|
+
| `{story_id}` | Current story ID |
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
### `<output>`
|
|
230
|
+
|
|
231
|
+
**Purpose:** What this step produces.
|
|
232
|
+
|
|
233
|
+
**Required:** Yes
|
|
234
|
+
|
|
235
|
+
**Content:** Description of deliverable, format, required sections.
|
|
236
|
+
|
|
237
|
+
**Example:**
|
|
238
|
+
```xml
|
|
239
|
+
<output>
|
|
240
|
+
Add to session file:
|
|
241
|
+
|
|
242
|
+
```markdown
|
|
243
|
+
## Architecture Session: {project_name}
|
|
244
|
+
|
|
245
|
+
### Patterns Evaluated
|
|
246
|
+
| Pattern | Pros | Cons | Fit |
|
|
247
|
+
|---------|------|------|-----|
|
|
248
|
+
| Pattern A | ... | ... | High |
|
|
249
|
+
| Pattern B | ... | ... | Medium |
|
|
250
|
+
|
|
251
|
+
### Recommendation
|
|
252
|
+
[Selected pattern with rationale]
|
|
253
|
+
```
|
|
254
|
+
</output>
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
### `<gate>`
|
|
260
|
+
|
|
261
|
+
**Purpose:** Checkpoint criteria that must be met before proceeding.
|
|
262
|
+
|
|
263
|
+
**Required:** If `gate: true` in step-meta.
|
|
264
|
+
|
|
265
|
+
**Content:** Checklist of completion criteria.
|
|
266
|
+
|
|
267
|
+
**Example:**
|
|
268
|
+
```xml
|
|
269
|
+
<gate>
|
|
270
|
+
## Completion Criteria
|
|
271
|
+
- [ ] At least 3 patterns evaluated
|
|
272
|
+
- [ ] Trade-offs documented for each
|
|
273
|
+
- [ ] User confirmed recommendation
|
|
274
|
+
- [ ] No blocking questions remain
|
|
275
|
+
</gate>
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
**Guidelines:**
|
|
279
|
+
- Use checkbox format for trackable criteria
|
|
280
|
+
- Include user confirmation if step requires approval
|
|
281
|
+
- Keep criteria objective and verifiable
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
### `<collaboration-menu>`
|
|
286
|
+
|
|
287
|
+
**Purpose:** Present user options after step completion.
|
|
288
|
+
|
|
289
|
+
**Required:** Recommended for interactive workflows.
|
|
290
|
+
|
|
291
|
+
**Content:** Standard menu options with keyboard shortcuts.
|
|
292
|
+
|
|
293
|
+
**Standard Options:**
|
|
294
|
+
| Option | Description |
|
|
295
|
+
|--------|-------------|
|
|
296
|
+
| `[C] Continue` | Proceed to next step |
|
|
297
|
+
| `[R] Revise` | Make changes to current output |
|
|
298
|
+
| `[H] Help` | Get guidance or clarification |
|
|
299
|
+
| `[S] Skip` | Skip optional step |
|
|
300
|
+
| `[B] Back` | Return to previous step |
|
|
301
|
+
| `[A] Advanced` | Access additional features |
|
|
302
|
+
|
|
303
|
+
**Example:**
|
|
304
|
+
```xml
|
|
305
|
+
<collaboration-menu>
|
|
306
|
+
- **[C] Continue** - Proceed to Component Design
|
|
307
|
+
- **[R] Revise** - Update pattern selection
|
|
308
|
+
- **[H] Help** - Get guidance on pattern trade-offs
|
|
309
|
+
- **[B] Back** - Return to Context Analysis
|
|
310
|
+
</collaboration-menu>
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
### `<next-step>`
|
|
316
|
+
|
|
317
|
+
**Purpose:** Explicit navigation to the next step.
|
|
318
|
+
|
|
319
|
+
**Required:** Recommended for clarity.
|
|
320
|
+
|
|
321
|
+
**Content:** Instruction on which file to load next.
|
|
322
|
+
|
|
323
|
+
**Example:**
|
|
324
|
+
```xml
|
|
325
|
+
<next-step>
|
|
326
|
+
After gate passes, proceed to step-04-components.md for Component Design.
|
|
327
|
+
</next-step>
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## Optional Sections
|
|
333
|
+
|
|
334
|
+
### Failure Modes
|
|
335
|
+
|
|
336
|
+
**Purpose:** Common mistakes to avoid.
|
|
337
|
+
|
|
338
|
+
**Format:** Plain markdown section (not XML-tagged).
|
|
339
|
+
|
|
340
|
+
```markdown
|
|
341
|
+
## Failure Modes
|
|
342
|
+
|
|
343
|
+
- Proceeding with fresh initialization when existing workflow exists
|
|
344
|
+
- Not detecting PRD requirement
|
|
345
|
+
- Not confirming inputs with user before proceeding
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
### Success Metrics
|
|
349
|
+
|
|
350
|
+
**Purpose:** How to know the step succeeded.
|
|
351
|
+
|
|
352
|
+
**Format:** Plain markdown section (not XML-tagged).
|
|
353
|
+
|
|
354
|
+
```markdown
|
|
355
|
+
## Success Metrics
|
|
356
|
+
|
|
357
|
+
- All gate criteria checked
|
|
358
|
+
- User confirmed satisfaction
|
|
359
|
+
- Output matches expected format
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
### Continuation Detection
|
|
363
|
+
|
|
364
|
+
**Purpose:** Logic for resuming an interrupted workflow.
|
|
365
|
+
|
|
366
|
+
**Format:** Plain markdown section.
|
|
367
|
+
|
|
368
|
+
```markdown
|
|
369
|
+
## Continuation Detection
|
|
370
|
+
|
|
371
|
+
1. Look for existing `{output_file}`
|
|
372
|
+
2. If exists, read complete file including frontmatter
|
|
373
|
+
3. If frontmatter has `stepsCompleted` array → Load `./step-01b-continue.md`
|
|
374
|
+
4. If not exists → proceed with fresh initialization
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## Complete Example
|
|
380
|
+
|
|
381
|
+
```markdown
|
|
382
|
+
# Step 3: Pattern Selection
|
|
383
|
+
|
|
384
|
+
<step-meta>
|
|
385
|
+
number: 3
|
|
386
|
+
name: patterns
|
|
387
|
+
gate: true
|
|
388
|
+
next: step-04-components
|
|
389
|
+
</step-meta>
|
|
390
|
+
|
|
391
|
+
<purpose>
|
|
392
|
+
Evaluate architectural patterns that address the identified concerns and select the most appropriate approach.
|
|
393
|
+
</purpose>
|
|
394
|
+
|
|
395
|
+
<prerequisites>
|
|
396
|
+
- Context analysis complete (step 2)
|
|
397
|
+
- Key concerns documented
|
|
398
|
+
- Constraints understood
|
|
399
|
+
</prerequisites>
|
|
400
|
+
|
|
401
|
+
<instructions>
|
|
402
|
+
1. Review concerns identified in context analysis
|
|
403
|
+
2. Identify candidate patterns (minimum 3)
|
|
404
|
+
3. Evaluate each pattern against constraints
|
|
405
|
+
4. Document trade-offs for each option
|
|
406
|
+
5. Select recommended pattern with rationale
|
|
407
|
+
6. Present options to user for confirmation
|
|
408
|
+
</instructions>
|
|
409
|
+
|
|
410
|
+
<actions>
|
|
411
|
+
- Read: `{output_file}` for context analysis
|
|
412
|
+
- Read: `docs/patterns/*.md` for pattern library
|
|
413
|
+
- Write: Pattern evaluation matrix to `{output_file}`
|
|
414
|
+
</actions>
|
|
415
|
+
|
|
416
|
+
<output>
|
|
417
|
+
Add to architecture document:
|
|
418
|
+
|
|
419
|
+
```markdown
|
|
420
|
+
## Pattern Evaluation
|
|
421
|
+
|
|
422
|
+
### Candidate Patterns
|
|
423
|
+
1. **Pattern A** - [brief description]
|
|
424
|
+
2. **Pattern B** - [brief description]
|
|
425
|
+
3. **Pattern C** - [brief description]
|
|
426
|
+
|
|
427
|
+
### Evaluation Matrix
|
|
428
|
+
| Pattern | Scalability | Complexity | Team Familiarity | Fit |
|
|
429
|
+
|---------|-------------|------------|------------------|-----|
|
|
430
|
+
| A | High | Medium | High | Best |
|
|
431
|
+
| B | Medium | Low | High | Good |
|
|
432
|
+
| C | High | High | Low | Poor |
|
|
433
|
+
|
|
434
|
+
### Recommendation
|
|
435
|
+
[Selected pattern] because [rationale]
|
|
436
|
+
```
|
|
437
|
+
</output>
|
|
438
|
+
|
|
439
|
+
<gate>
|
|
440
|
+
## Completion Criteria
|
|
441
|
+
- [ ] At least 3 patterns evaluated
|
|
442
|
+
- [ ] Trade-offs documented for each
|
|
443
|
+
- [ ] Recommendation includes rationale
|
|
444
|
+
- [ ] User confirmed pattern selection
|
|
445
|
+
</gate>
|
|
446
|
+
|
|
447
|
+
<collaboration-menu>
|
|
448
|
+
- **[C] Continue** - Proceed to Component Design
|
|
449
|
+
- **[R] Revise** - Re-evaluate pattern options
|
|
450
|
+
- **[H] Help** - Get guidance on pattern trade-offs
|
|
451
|
+
- **[B] Back** - Return to Context Analysis
|
|
452
|
+
</collaboration-menu>
|
|
453
|
+
|
|
454
|
+
<next-step>
|
|
455
|
+
After user confirms pattern selection, proceed to step-04-components.md for Component Design.
|
|
456
|
+
</next-step>
|
|
457
|
+
|
|
458
|
+
## Failure Modes
|
|
459
|
+
|
|
460
|
+
- Selecting pattern without evaluating alternatives
|
|
461
|
+
- Ignoring team familiarity constraints
|
|
462
|
+
- Not getting user confirmation
|
|
463
|
+
|
|
464
|
+
## Success Metrics
|
|
465
|
+
|
|
466
|
+
- Multiple patterns evaluated objectively
|
|
467
|
+
- Selection justified with clear rationale
|
|
468
|
+
- User confirmed recommended approach
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
---
|
|
472
|
+
|
|
473
|
+
## Tag Summary
|
|
474
|
+
|
|
475
|
+
| Tag | Purpose | Required |
|
|
476
|
+
|-----|---------|----------|
|
|
477
|
+
| `<step-meta>` | Step metadata | Yes |
|
|
478
|
+
| `<purpose>` | Step goal | Yes |
|
|
479
|
+
| `<prerequisites>` | Requirements | If applicable |
|
|
480
|
+
| `<instructions>` | Step-by-step guide | Yes |
|
|
481
|
+
| `<actions>` | File operations | Recommended |
|
|
482
|
+
| `<output>` | Deliverable description | Yes |
|
|
483
|
+
| `<gate>` | Completion criteria | If gate:true |
|
|
484
|
+
| `<collaboration-menu>` | User options | Recommended |
|
|
485
|
+
| `<next-step>` | Navigation hint | Recommended |
|
|
486
|
+
|
|
487
|
+
---
|
|
488
|
+
|
|
489
|
+
## Migration Checklist
|
|
490
|
+
|
|
491
|
+
When updating existing step files:
|
|
492
|
+
|
|
493
|
+
- [ ] Ensure `# Step N: Title` header present
|
|
494
|
+
- [ ] Add `<step-meta>` with all required fields
|
|
495
|
+
- [ ] Wrap purpose in `<purpose>` tags
|
|
496
|
+
- [ ] Wrap prerequisites in `<prerequisites>` tags
|
|
497
|
+
- [ ] Wrap instructions in `<instructions>` tags
|
|
498
|
+
- [ ] Add `<actions>` for file operations
|
|
499
|
+
- [ ] Wrap output template in `<output>` tags
|
|
500
|
+
- [ ] Add `<gate>` if step has checkpoint
|
|
501
|
+
- [ ] Add `<collaboration-menu>` with standard options
|
|
502
|
+
- [ ] Add `<next-step>` navigation hint
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
## Related Files
|
|
507
|
+
|
|
508
|
+
| File | Purpose |
|
|
509
|
+
|------|---------|
|
|
510
|
+
| `guides/xml-tags.md` | Complete XML tag taxonomy |
|
|
511
|
+
| `guides/workflow-schema.md` | Workflow YAML configuration |
|
|
512
|
+
| `workflows/architecture/steps/step-01-initialize.md` | Reference implementation |
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Worktree Mode
|
|
2
|
+
|
|
3
|
+
Work on multiple stories in parallel using git worktrees.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Working on a second story while waiting for PR review
|
|
8
|
+
- Urgent bug fix while feature work is in progress
|
|
9
|
+
- Comparing implementations side-by-side
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/parallel-work
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This creates a worktree, sets up the session, and starts the TDD flow.
|
|
18
|
+
|
|
19
|
+
## How It Works
|
|
20
|
+
|
|
21
|
+
### Session Files
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
.session/
|
|
25
|
+
├── 5-2-session.md # Story 5-2 (main checkout)
|
|
26
|
+
└── 5-3a-session.md # Story 5-3a (worktree)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Naming convention: `{story-id}-session.md`
|
|
30
|
+
Worktree info is stored INSIDE the session file, not in the filename.
|
|
31
|
+
|
|
32
|
+
### Worktree Directory Structure
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
worktrees/
|
|
36
|
+
└── wt-5-3a/
|
|
37
|
+
├── Pennyfarthing-api/ # API repo worktree
|
|
38
|
+
└── Pennyfarthing-ui/ # UI repo worktree
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Session File Format
|
|
42
|
+
|
|
43
|
+
Worktree sessions include a context section:
|
|
44
|
+
|
|
45
|
+
```yaml
|
|
46
|
+
## Worktree Context
|
|
47
|
+
worktree: wt-5-3a
|
|
48
|
+
path: /path/to/worktrees/wt-5-3a
|
|
49
|
+
api_port: 8082
|
|
50
|
+
ui_port: 5175
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Agents read this to know:
|
|
54
|
+
- They're in a worktree
|
|
55
|
+
- Where the worktree lives
|
|
56
|
+
- Which ports to use
|
|
57
|
+
|
|
58
|
+
## Agent Detection
|
|
59
|
+
|
|
60
|
+
Agents detect worktree context from the session file:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Check if worktree session
|
|
64
|
+
if grep -q "^worktree:" "$SESSION_FILE"; then
|
|
65
|
+
WORKTREE_NAME=$(grep "^worktree:" "$SESSION_FILE" | cut -d' ' -f2)
|
|
66
|
+
WORKTREE_PATH=$(grep "^path:" "$SESSION_FILE" | cut -d' ' -f2)
|
|
67
|
+
fi
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
No filename parsing needed.
|
|
71
|
+
|
|
72
|
+
## Port Management
|
|
73
|
+
|
|
74
|
+
Each worktree gets offset ports to avoid conflicts:
|
|
75
|
+
|
|
76
|
+
| Worktree | API Port | UI Port | WebSocket |
|
|
77
|
+
|----------|----------|---------|-----------|
|
|
78
|
+
| main | 8080 | 5173 | 8081 |
|
|
79
|
+
| wt-1 | 8082 | 5175 | 8083 |
|
|
80
|
+
| wt-2 | 8084 | 5177 | 8085 |
|
|
81
|
+
|
|
82
|
+
Ports are stored in the session file and passed to agents.
|
|
83
|
+
|
|
84
|
+
## Commands
|
|
85
|
+
|
|
86
|
+
| Command | Purpose |
|
|
87
|
+
|---------|---------|
|
|
88
|
+
| `/parallel-work` | Start a new parallel work session |
|
|
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
|
+
|
|
92
|
+
## TDD Flow in Worktrees
|
|
93
|
+
|
|
94
|
+
Same flow as main checkout:
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
/parallel-work → SM → TEA → Dev → Reviewer → SM (finish)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Agents use worktree paths from session file for all operations.
|
|
101
|
+
|
|
102
|
+
## Cleanup
|
|
103
|
+
|
|
104
|
+
When story is complete, SM archives the session and the worktree can be removed:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
.pennyfarthing/scripts/git/worktree-manager.sh remove wt-5-3a
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
This removes:
|
|
111
|
+
- Git worktrees
|
|
112
|
+
- Session file
|
|
113
|
+
- Port allocations
|