@pennyfarthing/core 7.0.2 → 7.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -0
- package/README.md +2 -2
- package/package.json +11 -10
- package/packages/core/dist/cli/commands/cyclist.d.ts +2 -2
- package/packages/core/dist/cli/commands/cyclist.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.js +8 -9
- package/packages/core/dist/cli/commands/cyclist.js.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.test.js +6 -4
- package/packages/core/dist/cli/commands/cyclist.test.js.map +1 -1
- package/packages/core/dist/cli/commands/init.js +4 -3
- 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 +15 -139
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +4 -3
- package/packages/core/dist/cli/cyclist-migration.test.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 +4 -2
- package/packages/core/dist/cli/utils/constants.js.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.js +2 -1
- package/packages/core/dist/cli/utils/node-modules.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.d.ts +1 -4
- package/packages/core/dist/cli/utils/themes.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/themes.js +2 -22
- package/packages/core/dist/cli/utils/themes.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.test.d.ts +3 -3
- package/packages/core/dist/cli/utils/themes.test.js +16 -13
- package/packages/core/dist/cli/utils/themes.test.js.map +1 -1
- package/packages/core/dist/cli/workspace.test.js +11 -9
- package/packages/core/dist/cli/workspace.test.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +10 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/jira/jira-epic-creation.d.ts +109 -0
- package/packages/core/dist/jira/jira-epic-creation.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.js +253 -0
- package/packages/core/dist/jira/jira-epic-creation.js.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js +387 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts +247 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.js +670 -0
- package/packages/core/dist/jira/jira-sprint-sync.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js +845 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js.map +1 -0
- package/packages/core/dist/scripts/generate-spider.d.ts +11 -1
- package/packages/core/dist/scripts/generate-spider.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-spider.js +24 -1
- package/packages/core/dist/scripts/generate-spider.js.map +1 -1
- package/packages/core/dist/scripts/generate-spider.test.js +6 -4
- package/packages/core/dist/scripts/generate-spider.test.js.map +1 -1
- package/packages/core/dist/workflow/gate-handler.d.ts +94 -0
- package/packages/core/dist/workflow/gate-handler.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.js +189 -0
- package/packages/core/dist/workflow/gate-handler.js.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts +14 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.js +543 -0
- package/packages/core/dist/workflow/gate-handler.test.js.map +1 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts +46 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.js +53 -0
- package/packages/core/dist/workflow/generic-handoff.js.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.test.js +2 -2
- package/packages/core/dist/workflow/generic-handoff.test.js.map +1 -1
- package/packages/core/dist/workflow/handoff.d.ts +281 -0
- package/packages/core/dist/workflow/handoff.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.js +411 -0
- package/packages/core/dist/workflow/handoff.js.map +1 -0
- package/packages/core/dist/workflow/handoff.test.d.ts +21 -0
- package/packages/core/dist/workflow/handoff.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.test.js +499 -0
- package/packages/core/dist/workflow/handoff.test.js.map +1 -0
- package/packages/core/dist/workflow/index.d.ts +16 -0
- package/packages/core/dist/workflow/index.d.ts.map +1 -0
- package/packages/core/dist/workflow/index.js +24 -0
- package/packages/core/dist/workflow/index.js.map +1 -0
- package/packages/core/dist/workflow/session-state.d.ts +92 -0
- package/packages/core/dist/workflow/session-state.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.js +198 -0
- package/packages/core/dist/workflow/session-state.js.map +1 -0
- package/packages/core/dist/workflow/session-state.test.d.ts +8 -0
- package/packages/core/dist/workflow/session-state.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.test.js +551 -0
- package/packages/core/dist/workflow/session-state.test.js.map +1 -0
- package/packages/core/dist/workflow/sm-subagents.test.d.ts +2 -2
- package/packages/core/dist/workflow/sm-subagents.test.js +6 -6
- package/packages/core/dist/workflow/sm-subagents.test.js.map +1 -1
- package/packages/core/dist/workflow/step-parser.d.ts +45 -0
- package/packages/core/dist/workflow/step-parser.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.js +147 -0
- package/packages/core/dist/workflow/step-parser.js.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts +14 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.js +470 -0
- package/packages/core/dist/workflow/step-parser.test.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.d.ts +86 -0
- package/packages/core/dist/workflow/trimodal.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.js +118 -0
- package/packages/core/dist/workflow/trimodal.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts +11 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.js +395 -0
- package/packages/core/dist/workflow/trimodal.test.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts +67 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.js +156 -0
- package/packages/core/dist/workflow/variable-resolver.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts +14 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.js +400 -0
- package/packages/core/dist/workflow/variable-resolver.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts +163 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.js +197 -0
- package/packages/core/dist/workflow/workflow-executor.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts +8 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.js +444 -0
- package/packages/core/dist/workflow/workflow-executor.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-loader.test.js +5 -5
- package/packages/core/dist/workflow/workflow-loader.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-migration.test.js +8 -9
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-permissions.d.ts +55 -0
- package/packages/core/dist/workflow/workflow-permissions.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.js +64 -0
- package/packages/core/dist/workflow/workflow-permissions.js.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts +15 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js +301 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts +61 -2
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +293 -69
- package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.js +6 -6
- package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts +18 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js +608 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js.map +1 -0
- package/pennyfarthing-dist/agents/README.md +63 -134
- package/pennyfarthing-dist/agents/architect.md +18 -10
- package/pennyfarthing-dist/agents/dev.md +47 -32
- package/pennyfarthing-dist/agents/devops.md +18 -9
- package/pennyfarthing-dist/agents/handoff.md +289 -0
- package/pennyfarthing-dist/agents/orchestrator.md +44 -22
- package/pennyfarthing-dist/agents/pm.md +13 -8
- package/pennyfarthing-dist/agents/reviewer-preflight.md +42 -128
- package/pennyfarthing-dist/agents/reviewer.md +104 -57
- package/pennyfarthing-dist/agents/sm-file-summary.md +24 -75
- package/pennyfarthing-dist/agents/sm-finish.md +61 -0
- package/pennyfarthing-dist/agents/sm-handoff.md +102 -54
- package/pennyfarthing-dist/agents/sm-setup.md +174 -0
- package/pennyfarthing-dist/agents/sm.md +223 -100
- package/pennyfarthing-dist/agents/tea.md +42 -34
- package/pennyfarthing-dist/agents/tech-writer.md +74 -6
- package/pennyfarthing-dist/agents/testing-runner.md +78 -360
- package/pennyfarthing-dist/agents/ux-designer.md +80 -7
- package/pennyfarthing-dist/agents/workflow-status-check.md +35 -299
- package/pennyfarthing-dist/commands/architect.md +2 -2
- package/pennyfarthing-dist/commands/close-epic.md +5 -2
- package/pennyfarthing-dist/commands/create-branches-from-story.md +7 -23
- package/pennyfarthing-dist/commands/dev.md +2 -2
- package/pennyfarthing-dist/commands/devops.md +3 -3
- package/pennyfarthing-dist/commands/git-cleanup.md +5 -5
- package/pennyfarthing-dist/commands/health-check.md +1 -1
- package/pennyfarthing-dist/commands/list-themes.md +7 -3
- package/pennyfarthing-dist/commands/orchestrator.md +2 -2
- package/pennyfarthing-dist/commands/parallel-work.md +4 -4
- package/pennyfarthing-dist/commands/pm.md +2 -2
- package/pennyfarthing-dist/commands/prime.md +7 -7
- package/pennyfarthing-dist/commands/release.md +1 -1
- package/pennyfarthing-dist/commands/repo-status.md +2 -2
- package/pennyfarthing-dist/commands/retro.md +2 -2
- package/pennyfarthing-dist/commands/reviewer.md +2 -2
- package/pennyfarthing-dist/commands/set-theme.md +5 -1
- package/pennyfarthing-dist/commands/sm.md +2 -2
- package/pennyfarthing-dist/commands/start-epic.md +26 -14
- package/pennyfarthing-dist/commands/sync-epic-to-jira.md +8 -8
- package/pennyfarthing-dist/commands/sync-work-with-sprint.md +1 -4
- package/pennyfarthing-dist/commands/tea.md +2 -2
- package/pennyfarthing-dist/commands/tech-writer.md +2 -2
- package/pennyfarthing-dist/commands/ux-designer.md +3 -3
- package/pennyfarthing-dist/commands/work.md +15 -4
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/AGENT-COORDINATION.md +15 -15
- package/pennyfarthing-dist/guides/PROMPT-PATTERNS.md +1 -1
- package/pennyfarthing-dist/guides/SESSION-ARTIFACTS.md +4 -4
- package/pennyfarthing-dist/guides/agent-behavior.md +238 -0
- package/pennyfarthing-dist/guides/agent-template-strategic.md +2 -2
- package/pennyfarthing-dist/guides/agent-template-tactical.md +4 -4
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +1 -1
- package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +17 -17
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +8 -8
- package/pennyfarthing-dist/guides/workflow-schema.md +62 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +5 -5
- package/pennyfarthing-dist/personas/themes/1984.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/a-team.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/all-stars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arcane.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/babylon-5.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/black-sails.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/bobiverse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/classical-composers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/control.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/deadwood.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/discworld.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/firefly.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/foundation.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/futurama.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/historical-figures.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/house-md.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jane-austen.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/justified.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/les-miserables.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mad-men.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mash.yaml +69 -66
- package/pennyfarthing-dist/personas/themes/mass-effect.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/military-commanders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/moby-dick.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/neuromancer.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/rome.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/russian-masters.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sandman.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/shakespeare.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/snow-crash.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/superfriends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-americans.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-crown.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-good-place.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-office.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-wire.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-witcher.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +1 -1
- package/pennyfarthing-dist/scripts/README.md +68 -0
- package/pennyfarthing-dist/scripts/core/README.md +26 -0
- package/pennyfarthing-dist/scripts/{agent-session.sh → core/agent-session.sh} +34 -23
- package/pennyfarthing-dist/scripts/{check-context.sh → core/check-context.sh} +93 -37
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +90 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +136 -0
- package/pennyfarthing-dist/scripts/core/run.sh +75 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
- package/pennyfarthing-dist/scripts/git/README.md +25 -0
- package/pennyfarthing-dist/scripts/{utils → git}/create-feature-branches.sh +11 -15
- package/pennyfarthing-dist/scripts/{utils → git}/git-status-all.sh +1 -1
- package/pennyfarthing-dist/scripts/{install-git-hooks.sh → git/install-git-hooks.sh} +0 -0
- package/pennyfarthing-dist/scripts/{release.sh → git/release.sh} +0 -0
- package/pennyfarthing-dist/scripts/{worktree-manager.sh → git/worktree-manager.sh} +0 -4
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +3 -4
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +1 -2
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +2 -3
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +2 -3
- package/pennyfarthing-dist/scripts/jira/README.md +33 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +97 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.mjs +327 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.test.mjs +503 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-claim-story.sh +8 -6
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-lib.mjs +10 -10
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-lib.sh +18 -17
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +266 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync-story.mjs +14 -14
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync.mjs +4 -4
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +104 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/sync-epic-to-jira.sh +1 -1
- package/pennyfarthing-dist/scripts/lib/README.md +29 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/background-tasks.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/common.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/find-root.sh +7 -5
- package/pennyfarthing-dist/scripts/{utils → lib}/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/README.md +44 -0
- package/pennyfarthing-dist/scripts/{add-short-names.mjs → misc/add-short-names.mjs} +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +91 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/check-status.sh +4 -8
- package/pennyfarthing-dist/scripts/{deploy.sh → misc/deploy.sh} +0 -0
- package/pennyfarthing-dist/scripts/{doctor-dogfood.sh → misc/doctor-dogfood.sh} +2 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.mjs +474 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +9 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/{repo-utils.sh → misc/repo-utils.sh} +2 -2
- package/pennyfarthing-dist/scripts/{run-ci.sh → misc/run-ci.sh} +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/{statusline.sh → misc/statusline.sh} +2 -7
- package/pennyfarthing-dist/scripts/{uninstall.sh → misc/uninstall.sh} +4 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/validate-subagent-frontmatter.sh +3 -3
- package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +97 -0
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +164 -0
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +58 -0
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +69 -0
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +151 -0
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +116 -0
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +164 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-common.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +39 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-metrics.sh +0 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
- package/pennyfarthing-dist/scripts/story/README.md +23 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +159 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +198 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +162 -0
- package/pennyfarthing-dist/scripts/test/README.md +23 -0
- package/pennyfarthing-dist/scripts/{utils → test}/swebench-judge.py +0 -0
- package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
- package/pennyfarthing-dist/scripts/{utils → test}/test-setup.sh +5 -5
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -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 +7 -9
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +18 -18
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +10 -10
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +1 -1
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -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 +203 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +73 -0
- package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +97 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
- package/pennyfarthing-dist/scripts/{check.sh → workflow/check.sh} +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +159 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +228 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +91 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +138 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +256 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +2 -2
- package/pennyfarthing-dist/skills/code-review/SKILL.md +3 -3
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +56 -139
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +21 -5
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +1 -1
- package/pennyfarthing-dist/skills/jira/SKILL.md +381 -178
- package/pennyfarthing-dist/skills/judge/SKILL.md +76 -21
- package/pennyfarthing-dist/skills/just/SKILL.md +345 -102
- package/pennyfarthing-dist/skills/otel/skill.md +1 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +1 -1
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +5 -0
- package/pennyfarthing-dist/skills/skill-registry.schema.json +5 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +22 -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 +104 -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 +390 -0
- package/pennyfarthing-dist/skills/theme/skill.md +1 -1
- 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 +337 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +1 -1
- package/pennyfarthing-dist/workflows/agent-docs.yaml +1 -1
- package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +101 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +93 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +115 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +138 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +142 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +160 -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 +3 -1
- 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 +256 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.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 +27 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +133 -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/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 +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +207 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +231 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +180 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +232 -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 +177 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +161 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +199 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +202 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +205 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +219 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +194 -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 +184 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +318 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +278 -0
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +189 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +144 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +128 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +191 -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/research/steps-domain/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +229 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +238 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +206 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +234 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +443 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +182 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +237 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +200 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +249 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +259 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +177 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +475 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +248 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +202 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +486 -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 +54 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +44 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +64 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +73 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +56 -0
- package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +1 -1
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +135 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +127 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +216 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +219 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +234 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +252 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +254 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +241 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +248 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +237 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +228 -0
- package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
- package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
- package/packages/core/dist/scripts/generate-all-faces.d.ts +0 -10
- package/packages/core/dist/scripts/generate-all-faces.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.js +0 -256
- package/packages/core/dist/scripts/generate-all-faces.js.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts +0 -17
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.js +0 -372
- package/packages/core/dist/scripts/generate-all-faces.test.js.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-ascii-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.js +0 -155
- package/packages/core/dist/scripts/generate-ascii-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.js +0 -199
- package/packages/core/dist/scripts/generate-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.d.ts +0 -13
- package/packages/core/dist/scripts/generate-face.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.js +0 -301
- package/packages/core/dist/scripts/generate-face.test.js.map +0 -1
- package/pennyfarthing-dist/agents/generic-handoff.md +0 -454
- package/pennyfarthing-dist/agents/generic-sm-finish.md +0 -261
- package/pennyfarthing-dist/agents/generic-sm-setup.md +0 -214
- package/pennyfarthing-dist/commands/new-work.md +0 -127
- package/pennyfarthing-dist/guides/AGENT-SCOPES.md +0 -201
- package/pennyfarthing-dist/guides/persona-system.md +0 -294
- package/pennyfarthing-dist/guides/shared-agent-behavior.md +0 -388
- package/pennyfarthing-dist/guides/shared-context.md +0 -147
- package/pennyfarthing-dist/guides/strategic-agent-behavior.md +0 -348
- package/pennyfarthing-dist/guides/tactical-agent-behavior.md +0 -1041
- package/pennyfarthing-dist/scripts/prime.sh +0 -161
- package/pennyfarthing-dist/scripts/run.sh +0 -65
- package/pennyfarthing-dist/skills/sprint-context/SKILL.md +0 -120
- package/pennyfarthing-dist/skills/story-management/SKILL.md +0 -208
- package/pennyfarthing-dist/skills/workflow/SKILL.md +0 -160
- /package/pennyfarthing-dist/commands/{brainstorm.md → brainstorming.md} +0 -0
- /package/pennyfarthing-dist/scripts/{utils → test}/ground-truth-judge.py +0 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: workflow
|
|
3
|
+
description: |
|
|
4
|
+
List available workflows, show current workflow details, and switch workflows mid-session. Use when checking available workflow types (TDD, trivial, agent-docs), viewing current workflow phase, switching to a different workflow pattern, or managing BikeLane stepped workflows.
|
|
5
|
+
args: "[list|show [name]|set <name>|start <name> [--mode <mode>]|resume [name]|status]"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# /workflow - Workflow Management
|
|
9
|
+
|
|
10
|
+
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
|
+
|
|
12
|
+
## Commands
|
|
13
|
+
|
|
14
|
+
### `/workflow` or `/workflow list`
|
|
15
|
+
|
|
16
|
+
List all available workflows with type indicators.
|
|
17
|
+
|
|
18
|
+
**Run:**
|
|
19
|
+
```bash
|
|
20
|
+
.pennyfarthing/scripts/core/run.sh workflow/list-workflows.sh
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Output:** Table of workflows with:
|
|
24
|
+
- **Type**: `phased` (agent-driven) or `stepped` (progressive disclosure)
|
|
25
|
+
- **Steps/Phases**: Number of steps or phases in the workflow
|
|
26
|
+
- **Modes**: Available tri-modal options (create/validate/edit) if applicable
|
|
27
|
+
- **Default**: Whether this is the default workflow
|
|
28
|
+
- **Description**: Brief workflow description
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### `/workflow show [name]`
|
|
33
|
+
|
|
34
|
+
Show workflow details. If no name provided, shows current session's workflow.
|
|
35
|
+
|
|
36
|
+
**Run:**
|
|
37
|
+
```bash
|
|
38
|
+
.pennyfarthing/scripts/core/run.sh workflow/show-workflow.sh [name]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Arguments:**
|
|
42
|
+
| Arg | Required | Description |
|
|
43
|
+
|-----|----------|-------------|
|
|
44
|
+
| `name` | No | Workflow name (e.g., `tdd`, `trivial`). If omitted, shows current session's workflow. |
|
|
45
|
+
|
|
46
|
+
**Examples:**
|
|
47
|
+
```bash
|
|
48
|
+
.pennyfarthing/scripts/core/run.sh workflow/show-workflow.sh # Current session workflow
|
|
49
|
+
.pennyfarthing/scripts/core/run.sh workflow/show-workflow.sh tdd # Show TDD workflow
|
|
50
|
+
.pennyfarthing/scripts/core/run.sh workflow/show-workflow.sh trivial # Show trivial workflow
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Output:** Workflow description, phase flow diagram, phases table, and trigger conditions.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### `/workflow set <name>`
|
|
58
|
+
|
|
59
|
+
Switch to a different workflow mid-session.
|
|
60
|
+
|
|
61
|
+
**Warning:** Only do this when story requirements have fundamentally changed. Switching resets phase tracking.
|
|
62
|
+
|
|
63
|
+
**Steps:**
|
|
64
|
+
1. Verify workflow exists:
|
|
65
|
+
```bash
|
|
66
|
+
.pennyfarthing/scripts/core/run.sh workflow/show-workflow.sh <name>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
2. Update the session file's workflow field:
|
|
70
|
+
- Edit `.session/{story-id}-session.md`
|
|
71
|
+
- Change `**Workflow:**` line to new workflow name
|
|
72
|
+
|
|
73
|
+
3. Continue with the new workflow's agent sequence
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## BikeLane Stepped Workflow Commands
|
|
78
|
+
|
|
79
|
+
BikeLane workflows use `type: stepped` and execute one step at a time with user gates.
|
|
80
|
+
|
|
81
|
+
### `/workflow start <name> [--mode <mode>]`
|
|
82
|
+
|
|
83
|
+
Start a stepped workflow. Creates a new session and begins at step 1.
|
|
84
|
+
|
|
85
|
+
**Run:**
|
|
86
|
+
```bash
|
|
87
|
+
.pennyfarthing/scripts/core/run.sh workflow/start-workflow.sh <name> [--mode <mode>]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Arguments:**
|
|
91
|
+
| Arg | Required | Description |
|
|
92
|
+
|-----|----------|-------------|
|
|
93
|
+
| `name` | Yes | Workflow name (e.g., `architecture`) |
|
|
94
|
+
| `--mode` | No | Execution mode: `create` (default), `validate`, or `edit` |
|
|
95
|
+
|
|
96
|
+
**Examples:**
|
|
97
|
+
```bash
|
|
98
|
+
/workflow start architecture # Start in default (create) mode
|
|
99
|
+
/workflow start architecture --mode validate # Start in validate mode
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
### `/workflow resume [name]`
|
|
105
|
+
|
|
106
|
+
Resume an interrupted stepped workflow from the last completed step.
|
|
107
|
+
|
|
108
|
+
**Run:**
|
|
109
|
+
```bash
|
|
110
|
+
.pennyfarthing/scripts/core/run.sh workflow/resume-workflow.sh [name]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Arguments:**
|
|
114
|
+
| Arg | Required | Description |
|
|
115
|
+
|-----|----------|-------------|
|
|
116
|
+
| `name` | No | Workflow to resume. If omitted, detects from active session. |
|
|
117
|
+
|
|
118
|
+
**Examples:**
|
|
119
|
+
```bash
|
|
120
|
+
/workflow resume # Resume active workflow
|
|
121
|
+
/workflow resume architecture # Resume specific workflow
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### `/workflow status`
|
|
127
|
+
|
|
128
|
+
Show current stepped workflow progress.
|
|
129
|
+
|
|
130
|
+
**Run:**
|
|
131
|
+
```bash
|
|
132
|
+
.pennyfarthing/scripts/core/run.sh workflow/workflow-status.sh
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
**Output:**
|
|
136
|
+
- Current workflow name and type
|
|
137
|
+
- Current step number and name
|
|
138
|
+
- Steps completed
|
|
139
|
+
- Mode (create/validate/edit)
|
|
140
|
+
- Progress percentage
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Built-in Workflows
|
|
145
|
+
|
|
146
|
+
### TDD (default for 3+ point features)
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
setup → red → green → review → finish
|
|
150
|
+
SM → TEA → Dev → Reviewer → SM
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
- Full test-driven development cycle
|
|
154
|
+
- TEA writes failing tests first
|
|
155
|
+
- Dev implements to make tests pass
|
|
156
|
+
- **Triggers:** `types: [feature, enhancement]`, `points.min: 3`
|
|
157
|
+
|
|
158
|
+
### Trivial (for 1-2 point fixes)
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
setup → impl → review → finish
|
|
162
|
+
SM → Dev → Reviewer → SM
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
- Skips TEA phase for quick fixes
|
|
166
|
+
- Dev ensures existing tests still pass
|
|
167
|
+
- **Triggers:** `types: [chore, fix, refactor]`, `points.max: 2`
|
|
168
|
+
|
|
169
|
+
### Agent-Docs (for process documentation)
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
setup → analyze → impl → review → finish
|
|
173
|
+
SM → Orchestrator → Orchestrator → Tech Writer → SM
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
- For agent file updates and process improvements
|
|
177
|
+
- Tech Writer reviews for documentation quality
|
|
178
|
+
- **Triggers:** `types: [docs, refactor, infrastructure]`, `labels: [agent-file]`
|
|
179
|
+
|
|
180
|
+
### BDD (behavior-driven development)
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
setup → design → red → green → review → finish
|
|
184
|
+
SM → UX-Designer → TEA → Dev → Reviewer → SM
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
- Adds UX design phase before testing
|
|
188
|
+
- For UI components and user-facing features
|
|
189
|
+
- **Triggers:** `types: [ui, ux, behavior]`, `tags: [bdd, ux-first]`
|
|
190
|
+
|
|
191
|
+
### Architecture (stepped workflow)
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
initialize → context → patterns → components → interfaces → risks → document
|
|
195
|
+
1 → 2 → 3 → 4 → 5 → 6 → 7
|
|
196
|
+
[gate] [gate] [gate]
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
- Progressive disclosure stepped workflow
|
|
200
|
+
- 7 steps with gates at context, components, and risks
|
|
201
|
+
- **Type:** `stepped` (BikeLane)
|
|
202
|
+
- **Triggers:** `types: [architecture, design, adr]`, `tags: [architecture, stepped]`
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Workflow Routing Priority
|
|
207
|
+
|
|
208
|
+
When multiple workflows match a story:
|
|
209
|
+
|
|
210
|
+
1. **Explicit tag:** `workflow: docs` on story overrides everything
|
|
211
|
+
2. **Trigger tags:** Story tags match workflow's `triggers.tags`
|
|
212
|
+
3. **Type match:** Story type matches workflow's `triggers.types`
|
|
213
|
+
4. **Points match:** Story points within `triggers.points` range
|
|
214
|
+
5. **Default:** Workflow with `default: true` (tdd)
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## File Locations
|
|
219
|
+
|
|
220
|
+
| Location | Purpose |
|
|
221
|
+
|----------|---------|
|
|
222
|
+
| `pennyfarthing-dist/workflows/` | Built-in workflow definitions |
|
|
223
|
+
| `.session/{story-id}-session.md` | Current story's workflow assignment |
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Quick Reference
|
|
228
|
+
|
|
229
|
+
| Command | Script/Action |
|
|
230
|
+
|---------|---------------|
|
|
231
|
+
| `/workflow` | `list-workflows.sh` |
|
|
232
|
+
| `/workflow list` | `list-workflows.sh` |
|
|
233
|
+
| `/workflow show` | `show-workflow.sh` (current session) |
|
|
234
|
+
| `/workflow show tdd` | `show-workflow.sh tdd` |
|
|
235
|
+
| `/workflow set trivial` | Manual edit of session file |
|
|
236
|
+
| `/workflow start architecture` | `start-workflow.sh architecture` |
|
|
237
|
+
| `/workflow start architecture --mode validate` | `start-workflow.sh architecture --mode validate` |
|
|
238
|
+
| `/workflow resume` | `resume-workflow.sh` |
|
|
239
|
+
| `/workflow status` | `workflow-status.sh` |
|
|
240
|
+
| `/workflow fix-phase 56-1 review` | `fix-session-phase.sh 56-1 review` |
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Session Phase Repair
|
|
245
|
+
|
|
246
|
+
### `/workflow fix-phase <story-id> <target-phase> [--dry-run]`
|
|
247
|
+
|
|
248
|
+
Fix session file when handoffs didn't update phase tracking properly. This corrects the `**Phase:**` field and adds missing handoff history rows.
|
|
249
|
+
|
|
250
|
+
**When to use:**
|
|
251
|
+
- SM detects wrong phase after handoff
|
|
252
|
+
- `workflow-status-check` shows stale state
|
|
253
|
+
- Phase History table is incomplete
|
|
254
|
+
|
|
255
|
+
**Run:**
|
|
256
|
+
```bash
|
|
257
|
+
.pennyfarthing/scripts/core/run.sh workflow/fix-session-phase.sh <story-id> <target-phase> [--dry-run]
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
**Arguments:**
|
|
261
|
+
| Arg | Required | Description |
|
|
262
|
+
|-----|----------|-------------|
|
|
263
|
+
| `story-id` | Yes | Story ID (e.g., `56-1` or `MSSCI-12190`) |
|
|
264
|
+
| `target-phase` | Yes | Target phase to set (e.g., `review`, `approved`, `finish`) |
|
|
265
|
+
|
|
266
|
+
**Options:**
|
|
267
|
+
| Option | Description |
|
|
268
|
+
|--------|-------------|
|
|
269
|
+
| `--dry-run` | Show what would be done without executing |
|
|
270
|
+
|
|
271
|
+
**Examples:**
|
|
272
|
+
```bash
|
|
273
|
+
# Preview what would change
|
|
274
|
+
.pennyfarthing/scripts/core/run.sh workflow/fix-session-phase.sh 56-1 review --dry-run
|
|
275
|
+
|
|
276
|
+
# Fix phase to review (after Dev completed)
|
|
277
|
+
.pennyfarthing/scripts/core/run.sh workflow/fix-session-phase.sh 56-1 review
|
|
278
|
+
|
|
279
|
+
# Fix phase to approved (after Reviewer approved)
|
|
280
|
+
.pennyfarthing/scripts/core/run.sh workflow/fix-session-phase.sh 56-1 approved
|
|
281
|
+
|
|
282
|
+
# Using Jira key
|
|
283
|
+
.pennyfarthing/scripts/core/run.sh workflow/fix-session-phase.sh MSSCI-12190 approved
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**Valid phases by workflow:**
|
|
287
|
+
| Workflow | Phase Sequence |
|
|
288
|
+
|----------|----------------|
|
|
289
|
+
| `tdd` | setup → red → green → review → approved → finish |
|
|
290
|
+
| `trivial` | setup → impl → review → approved → finish |
|
|
291
|
+
|
|
292
|
+
**What it updates:**
|
|
293
|
+
1. `**Phase:**` field to target phase
|
|
294
|
+
2. `**Phase Started:**` to current timestamp
|
|
295
|
+
3. Handoff History table with missing transitions
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Creating Custom Workflows
|
|
300
|
+
|
|
301
|
+
See `pennyfarthing-dist/guides/workflow-schema.md` for the full YAML schema.
|
|
302
|
+
|
|
303
|
+
Example documentation workflow:
|
|
304
|
+
|
|
305
|
+
```yaml
|
|
306
|
+
workflow:
|
|
307
|
+
name: docs
|
|
308
|
+
description: Documentation updates
|
|
309
|
+
version: "1.0.0"
|
|
310
|
+
|
|
311
|
+
phases:
|
|
312
|
+
- name: setup
|
|
313
|
+
agent: sm
|
|
314
|
+
- name: write
|
|
315
|
+
agent: tech-writer
|
|
316
|
+
output: [documentation]
|
|
317
|
+
- name: review
|
|
318
|
+
agent: reviewer
|
|
319
|
+
gate:
|
|
320
|
+
type: approval
|
|
321
|
+
- name: finish
|
|
322
|
+
agent: sm
|
|
323
|
+
|
|
324
|
+
triggers:
|
|
325
|
+
types: [docs]
|
|
326
|
+
tags: [documentation]
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## BikeLane Documentation
|
|
332
|
+
|
|
333
|
+
For comprehensive documentation on creating stepped workflows, see:
|
|
334
|
+
|
|
335
|
+
- **[docs/BIKELANE.md](../../docs/BIKELANE.md)** - Full BikeLane user guide
|
|
336
|
+
- **[docs/adr/0005-bmad-workflow-import.md](../../docs/adr/0005-bmad-workflow-import.md)** - Technical ADR
|
|
337
|
+
- **[pennyfarthing-dist/workflows/architecture.yaml](../workflows/architecture.yaml)** - Example implementation
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# Step 1: Initialize Architecture Session
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 1
|
|
5
|
+
name: initialize
|
|
6
|
+
gate: false
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- READ the complete step file before taking any action
|
|
12
|
+
- DETECT existing workflow state before initialization
|
|
13
|
+
- NEVER generate content without user input
|
|
14
|
+
- ALWAYS treat this as collaborative discovery between architectural peers
|
|
15
|
+
- FOCUS on initialization only - don't look ahead to future steps
|
|
16
|
+
|
|
17
|
+
## Execution Protocols
|
|
18
|
+
|
|
19
|
+
- Show your analysis before taking any action
|
|
20
|
+
- Initialize document and update frontmatter
|
|
21
|
+
- Set up frontmatter `stepsCompleted: [1]` before loading next step
|
|
22
|
+
- FORBIDDEN to load next step until setup is complete
|
|
23
|
+
|
|
24
|
+
## Purpose
|
|
25
|
+
|
|
26
|
+
Set up the architecture decision session by gathering inputs and establishing context.
|
|
27
|
+
|
|
28
|
+
## Continuation Detection
|
|
29
|
+
|
|
30
|
+
**First, check for existing workflow:**
|
|
31
|
+
|
|
32
|
+
1. Look for existing `{output_file}`
|
|
33
|
+
2. If exists, read complete file including frontmatter
|
|
34
|
+
3. If frontmatter has `stepsCompleted` array → **Load `./step-01b-continue.md`**
|
|
35
|
+
4. If not exists → proceed with fresh initialization below
|
|
36
|
+
|
|
37
|
+
## Instructions
|
|
38
|
+
|
|
39
|
+
1. **Verify required inputs exist**:
|
|
40
|
+
- Product Requirements Document (PRD) or feature brief
|
|
41
|
+
- Any existing architecture documentation
|
|
42
|
+
- Relevant ADRs from `docs/adr/`
|
|
43
|
+
|
|
44
|
+
2. **Create session workspace**:
|
|
45
|
+
- Output file: `{output_file}`
|
|
46
|
+
- Working notes in session file
|
|
47
|
+
|
|
48
|
+
3. **Identify stakeholders and constraints**:
|
|
49
|
+
- Who needs to approve this decision?
|
|
50
|
+
- What are the timeline constraints?
|
|
51
|
+
- Are there budget or resource limitations?
|
|
52
|
+
|
|
53
|
+
## Actions
|
|
54
|
+
|
|
55
|
+
- Check: `{output_file}` for existing workflow (continuation detection)
|
|
56
|
+
- Read: `{planning_artifacts}/*prd*.md` or `{planning_artifacts}/*brief*.md`
|
|
57
|
+
- Read: `docs/adr/*.md` (scan for relevant prior decisions)
|
|
58
|
+
- Read: Existing architecture docs if referenced
|
|
59
|
+
|
|
60
|
+
## Output
|
|
61
|
+
|
|
62
|
+
Add to session file:
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
## Architecture Session: {project_name}
|
|
66
|
+
|
|
67
|
+
### Inputs Gathered
|
|
68
|
+
- PRD: [path or "not found"]
|
|
69
|
+
- Existing ADRs: [list relevant ones]
|
|
70
|
+
- Constraints: [timeline, budget, resources]
|
|
71
|
+
|
|
72
|
+
### Stakeholders
|
|
73
|
+
- Decision maker: [name/role]
|
|
74
|
+
- Reviewers: [list]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Collaboration Menu
|
|
78
|
+
|
|
79
|
+
After completing initialization, present options:
|
|
80
|
+
|
|
81
|
+
- **[C] Continue** - Inputs gathered, proceed to Context Analysis
|
|
82
|
+
- **[A] Advanced Elicitation** - Use discovery protocols to find additional context
|
|
83
|
+
- **[R] Revise** - Need to locate missing inputs before proceeding
|
|
84
|
+
|
|
85
|
+
## Success Metrics
|
|
86
|
+
|
|
87
|
+
- Existing workflow detected and handed off to step-01b correctly
|
|
88
|
+
- Fresh workflow initialized with proper setup
|
|
89
|
+
- Input documents discovered and loaded
|
|
90
|
+
- PRD requirement validated and communicated
|
|
91
|
+
- User confirmed document setup before proceeding
|
|
92
|
+
|
|
93
|
+
## Failure Modes
|
|
94
|
+
|
|
95
|
+
- Proceeding with fresh initialization when existing workflow exists
|
|
96
|
+
- Not detecting PRD requirement
|
|
97
|
+
- Not confirming inputs with user before proceeding
|
|
98
|
+
|
|
99
|
+
## Next Step
|
|
100
|
+
|
|
101
|
+
After user selects [C], proceed to Context Analysis to understand the technical landscape.
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Step 1b: Workflow Continuation Handler
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 1b
|
|
5
|
+
name: continue
|
|
6
|
+
gate: false
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- DETECT existing workflow state from output document frontmatter
|
|
12
|
+
- READ complete document to understand current progress
|
|
13
|
+
- PRESENT continuation options to user before proceeding
|
|
14
|
+
- NEVER proceed without user confirmation
|
|
15
|
+
|
|
16
|
+
## Purpose
|
|
17
|
+
|
|
18
|
+
Handle workflow resumption when an existing architecture document is detected. This step is invoked automatically when step 1 finds an existing document with `stepsCompleted` in frontmatter.
|
|
19
|
+
|
|
20
|
+
## Detection Trigger
|
|
21
|
+
|
|
22
|
+
Step 1 redirects here when:
|
|
23
|
+
1. Output file `{output_file}` already exists
|
|
24
|
+
2. Document has frontmatter with `stepsCompleted` array
|
|
25
|
+
3. Workflow was previously started but not completed
|
|
26
|
+
|
|
27
|
+
## Instructions
|
|
28
|
+
|
|
29
|
+
1. **Read Existing State**:
|
|
30
|
+
- Parse frontmatter for `stepsCompleted` array
|
|
31
|
+
- Identify last completed step
|
|
32
|
+
- Load document content to understand current progress
|
|
33
|
+
|
|
34
|
+
2. **Analyze Progress**:
|
|
35
|
+
- Which steps are complete?
|
|
36
|
+
- What decisions have been made?
|
|
37
|
+
- Are there any inconsistencies?
|
|
38
|
+
|
|
39
|
+
3. **Present Continuation Options**:
|
|
40
|
+
Based on current state, offer user choices:
|
|
41
|
+
|
|
42
|
+
## Actions
|
|
43
|
+
|
|
44
|
+
- Read: `{output_file}` completely (including frontmatter)
|
|
45
|
+
- Parse: `stepsCompleted` from frontmatter
|
|
46
|
+
- Analyze: Current document state
|
|
47
|
+
|
|
48
|
+
## Output
|
|
49
|
+
|
|
50
|
+
Present to user:
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Workflow Continuation
|
|
54
|
+
|
|
55
|
+
**Document found:** {output_file}
|
|
56
|
+
**Steps completed:** {stepsCompleted}
|
|
57
|
+
**Last step:** {last_step_name}
|
|
58
|
+
|
|
59
|
+
### Current Document State
|
|
60
|
+
{summary of what's been decided so far}
|
|
61
|
+
|
|
62
|
+
### Continuation Options
|
|
63
|
+
|
|
64
|
+
- **[C] Continue** - Resume from step {next_step}
|
|
65
|
+
- **[R] Restart** - Start fresh (will archive existing document)
|
|
66
|
+
- **[V] View** - Show complete document before deciding
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Continuation Flow
|
|
70
|
+
|
|
71
|
+
After user selects [C]:
|
|
72
|
+
1. Load the next incomplete step file
|
|
73
|
+
2. Resume workflow from that point
|
|
74
|
+
3. Continue normal step progression
|
|
75
|
+
|
|
76
|
+
After user selects [R]:
|
|
77
|
+
1. Archive existing document to `{output_file}.backup-{timestamp}`
|
|
78
|
+
2. Return to step 1 for fresh initialization
|
|
79
|
+
3. Proceed with new workflow
|
|
80
|
+
|
|
81
|
+
## Success Metrics
|
|
82
|
+
|
|
83
|
+
- Existing workflow detected and state loaded correctly
|
|
84
|
+
- User informed of current progress
|
|
85
|
+
- Continuation or restart handled smoothly
|
|
86
|
+
- No data loss (archive before restart)
|
|
87
|
+
|
|
88
|
+
## Failure Modes
|
|
89
|
+
|
|
90
|
+
- Proceeding without user confirmation
|
|
91
|
+
- Not loading complete existing document
|
|
92
|
+
- Losing work by overwriting without archive
|
|
93
|
+
- Misreading stepsCompleted array
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Step 2: Context Analysis
|
|
2
|
+
|
|
3
|
+
<step-meta>
|
|
4
|
+
number: 2
|
|
5
|
+
name: context-analysis
|
|
6
|
+
gate: true
|
|
7
|
+
</step-meta>
|
|
8
|
+
|
|
9
|
+
## Mandatory Execution Rules
|
|
10
|
+
|
|
11
|
+
- READ the complete step file before taking any action
|
|
12
|
+
- ANALYZE loaded documents, don't assume or generate requirements
|
|
13
|
+
- ALWAYS treat this as collaborative discovery between architectural peers
|
|
14
|
+
- FOCUS on understanding project scope and requirements for architecture
|
|
15
|
+
|
|
16
|
+
## Execution Protocols
|
|
17
|
+
|
|
18
|
+
- Show your analysis before taking any action
|
|
19
|
+
- Present A/P/C menu after generating context analysis
|
|
20
|
+
- ONLY save when user chooses [C] Continue
|
|
21
|
+
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
|
22
|
+
- FORBIDDEN to load next step until [C] is selected
|
|
23
|
+
|
|
24
|
+
## Purpose
|
|
25
|
+
|
|
26
|
+
Analyze the project context and identify architectural concerns that will shape the decision.
|
|
27
|
+
|
|
28
|
+
## Instructions
|
|
29
|
+
|
|
30
|
+
1. **Extract Technical Constraints** from the PRD:
|
|
31
|
+
- Performance requirements (latency, throughput, scale)
|
|
32
|
+
- Security and compliance requirements
|
|
33
|
+
- Integration requirements with existing systems
|
|
34
|
+
- Technology mandates or restrictions
|
|
35
|
+
|
|
36
|
+
2. **Map the Current Landscape**:
|
|
37
|
+
- What systems already exist?
|
|
38
|
+
- What are the integration points?
|
|
39
|
+
- What patterns are already in use?
|
|
40
|
+
|
|
41
|
+
3. **Identify Key Concerns**:
|
|
42
|
+
- Scalability needs
|
|
43
|
+
- Reliability requirements
|
|
44
|
+
- Maintainability considerations
|
|
45
|
+
- Cost constraints
|
|
46
|
+
|
|
47
|
+
## Actions
|
|
48
|
+
|
|
49
|
+
- Read: `{planning_artifacts}/*prd*.md`
|
|
50
|
+
- Read: `**/project-context.md` (if exists)
|
|
51
|
+
- Grep: Search codebase for existing patterns
|
|
52
|
+
|
|
53
|
+
## Output
|
|
54
|
+
|
|
55
|
+
Add to session file:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
## Architecture Context
|
|
59
|
+
|
|
60
|
+
### Technical Constraints
|
|
61
|
+
- Performance: [requirements from PRD]
|
|
62
|
+
- Security: [requirements]
|
|
63
|
+
- Integration: [required touchpoints]
|
|
64
|
+
|
|
65
|
+
### Current Landscape
|
|
66
|
+
- Existing systems: [list]
|
|
67
|
+
- Patterns in use: [list]
|
|
68
|
+
- Tech stack: [languages, frameworks]
|
|
69
|
+
|
|
70
|
+
### Key Concerns
|
|
71
|
+
1. [Concern]: [Why it matters]
|
|
72
|
+
2. [Concern]: [Why it matters]
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
<!-- GATE -->
|
|
76
|
+
|
|
77
|
+
## Collaboration Menu (A/P/C)
|
|
78
|
+
|
|
79
|
+
After generating context analysis, present choices:
|
|
80
|
+
|
|
81
|
+
- **[A] Advanced Elicitation** - Use discovery protocols to develop deeper insights about project context and architectural implications
|
|
82
|
+
- **[P] Party Mode** - Bring multiple perspectives to analyze project requirements from different architectural angles
|
|
83
|
+
- **[C] Continue** - Save the content to the document and proceed to pattern selection
|
|
84
|
+
- **[R] Revise** - Need to gather more information or clarify constraints
|
|
85
|
+
|
|
86
|
+
## Advanced Elicitation Mode
|
|
87
|
+
|
|
88
|
+
When user selects [A]:
|
|
89
|
+
1. Ask probing questions about non-obvious constraints
|
|
90
|
+
2. Explore edge cases and failure scenarios
|
|
91
|
+
3. Identify implicit assumptions in requirements
|
|
92
|
+
4. Dig deeper into integration complexity
|
|
93
|
+
|
|
94
|
+
## Party Mode
|
|
95
|
+
|
|
96
|
+
When user selects [P]:
|
|
97
|
+
1. Present analysis from multiple viewpoints:
|
|
98
|
+
- **Security architect**: What could go wrong?
|
|
99
|
+
- **Performance engineer**: Where are the bottlenecks?
|
|
100
|
+
- **Operations**: How will this run in production?
|
|
101
|
+
- **Developer experience**: How maintainable is this?
|
|
102
|
+
2. Synthesize perspectives into unified understanding
|
|
103
|
+
|
|
104
|
+
## Success Metrics
|
|
105
|
+
|
|
106
|
+
- Technical constraints extracted from PRD
|
|
107
|
+
- Current landscape mapped accurately
|
|
108
|
+
- Key concerns identified with rationale
|
|
109
|
+
- User confirmed context before proceeding
|
|
110
|
+
|
|
111
|
+
## Failure Modes
|
|
112
|
+
|
|
113
|
+
- Generating requirements not found in documents
|
|
114
|
+
- Proceeding without user confirmation
|
|
115
|
+
- Missing critical constraints from PRD
|