@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,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Wrap current changes into a standalone Jira story, branch, PR, and merge
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Standalone Story
|
|
6
|
+
|
|
7
|
+
Quickly wrap dirty changes into a tracked Jira story without the full sprint/workflow ceremony. Creates a Jira ticket, feature branch, commits, pushes, creates PR, and merges.
|
|
8
|
+
|
|
9
|
+
<purpose>
|
|
10
|
+
Fast path for shipping completed work that deserves tracking but doesn't need story setup upfront.
|
|
11
|
+
</purpose>
|
|
12
|
+
|
|
13
|
+
<when-to-use>
|
|
14
|
+
- You've done exploratory work that turned into something shippable
|
|
15
|
+
- A bug fix or feature emerged during other work
|
|
16
|
+
- Process improvements that should be tracked
|
|
17
|
+
- Any change worth a Jira ticket but not a full sprint story
|
|
18
|
+
</when-to-use>
|
|
19
|
+
|
|
20
|
+
<usage>
|
|
21
|
+
```bash
|
|
22
|
+
# Interactive: prompts for title and description
|
|
23
|
+
/standalone
|
|
24
|
+
|
|
25
|
+
# With title
|
|
26
|
+
/standalone "Add drift detection script"
|
|
27
|
+
|
|
28
|
+
# With title and points
|
|
29
|
+
/standalone "Add drift detection script" 2
|
|
30
|
+
```
|
|
31
|
+
</usage>
|
|
32
|
+
|
|
33
|
+
<workflow>
|
|
34
|
+
1. Verify dirty files exist (abort if clean)
|
|
35
|
+
2. Show changes and confirm with user
|
|
36
|
+
3. Create Jira story (prompts for title/description if not provided)
|
|
37
|
+
4. Add story to current sprint and mark Done
|
|
38
|
+
5. Create feature branch: `feat/MSSCI-XXXXX-{slug}`
|
|
39
|
+
6. Stage and commit changes
|
|
40
|
+
7. Push branch
|
|
41
|
+
8. Create PR with summary
|
|
42
|
+
9. Merge PR (squash) and delete branch
|
|
43
|
+
10. Return to develop
|
|
44
|
+
</workflow>
|
|
45
|
+
|
|
46
|
+
## Execution
|
|
47
|
+
|
|
48
|
+
### Step 1: Pre-Flight
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Abort if clean
|
|
52
|
+
git diff --quiet && git diff --cached --quiet && {
|
|
53
|
+
echo "ERROR: No changes to commit."
|
|
54
|
+
exit 1
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
echo "=== Changes to Commit ==="
|
|
58
|
+
git status --short
|
|
59
|
+
git diff --stat
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Step 2: Gather Story Info
|
|
63
|
+
|
|
64
|
+
If title not provided, prompt:
|
|
65
|
+
- **Title:** Short summary (becomes Jira summary and commit message)
|
|
66
|
+
- **Description:** What was done (becomes Jira description and PR body)
|
|
67
|
+
- **Points:** Story points (default: 2)
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Defaults
|
|
71
|
+
TITLE="${1:-}"
|
|
72
|
+
POINTS="${2:-2}"
|
|
73
|
+
|
|
74
|
+
if [ -z "$TITLE" ]; then
|
|
75
|
+
# Prompt user for title
|
|
76
|
+
echo "Enter story title:"
|
|
77
|
+
read TITLE
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
# Generate description from changed files
|
|
81
|
+
CHANGED_FILES=$(git status --porcelain | awk '{print $2}')
|
|
82
|
+
DESCRIPTION="## Changes
|
|
83
|
+
$(git diff --stat)
|
|
84
|
+
|
|
85
|
+
## Files
|
|
86
|
+
$(echo "$CHANGED_FILES" | head -20)"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Step 3: Create Jira Story
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# Create Jira story
|
|
93
|
+
JIRA_OUTPUT=$(jira issue create \
|
|
94
|
+
--project MSSCI \
|
|
95
|
+
--type Story \
|
|
96
|
+
--summary "$TITLE" \
|
|
97
|
+
--body "$DESCRIPTION" \
|
|
98
|
+
--label pennyfarthing \
|
|
99
|
+
--custom story-points="$POINTS" \
|
|
100
|
+
--no-input 2>&1)
|
|
101
|
+
|
|
102
|
+
JIRA_KEY=$(echo "$JIRA_OUTPUT" | grep -oE 'MSSCI-[0-9]+' | head -1)
|
|
103
|
+
|
|
104
|
+
if [ -z "$JIRA_KEY" ]; then
|
|
105
|
+
echo "ERROR: Failed to create Jira story"
|
|
106
|
+
echo "$JIRA_OUTPUT"
|
|
107
|
+
exit 1
|
|
108
|
+
fi
|
|
109
|
+
|
|
110
|
+
echo "Created: $JIRA_KEY"
|
|
111
|
+
|
|
112
|
+
# Add to sprint and mark done
|
|
113
|
+
jira sprint add 276 "$JIRA_KEY"
|
|
114
|
+
jira issue move "$JIRA_KEY" "Done"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Step 4: Create Branch and Commit
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Generate slug from title
|
|
121
|
+
SLUG=$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | tr -cd 'a-z0-9-' | cut -c1-30)
|
|
122
|
+
|
|
123
|
+
# Stash, update develop, create branch
|
|
124
|
+
git stash push -m "standalone-wip-$(date +%s)"
|
|
125
|
+
git checkout develop && git pull origin develop
|
|
126
|
+
BRANCH="feat/${JIRA_KEY}-${SLUG}"
|
|
127
|
+
git checkout -b "$BRANCH"
|
|
128
|
+
git stash pop
|
|
129
|
+
|
|
130
|
+
# Stage and commit
|
|
131
|
+
git add .
|
|
132
|
+
git commit -m "feat: ${TITLE} (${JIRA_KEY})
|
|
133
|
+
|
|
134
|
+
${DESCRIPTION}
|
|
135
|
+
|
|
136
|
+
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Step 5: Push and Create PR
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
git push -u origin "$BRANCH"
|
|
143
|
+
|
|
144
|
+
gh pr create \
|
|
145
|
+
--title "feat: ${TITLE} (${JIRA_KEY})" \
|
|
146
|
+
--body "## Summary
|
|
147
|
+
${DESCRIPTION}
|
|
148
|
+
|
|
149
|
+
## Jira
|
|
150
|
+
[${JIRA_KEY}](https://1898andco.atlassian.net/browse/${JIRA_KEY})
|
|
151
|
+
|
|
152
|
+
## Test plan
|
|
153
|
+
- [x] Changes verified locally
|
|
154
|
+
|
|
155
|
+
🤖 Generated with [Claude Code](https://claude.com/claude-code)"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Step 6: Merge and Cleanup
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Get PR number and merge
|
|
162
|
+
PR_URL=$(gh pr view --json url -q '.url')
|
|
163
|
+
gh pr merge --squash --delete-branch
|
|
164
|
+
|
|
165
|
+
# Return to develop
|
|
166
|
+
git checkout develop
|
|
167
|
+
git pull origin develop
|
|
168
|
+
|
|
169
|
+
echo "✅ Done: $JIRA_KEY merged"
|
|
170
|
+
echo " Jira: https://1898andco.atlassian.net/browse/$JIRA_KEY"
|
|
171
|
+
echo " PR: $PR_URL"
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Safety
|
|
175
|
+
|
|
176
|
+
- **NEVER commit directly to develop**
|
|
177
|
+
- **Never force push**
|
|
178
|
+
- **Never commit secrets** (.env, credentials)
|
|
179
|
+
- **Abort if working directory is clean**
|
|
180
|
+
- **Confirm changes before proceeding**
|
|
181
|
+
|
|
182
|
+
## Comparison
|
|
183
|
+
|
|
184
|
+
| Command | Tracking | Branch | PR | Use For |
|
|
185
|
+
|---------|----------|--------|-----|---------|
|
|
186
|
+
| `/chore` | None | chore/* | No | Quick maintenance |
|
|
187
|
+
| `/standalone` | Jira | feat/* | Yes | Trackable features |
|
|
188
|
+
| `/sprint work` | Jira + Sprint | feat/* | Yes | Planned sprint work |
|
|
189
|
+
|
|
190
|
+
<related>
|
|
191
|
+
- `/chore` - Quick commits without Jira tracking
|
|
192
|
+
- `/sprint work` - Full sprint workflow with story setup
|
|
193
|
+
- `/git-cleanup` - Organize multiple changes into groups
|
|
194
|
+
</related>
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start an epic - move to current sprint and generate tech context
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Start Epic Workflow
|
|
6
|
+
|
|
7
|
+
**This command prepares an epic for development by moving it to the current sprint and generating technical context.**
|
|
8
|
+
|
|
9
|
+
## What This Does
|
|
10
|
+
|
|
11
|
+
1. **Validates** the epic exists in backlog or current sprint
|
|
12
|
+
2. **Moves** the epic to current sprint if not already there
|
|
13
|
+
3. **Runs** the SM agent's `epic-tech-context` task to generate technical specifications
|
|
14
|
+
|
|
15
|
+
## Prerequisites
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
cd $CLAUDE_PROJECT_DIR
|
|
19
|
+
|
|
20
|
+
# Verify sprint files exist
|
|
21
|
+
if [ ! -f "sprint/current-sprint.yaml" ] || [ ! -f "sprint/backlog.yaml" ]; then
|
|
22
|
+
echo "ERROR: Sprint files not found"
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
echo "Sprint files found - ready to start epic"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Usage
|
|
30
|
+
|
|
31
|
+
Provide the epic ID when invoking this command:
|
|
32
|
+
- `epic-5` - Pennyfarthing epic (format: `epic-N`)
|
|
33
|
+
|
|
34
|
+
## Workflow Steps
|
|
35
|
+
|
|
36
|
+
### Step 0: Clean Previous Work Artifacts
|
|
37
|
+
|
|
38
|
+
Before starting a new epic, clean up stale artifacts from previous work:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
cd $CLAUDE_PROJECT_DIR
|
|
42
|
+
|
|
43
|
+
# Run conservative cleanup (7+ day old artifacts)
|
|
44
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh --dry-run
|
|
45
|
+
|
|
46
|
+
# If dry-run looks good, run actual cleanup
|
|
47
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh
|
|
48
|
+
|
|
49
|
+
# Archive epic contexts for completed epics
|
|
50
|
+
$CLAUDE_PROJECT_DIR/scripts/misc/session-cleanup.sh --aggressive
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This ensures a clean slate before starting new epic work and archives contexts from completed epics.
|
|
54
|
+
|
|
55
|
+
### Step 1: Identify Epic
|
|
56
|
+
|
|
57
|
+
Ask the user for the epic ID if not provided:
|
|
58
|
+
> "Which epic would you like to start? (e.g., epic-5, sim-epic-10)"
|
|
59
|
+
|
|
60
|
+
### Step 2: Check Epic Location
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
cd $CLAUDE_PROJECT_DIR
|
|
64
|
+
|
|
65
|
+
# Check if epic is in current sprint
|
|
66
|
+
if grep -q "^$EPIC_ID:" sprint/current-sprint.yaml; then
|
|
67
|
+
echo "Epic $EPIC_ID is already in current sprint"
|
|
68
|
+
EPIC_LOCATION="current"
|
|
69
|
+
elif grep -q "^$EPIC_ID:" sprint/backlog.yaml; then
|
|
70
|
+
echo "Epic $EPIC_ID found in backlog - will move to current sprint"
|
|
71
|
+
EPIC_LOCATION="backlog"
|
|
72
|
+
else
|
|
73
|
+
echo "ERROR: Epic $EPIC_ID not found in sprint files"
|
|
74
|
+
exit 1
|
|
75
|
+
fi
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Step 3: Move Epic to Current Sprint (if needed)
|
|
79
|
+
|
|
80
|
+
If the epic is in backlog:
|
|
81
|
+
|
|
82
|
+
1. **Extract** the epic block from `sprint/backlog.yaml`
|
|
83
|
+
2. **Add** the epic to `sprint/current-sprint.yaml` under the active work section
|
|
84
|
+
3. **Update** the epic status from `backlog` or `planned` to `in-progress`
|
|
85
|
+
4. **Remove** the epic from `sprint/backlog.yaml`
|
|
86
|
+
|
|
87
|
+
**Format for current-sprint.yaml:**
|
|
88
|
+
```yaml
|
|
89
|
+
# ===========================================================================
|
|
90
|
+
# EPIC [N]: [Name]
|
|
91
|
+
# ===========================================================================
|
|
92
|
+
- id: MSSCI-XXXXX
|
|
93
|
+
type: epic
|
|
94
|
+
title: "Epic: [Name]"
|
|
95
|
+
points: [total_pts]
|
|
96
|
+
completed_points: 0
|
|
97
|
+
priority: P1
|
|
98
|
+
status: in_progress
|
|
99
|
+
stories:
|
|
100
|
+
# Stories added during tech context generation
|
|
101
|
+
- id: MSSCI-XXXXX
|
|
102
|
+
title: "[Story title]"
|
|
103
|
+
points: [N]
|
|
104
|
+
priority: P2
|
|
105
|
+
status: backlog
|
|
106
|
+
repos: [cyclist|pennyfarthing|both]
|
|
107
|
+
workflow: [tdd|trivial|agent-docs]
|
|
108
|
+
acceptance_criteria:
|
|
109
|
+
- [AC 1]
|
|
110
|
+
- [AC 2]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Step 4: Generate Epic Tech Context
|
|
114
|
+
|
|
115
|
+
Invoke the SM agent with the `epic-tech-context` task:
|
|
116
|
+
|
|
117
|
+
**Run:** `/sm` with task: `epic-tech-context` for epic `$EPIC_ID`
|
|
118
|
+
|
|
119
|
+
The SM agent will:
|
|
120
|
+
1. Load the epic details from current sprint
|
|
121
|
+
2. Analyze the codebase for relevant files
|
|
122
|
+
3. Generate technical context including:
|
|
123
|
+
- Current state analysis
|
|
124
|
+
- Technical approach
|
|
125
|
+
- File modifications needed
|
|
126
|
+
- API/UI changes
|
|
127
|
+
- Database changes
|
|
128
|
+
- Testing strategy
|
|
129
|
+
- Story breakdown with acceptance criteria
|
|
130
|
+
4. Save context to `.session/context-epic-$EPIC_ID.md`
|
|
131
|
+
|
|
132
|
+
### Step 5: Confirm Ready
|
|
133
|
+
|
|
134
|
+
After tech context is generated:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
✅ Epic $EPIC_ID is ready for development
|
|
138
|
+
|
|
139
|
+
Next steps:
|
|
140
|
+
1. Review the tech context: cat .session/context-epic-$EPIC_ID.md
|
|
141
|
+
2. Start first story: /new-work
|
|
142
|
+
3. SM will select from this epic's stories
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Example
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# User invokes: /start-epic epic-5
|
|
149
|
+
|
|
150
|
+
# Output:
|
|
151
|
+
# → Checking epic-5 location...
|
|
152
|
+
# → Epic epic-5 found in backlog
|
|
153
|
+
# → Moving epic-5 to current sprint...
|
|
154
|
+
# → Updating status to in-progress...
|
|
155
|
+
# → Invoking SM for epic-tech-context...
|
|
156
|
+
# → [SM generates technical context]
|
|
157
|
+
# → ✅ Epic epic-5 is ready for development
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Notes
|
|
161
|
+
|
|
162
|
+
- This command does NOT start a story - use `/new-work` for that
|
|
163
|
+
- The epic tech context provides the foundation for story-level work
|
|
164
|
+
- Stories within the epic will be worked via the normal TDD flow
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
**Flow:** `/start-epic` → SM (epic-tech-context) → `/new-work` → TDD cycle
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Sync Pennyfarthing epic to Jira MSSCI project using jira CLI
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Sync Epic to Jira Workflow
|
|
6
|
+
|
|
7
|
+
This workflow syncs a Pennyfarthing epic and its stories to Jira using the `jira` CLI tool.
|
|
8
|
+
|
|
9
|
+
**IMPORTANT:** All Pennyfarthing issues MUST be labeled with `pennyfarthing` to distinguish them from Pennyfarthing work.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- `jira` CLI installed: `brew install ankitpokhrel/jira-cli/jira-cli`
|
|
14
|
+
- `jira` CLI configured: `jira init`
|
|
15
|
+
- Epic exists in `sprint/current-sprint.yaml`
|
|
16
|
+
|
|
17
|
+
**For complete jira CLI reference, see the `jira` skill** (`.claude/skills/jira/SKILL.md`). The examples below are quick references; the skill has troubleshooting, user mappings, and edge cases.
|
|
18
|
+
|
|
19
|
+
## Label Requirement
|
|
20
|
+
|
|
21
|
+
All Pennyfarthing epics and stories must include the `pennyfarthing` label:
|
|
22
|
+
```bash
|
|
23
|
+
-l pennyfarthing
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Quick Sync
|
|
27
|
+
|
|
28
|
+
### Sync a Single Story
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# View story status
|
|
32
|
+
./scripts/jira/jira-sync-story.sh 35-2-topology-editor
|
|
33
|
+
|
|
34
|
+
# Transition to match Pennyfarthing status
|
|
35
|
+
./scripts/jira/jira-sync-story.sh 35-2-topology-editor --transition
|
|
36
|
+
|
|
37
|
+
# Add a comment
|
|
38
|
+
./scripts/jira/jira-sync-story.sh 35-2-topology-editor --comment "Started development"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Sync All Stories in Epic
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# For each story in the epic, sync status
|
|
45
|
+
for story in $(yq '.epic-35.stories | keys | .[]' sprint/current-sprint.yaml); do
|
|
46
|
+
./scripts/jira/jira-sync-story.sh "$story" --transition
|
|
47
|
+
done
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Manual Jira CLI Commands
|
|
51
|
+
|
|
52
|
+
**IMPORTANT:** Most commands require `-p MSSCI` (project flag) even when the issue key contains the project prefix.
|
|
53
|
+
|
|
54
|
+
### View Issue
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
jira issue view MSSCI-123
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Create Story
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
jira issue create \
|
|
64
|
+
-p MSSCI \
|
|
65
|
+
-tStory \
|
|
66
|
+
-s"Story 1-5: Add Epic Context Guardrail" \
|
|
67
|
+
-b"Description here" \
|
|
68
|
+
-yHigh \
|
|
69
|
+
-l pennyfarthing \
|
|
70
|
+
--no-input
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Create Epic
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
jira issue create \
|
|
77
|
+
-p MSSCI \
|
|
78
|
+
-tEpic \
|
|
79
|
+
-s"Epic 1: Agentic Best Practices Implementation" \
|
|
80
|
+
-b"Epic description" \
|
|
81
|
+
-l pennyfarthing \
|
|
82
|
+
--no-input
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Link Story to Epic
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Use --parent to link a story to its epic
|
|
89
|
+
jira issue create \
|
|
90
|
+
-p MSSCI \
|
|
91
|
+
-tStory \
|
|
92
|
+
-s"Story Title" \
|
|
93
|
+
--parent MSSCI-EPIC_KEY \
|
|
94
|
+
-l pennyfarthing \
|
|
95
|
+
--no-input
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Assign Issue
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Assign to self
|
|
102
|
+
jira issue assign -p MSSCI MSSCI-123 "$(jira me)"
|
|
103
|
+
|
|
104
|
+
# Assign to someone else
|
|
105
|
+
jira issue assign -p MSSCI MSSCI-123 "john.doe@1898andco.io"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Transition Issue
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
jira issue move MSSCI-123 "In Progress" -p MSSCI
|
|
112
|
+
jira issue move MSSCI-123 "In Review" -p MSSCI
|
|
113
|
+
jira issue move MSSCI-123 "Done" -p MSSCI
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Add Comment
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
jira issue comment add MSSCI-123 "Development started on branch feat/35-2"
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Link Issues
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
jira issue link MSSCI-123 MSSCI-124 "Blocks"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### List Issues
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# All in-progress stories
|
|
132
|
+
jira issue list -s "In Progress"
|
|
133
|
+
|
|
134
|
+
# Stories in current sprint
|
|
135
|
+
jira sprint list --current
|
|
136
|
+
|
|
137
|
+
# Stories assigned to me
|
|
138
|
+
jira issue list -a$(jira me)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Status Mapping
|
|
142
|
+
|
|
143
|
+
| Pennyfarthing | Jira |
|
|
144
|
+
|-----------|------|
|
|
145
|
+
| `backlog` | To Do |
|
|
146
|
+
| `in-progress` | In Progress |
|
|
147
|
+
| `review` | In Review |
|
|
148
|
+
| `done` | Done |
|
|
149
|
+
|
|
150
|
+
## Priority Mapping
|
|
151
|
+
|
|
152
|
+
| Pennyfarthing | Jira |
|
|
153
|
+
|-----------|------|
|
|
154
|
+
| `P0` | Highest |
|
|
155
|
+
| `P1` | High |
|
|
156
|
+
| `P2` | Medium |
|
|
157
|
+
|
|
158
|
+
## Troubleshooting
|
|
159
|
+
|
|
160
|
+
**jira CLI not configured:**
|
|
161
|
+
```bash
|
|
162
|
+
jira init
|
|
163
|
+
# Follow prompts to authenticate
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
**Issue not found:**
|
|
167
|
+
- Check the Jira key is correct
|
|
168
|
+
- Verify you have access to the project
|
|
169
|
+
|
|
170
|
+
**Transition not available:**
|
|
171
|
+
- Some transitions require specific conditions
|
|
172
|
+
- Check the Jira workflow for allowed transitions
|
|
173
|
+
|
|
174
|
+
## Related Scripts
|
|
175
|
+
|
|
176
|
+
| Script | Purpose |
|
|
177
|
+
|--------|---------|
|
|
178
|
+
| `jira-claim-story.sh` | Check/claim story assignment |
|
|
179
|
+
| `jira-sync-story.sh` | Sync single story status |
|
|
180
|
+
| `sync-epic-to-jira.sh` | Generate sync report for epic |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
**Last Updated**: 2025-12-16
|