@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,218 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Resume work from a saved checkpoint after context circuit breaker
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Continue Session
|
|
6
|
+
|
|
7
|
+
<purpose>
|
|
8
|
+
Recovery command for resuming work after the context circuit breaker (85% threshold) halts execution. Loads saved checkpoints and resumes the appropriate agent to continue where you left off.
|
|
9
|
+
</purpose>
|
|
10
|
+
|
|
11
|
+
<when-to-use>
|
|
12
|
+
- After context circuit breaker blocks further work
|
|
13
|
+
- After a session timeout or interruption
|
|
14
|
+
- When returning to work saved with `checkpoint_save`
|
|
15
|
+
- To recover from any context overflow situation
|
|
16
|
+
</when-to-use>
|
|
17
|
+
|
|
18
|
+
<usage>
|
|
19
|
+
```
|
|
20
|
+
/continue-session [--list] [--story-id ID]
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
| Option | Description |
|
|
24
|
+
|--------|-------------|
|
|
25
|
+
| (none) | Interactive: show checkpoints, let user choose |
|
|
26
|
+
| `--list` | Just display available checkpoints, don't restore |
|
|
27
|
+
| `--story-id ID` | Resume specific story directly (skip selection) |
|
|
28
|
+
</usage>
|
|
29
|
+
|
|
30
|
+
<on-invoke>
|
|
31
|
+
|
|
32
|
+
## Step 1: Check for Circuit Breaker Agent
|
|
33
|
+
|
|
34
|
+
First, check if the circuit breaker saved an active agent:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
source "${PROJECT_ROOT:-.}/.pennyfarthing/scripts/lib/checkpoint.sh"
|
|
38
|
+
SAVED_AGENT=$(checkpoint_restore "circuit_breaker_agent")
|
|
39
|
+
if [[ -n "$SAVED_AGENT" ]]; then
|
|
40
|
+
echo "Circuit breaker saved agent: $SAVED_AGENT"
|
|
41
|
+
else
|
|
42
|
+
echo "No circuit breaker agent found"
|
|
43
|
+
fi
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**If a saved agent is found:**
|
|
47
|
+
- Invoke that agent's command (e.g., `/sm`, `/dev`, `/tea`, `/reviewer`)
|
|
48
|
+
- The agent will be primed with FULL tier context (fresh session)
|
|
49
|
+
- This restores the exact agent that was active when the circuit breaker triggered
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
## Circuit Breaker Recovery
|
|
53
|
+
|
|
54
|
+
The circuit breaker saved your active agent: **{SAVED_AGENT}**
|
|
55
|
+
|
|
56
|
+
Invoking `/{SAVED_AGENT}` to restore with full context...
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Then invoke the Skill tool with skill="{SAVED_AGENT}" to activate the agent.
|
|
60
|
+
|
|
61
|
+
**If no saved agent**, continue to Step 2 below.
|
|
62
|
+
|
|
63
|
+
## Step 2: Scan for Checkpoints
|
|
64
|
+
|
|
65
|
+
Run bash to check for saved checkpoints:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
CHECKPOINT_FILE="${PROJECT_ROOT:-.}/.session/checkpoints.log"
|
|
69
|
+
if [[ -f "$CHECKPOINT_FILE" ]]; then
|
|
70
|
+
echo "=== Recent Checkpoints ==="
|
|
71
|
+
tail -20 "$CHECKPOINT_FILE"
|
|
72
|
+
else
|
|
73
|
+
echo "No checkpoints found."
|
|
74
|
+
fi
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Step 3: Parse and Present Options (if no saved agent)
|
|
78
|
+
|
|
79
|
+
If checkpoints exist, parse and present them:
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
## Available Checkpoints
|
|
83
|
+
|
|
84
|
+
| # | Timestamp | Label | Data |
|
|
85
|
+
|---|-----------|-------|------|
|
|
86
|
+
| 1 | 2026-01-06T14:30:22Z | phase:3-4 | dev |
|
|
87
|
+
| 2 | 2026-01-06T14:28:15Z | context:3-4 | Working on continue-session command |
|
|
88
|
+
|
|
89
|
+
Which checkpoint would you like to restore? (Enter number or 'all' for most recent of each label)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Output `<!-- CYCLIST:CHOICES:checkpoint -->` marker, then use AskUserQuestion to let user choose.
|
|
93
|
+
|
|
94
|
+
## Step 4: Restore Checkpoint
|
|
95
|
+
|
|
96
|
+
Source the checkpoint utilities and restore:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
# Source checkpoint utilities
|
|
100
|
+
source "${PROJECT_ROOT:-.}/.pennyfarthing/scripts/lib/checkpoint.sh"
|
|
101
|
+
|
|
102
|
+
# Restore by label
|
|
103
|
+
PHASE=$(checkpoint_restore "phase:${STORY_ID}")
|
|
104
|
+
CONTEXT=$(checkpoint_restore "context:${STORY_ID}")
|
|
105
|
+
FILES=$(checkpoint_restore "files:${STORY_ID}")
|
|
106
|
+
|
|
107
|
+
echo "Restored checkpoint:"
|
|
108
|
+
echo " Phase: $PHASE"
|
|
109
|
+
echo " Context: $CONTEXT"
|
|
110
|
+
echo " Files: $FILES"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Step 5: Find Session File
|
|
114
|
+
|
|
115
|
+
Look for the matching session file:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
SESSION_FILE=".session/${STORY_ID}-session.md"
|
|
119
|
+
if [[ -f "$SESSION_FILE" ]]; then
|
|
120
|
+
echo "Found session file: $SESSION_FILE"
|
|
121
|
+
head -20 "$SESSION_FILE"
|
|
122
|
+
else
|
|
123
|
+
echo "Warning: No session file found for story $STORY_ID"
|
|
124
|
+
fi
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Step 6: Resume Appropriate Agent
|
|
128
|
+
|
|
129
|
+
Based on the restored phase, invoke the appropriate agent:
|
|
130
|
+
|
|
131
|
+
| Phase | Agent | Command |
|
|
132
|
+
|-------|-------|---------|
|
|
133
|
+
| `setup` or `sm` | TEA | `/tea` |
|
|
134
|
+
| `tea` or `red` | Dev | `/dev` |
|
|
135
|
+
| `dev` or `green` | Reviewer | `/reviewer` |
|
|
136
|
+
| `review` | Reviewer | `/reviewer` |
|
|
137
|
+
| `approved` | SM | `/sm` (finish flow) |
|
|
138
|
+
|
|
139
|
+
Present to user:
|
|
140
|
+
```markdown
|
|
141
|
+
## Session Restored
|
|
142
|
+
|
|
143
|
+
**Story:** {STORY_ID} - {title from session}
|
|
144
|
+
**Phase:** {PHASE}
|
|
145
|
+
**Context:** {CONTEXT}
|
|
146
|
+
|
|
147
|
+
Ready to continue with **{Agent Name}**.
|
|
148
|
+
|
|
149
|
+
The checkpoint shows you were working on: {CONTEXT}
|
|
150
|
+
|
|
151
|
+
[Continue] [Show more details] [Cancel]
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
</on-invoke>
|
|
155
|
+
|
|
156
|
+
<checkpoint-labels>
|
|
157
|
+
Standard checkpoint labels include the story ID:
|
|
158
|
+
|
|
159
|
+
| Label Pattern | Purpose | Example |
|
|
160
|
+
|---------------|---------|---------|
|
|
161
|
+
| `circuit_breaker_agent` | **Auto-saved** by circuit breaker | `circuit_breaker_agent` → `dev` |
|
|
162
|
+
| `phase:{story-id}` | Workflow phase | `phase:3-4` → `dev` |
|
|
163
|
+
| `context:{story-id}` | Work summary | `context:3-4` → `Implementing validation` |
|
|
164
|
+
| `files:{story-id}` | Key files | `files:3-4` → `src/api.ts,src/utils.ts` |
|
|
165
|
+
| `branch:{story-id}` | Git branch | `branch:3-4` → `feat/3-4-session` |
|
|
166
|
+
</checkpoint-labels>
|
|
167
|
+
|
|
168
|
+
<no-checkpoints>
|
|
169
|
+
If no checkpoints are found:
|
|
170
|
+
|
|
171
|
+
```markdown
|
|
172
|
+
## No Checkpoints Found
|
|
173
|
+
|
|
174
|
+
No saved checkpoints exist in `.session/checkpoints.log`.
|
|
175
|
+
|
|
176
|
+
**Options:**
|
|
177
|
+
1. `/work` - Check for active session files
|
|
178
|
+
2. `/new-work` - Start fresh with a new story
|
|
179
|
+
3. Check git stash: `git stash list`
|
|
180
|
+
```
|
|
181
|
+
</no-checkpoints>
|
|
182
|
+
|
|
183
|
+
<stale-checkpoint-warning>
|
|
184
|
+
If checkpoint is older than 24 hours:
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
## Stale Checkpoint Warning
|
|
188
|
+
|
|
189
|
+
The most recent checkpoint is from **{timestamp}** ({hours} hours ago).
|
|
190
|
+
|
|
191
|
+
The codebase may have changed significantly since then.
|
|
192
|
+
|
|
193
|
+
**Options:**
|
|
194
|
+
1. [Restore anyway] - Load this checkpoint
|
|
195
|
+
2. [Check git log] - See what changed since checkpoint
|
|
196
|
+
3. [Start fresh] - Begin new work with `/new-work`
|
|
197
|
+
```
|
|
198
|
+
</stale-checkpoint-warning>
|
|
199
|
+
|
|
200
|
+
<integration>
|
|
201
|
+
This command completes the circuit breaker workflow:
|
|
202
|
+
|
|
203
|
+
1. Agent works normally
|
|
204
|
+
2. Context reaches 85% → circuit breaker triggers
|
|
205
|
+
3. Circuit breaker **automatically saves** the active agent to `circuit_breaker_agent` checkpoint
|
|
206
|
+
4. User starts new Claude session
|
|
207
|
+
5. User runs `/continue-session`
|
|
208
|
+
6. Command reads `circuit_breaker_agent` checkpoint
|
|
209
|
+
7. Agent is invoked with `/{agent}` command → FULL tier context injection
|
|
210
|
+
8. Agent resumes with complete persona, behavior guide, and session context
|
|
211
|
+
</integration>
|
|
212
|
+
|
|
213
|
+
<reference>
|
|
214
|
+
- **Checkpoint API:** `.pennyfarthing/scripts/lib/checkpoint.sh`
|
|
215
|
+
- **Circuit Breaker:** `scripts/hooks/context-circuit-breaker.sh`
|
|
216
|
+
- **Related:** `/work`, `/new-work`
|
|
217
|
+
- **Session Files:** `.session/{story-id}-session.md`
|
|
218
|
+
</reference>
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create feature branches in both repos from a story
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Create Branches from Story Workflow
|
|
6
|
+
|
|
7
|
+
This workflow helps you create coordinated feature branches in the subrepos (`API`, `UI`) from a story or feature request.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
- [ ] Story/feature is defined
|
|
12
|
+
- [ ] You're on the main branch in both repos
|
|
13
|
+
- [ ] Working directory is clean (no uncommitted changes)
|
|
14
|
+
|
|
15
|
+
## Steps
|
|
16
|
+
|
|
17
|
+
### 1. Extract Branch Name from Story
|
|
18
|
+
|
|
19
|
+
Read the story/feature description and create a branch name following the pattern:
|
|
20
|
+
- Format: `feature/[story-id]-[short-description]`
|
|
21
|
+
- Example: `feature/AUTH-123-user-login`
|
|
22
|
+
- Use kebab-case for description
|
|
23
|
+
- Keep it short but descriptive
|
|
24
|
+
|
|
25
|
+
**Branch naming conventions:**
|
|
26
|
+
- `feature/` - New features
|
|
27
|
+
- `bugfix/` - Bug fixes
|
|
28
|
+
- `hotfix/` - Urgent production fixes
|
|
29
|
+
- `refactor/` - Code refactoring
|
|
30
|
+
- `chore/` - Maintenance tasks
|
|
31
|
+
|
|
32
|
+
### 2. Determine Scope
|
|
33
|
+
|
|
34
|
+
Ask: Does this story require changes in:
|
|
35
|
+
- [ ] API only → Create branch in `API` only
|
|
36
|
+
- [ ] UI only → Create branch in `UI` only
|
|
37
|
+
- [ ] Both → Create branches in both repos
|
|
38
|
+
|
|
39
|
+
### 2b. Choose Branch Strategy
|
|
40
|
+
|
|
41
|
+
**Option A: Standard (in-place branch switching)**
|
|
42
|
+
- Use when: Working on one thing at a time
|
|
43
|
+
- Pros: Simple, no extra directories
|
|
44
|
+
- Cons: Must stash/commit before switching
|
|
45
|
+
|
|
46
|
+
**Option B: Worktree (parallel development)**
|
|
47
|
+
- Use when: Need to work on multiple things simultaneously
|
|
48
|
+
- Pros: No branch switching, isolated work directories
|
|
49
|
+
- Cons: Uses more disk space
|
|
50
|
+
|
|
51
|
+
If you need parallel work, skip to **Step 3b** below.
|
|
52
|
+
|
|
53
|
+
### 3. Create Branches
|
|
54
|
+
|
|
55
|
+
Run the following commands based on scope:
|
|
56
|
+
|
|
57
|
+
#### For API Changes
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
cd $CLAUDE_PROJECT_DIR/API
|
|
61
|
+
|
|
62
|
+
# Ensure you're on main and up to date
|
|
63
|
+
git checkout main
|
|
64
|
+
git pull origin main
|
|
65
|
+
|
|
66
|
+
# Create and checkout new branch
|
|
67
|
+
git checkout -b feature/[story-id]-[description]
|
|
68
|
+
|
|
69
|
+
# Push branch to remote
|
|
70
|
+
git push -u origin feature/[story-id]-[description]
|
|
71
|
+
|
|
72
|
+
# Confirm
|
|
73
|
+
git branch --show-current
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### For UI Changes
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
cd $CLAUDE_PROJECT_DIR/UI
|
|
80
|
+
|
|
81
|
+
# Ensure you're on main and up to date
|
|
82
|
+
git checkout main
|
|
83
|
+
git pull origin main
|
|
84
|
+
|
|
85
|
+
# Create and checkout new branch
|
|
86
|
+
git checkout -b feature/[story-id]-[description]
|
|
87
|
+
|
|
88
|
+
# Push branch to remote
|
|
89
|
+
git push -u origin feature/[story-id]-[description]
|
|
90
|
+
|
|
91
|
+
# Confirm
|
|
92
|
+
git branch --show-current
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 3b. Create Worktree (Alternative for Parallel Work)
|
|
96
|
+
|
|
97
|
+
Use this instead of Step 3 if you need to work on multiple stories simultaneously:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
cd $CLAUDE_PROJECT_DIR
|
|
101
|
+
|
|
102
|
+
# Create worktree with branches (both API and UI)
|
|
103
|
+
./scripts/git/worktree-manager.sh create [story-id] feat/[story-id]-[description]
|
|
104
|
+
|
|
105
|
+
# Example: Story 5-2
|
|
106
|
+
./scripts/git/worktree-manager.sh create 5-2 feat/5-2-csv-import
|
|
107
|
+
|
|
108
|
+
# For API-only work
|
|
109
|
+
./scripts/git/worktree-manager.sh create [story-id] feat/[story-id]-[description] api
|
|
110
|
+
|
|
111
|
+
# For UI-only work
|
|
112
|
+
./scripts/git/worktree-manager.sh create [story-id] feat/[story-id]-[description] ui
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
This creates:
|
|
116
|
+
- Worktree at `worktrees/[story-id]/API` and/or `UI`
|
|
117
|
+
- Session file at `.session/wt-[story-id].md`
|
|
118
|
+
- Branches created from develop
|
|
119
|
+
|
|
120
|
+
**Skip to Step 5b** if using worktrees.
|
|
121
|
+
|
|
122
|
+
### 4. Document the Work
|
|
123
|
+
|
|
124
|
+
Edit `.session/{STORY_ID}-session.md`:
|
|
125
|
+
|
|
126
|
+
```markdown
|
|
127
|
+
# Feature: [Story Title]
|
|
128
|
+
|
|
129
|
+
**Story ID:** [STORY-123]
|
|
130
|
+
**Repos:** [X] API [X] UI [ ] Both
|
|
131
|
+
**Branches:**
|
|
132
|
+
- API: feature/[story-id]-[description]
|
|
133
|
+
- UI: feature/[story-id]-[description]
|
|
134
|
+
**Date:** [YYYY-MM-DD]
|
|
135
|
+
|
|
136
|
+
## Goal
|
|
137
|
+
[One sentence - what are you building?]
|
|
138
|
+
|
|
139
|
+
## Story Description
|
|
140
|
+
[Copy relevant parts of the story]
|
|
141
|
+
|
|
142
|
+
## Acceptance Criteria
|
|
143
|
+
- [ ] [Criterion 1]
|
|
144
|
+
- [ ] [Criterion 2]
|
|
145
|
+
- [ ] [Criterion 3]
|
|
146
|
+
|
|
147
|
+
## API Changes
|
|
148
|
+
- Files: [list expected files]
|
|
149
|
+
- Endpoints: [list new/modified endpoints]
|
|
150
|
+
- Branch: feature/[story-id]-[description]
|
|
151
|
+
|
|
152
|
+
## UI Changes
|
|
153
|
+
- Files: [list expected files]
|
|
154
|
+
- Components: [list new/modified components]
|
|
155
|
+
- Branch: feature/[story-id]-[description]
|
|
156
|
+
|
|
157
|
+
## Technical Notes
|
|
158
|
+
[Any technical considerations, dependencies, etc.]
|
|
159
|
+
|
|
160
|
+
## Testing Plan
|
|
161
|
+
- [ ] API unit tests
|
|
162
|
+
- [ ] UI component tests
|
|
163
|
+
- [ ] Integration tests
|
|
164
|
+
- [ ] Manual testing
|
|
165
|
+
|
|
166
|
+
## Done
|
|
167
|
+
- [ ] All acceptance criteria met
|
|
168
|
+
- [ ] Tests pass
|
|
169
|
+
- [ ] Code reviewed
|
|
170
|
+
- [ ] Branches merged
|
|
171
|
+
- [ ] Deployed
|
|
172
|
+
|
|
173
|
+
## Next Steps
|
|
174
|
+
[What happens after this story is complete?]
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### 6. Verify Setup
|
|
178
|
+
|
|
179
|
+
Check that everything is ready:
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
# Check API branch
|
|
183
|
+
cd $CLAUDE_PROJECT_DIR/API
|
|
184
|
+
git branch --show-current
|
|
185
|
+
# Should show: feature/[story-id]-[description]
|
|
186
|
+
|
|
187
|
+
# Check UI branch
|
|
188
|
+
cd $CLAUDE_PROJECT_DIR/UI
|
|
189
|
+
git branch --show-current
|
|
190
|
+
# Should show: feature/[story-id]-[description]
|
|
191
|
+
|
|
192
|
+
# Check Pennyfarthing session exists
|
|
193
|
+
cd $CLAUDE_PROJECT_DIR
|
|
194
|
+
ls -la .session/{STORY_ID}-session.md
|
|
195
|
+
# Should exist
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### 5b. Document Worktree Work (if using worktrees)
|
|
199
|
+
|
|
200
|
+
The worktree manager already created a session file. Edit `.session/wt-[story-id].md` with the same content as Step 5.
|
|
201
|
+
|
|
202
|
+
### 7. Start Development
|
|
203
|
+
|
|
204
|
+
You're now ready to start work:
|
|
205
|
+
|
|
206
|
+
**Standard (in-place branches):**
|
|
207
|
+
```bash
|
|
208
|
+
# Work in API
|
|
209
|
+
cd $CLAUDE_PROJECT_DIR/API
|
|
210
|
+
# You're on feature branch, AI loads session + API context
|
|
211
|
+
|
|
212
|
+
# Work in UI
|
|
213
|
+
cd $CLAUDE_PROJECT_DIR/UI
|
|
214
|
+
# You're on feature branch, AI loads session + UI context
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**Worktree (parallel work):**
|
|
218
|
+
```bash
|
|
219
|
+
# Work in API worktree
|
|
220
|
+
cd $CLAUDE_PROJECT_DIR/worktrees/[story-id]/API
|
|
221
|
+
|
|
222
|
+
# Work in UI worktree
|
|
223
|
+
cd $CLAUDE_PROJECT_DIR/worktrees/[story-id]/UI
|
|
224
|
+
|
|
225
|
+
# Get port configuration for dev servers
|
|
226
|
+
eval $(./scripts/git/worktree-manager.sh ports [story-id])
|
|
227
|
+
echo "API: $API_PORT, UI: $UI_PORT"
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Example: Complete Workflow
|
|
231
|
+
|
|
232
|
+
### Story: "Add User Authentication"
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
# 1. Create API branch
|
|
236
|
+
cd $CLAUDE_PROJECT_DIR/API
|
|
237
|
+
git checkout main && git pull
|
|
238
|
+
git checkout -b feature/AUTH-123-user-authentication
|
|
239
|
+
git push -u origin feature/AUTH-123-user-authentication
|
|
240
|
+
|
|
241
|
+
# 2. Create UI branch
|
|
242
|
+
cd ../UI
|
|
243
|
+
git checkout main && git pull
|
|
244
|
+
git checkout -b feature/AUTH-123-user-authentication
|
|
245
|
+
git push -u origin feature/AUTH-123-user-authentication
|
|
246
|
+
|
|
247
|
+
# 3. Edit session file
|
|
248
|
+
# Update .session/{STORY_ID}-session.md with story details
|
|
249
|
+
|
|
250
|
+
# 5. Start working
|
|
251
|
+
cd API
|
|
252
|
+
# Implement auth endpoints
|
|
253
|
+
|
|
254
|
+
cd ../UI
|
|
255
|
+
# Implement login UI
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Tips
|
|
259
|
+
|
|
260
|
+
### Branch Naming Best Practices
|
|
261
|
+
|
|
262
|
+
- **Be consistent** - Use same branch name in both repos for related work
|
|
263
|
+
- **Include story ID** - Makes it easy to track back to requirements
|
|
264
|
+
- **Keep it short** - But descriptive enough to understand at a glance
|
|
265
|
+
- **Use prefixes** - feature/, bugfix/, etc. for clarity
|
|
266
|
+
|
|
267
|
+
### When to Create Branches
|
|
268
|
+
|
|
269
|
+
- **Both repos affected** - Create matching branches in both
|
|
270
|
+
- **Single repo** - Only create branch where needed
|
|
271
|
+
- **Uncertain** - Start with both, delete unused later
|
|
272
|
+
|
|
273
|
+
### Branch Cleanup
|
|
274
|
+
|
|
275
|
+
After merging:
|
|
276
|
+
```bash
|
|
277
|
+
# Delete local branch
|
|
278
|
+
git branch -d feature/[story-id]-[description]
|
|
279
|
+
|
|
280
|
+
# Delete remote branch
|
|
281
|
+
git push origin --delete feature/[story-id]-[description]
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
## Troubleshooting
|
|
285
|
+
|
|
286
|
+
### Already have uncommitted changes?
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
# Stash changes
|
|
290
|
+
git stash
|
|
291
|
+
|
|
292
|
+
# Create branch
|
|
293
|
+
git checkout -b feature/[story-id]-[description]
|
|
294
|
+
|
|
295
|
+
# Apply stashed changes
|
|
296
|
+
git stash pop
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### Wrong branch name?
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# Rename local branch
|
|
303
|
+
git branch -m old-name new-name
|
|
304
|
+
|
|
305
|
+
# Delete old remote branch
|
|
306
|
+
git push origin --delete old-name
|
|
307
|
+
|
|
308
|
+
# Push new branch
|
|
309
|
+
git push -u origin new-name
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Forgot to pull main first?
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
# Fetch latest
|
|
316
|
+
git fetch origin
|
|
317
|
+
|
|
318
|
+
# Rebase your branch on latest main
|
|
319
|
+
git rebase origin/main
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
## Integration with Pennyfarthing
|
|
323
|
+
|
|
324
|
+
This workflow integrates with the solo dev Pennyfarthing structure:
|
|
325
|
+
|
|
326
|
+
1. **Branches** - Git manages code isolation
|
|
327
|
+
2. **Session** - Pennyfarthing tracks work progress
|
|
328
|
+
3. **Context** - Repo context files guide AI
|
|
329
|
+
4. **Archive** - When done, archive session and delete branches
|
|
330
|
+
|
|
331
|
+
**Workflow:**
|
|
332
|
+
```
|
|
333
|
+
Story → Branches → Pennyfarthing Session → Development → Merge → Archive
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
## Quick Reference
|
|
337
|
+
|
|
338
|
+
```bash
|
|
339
|
+
# Create API branch
|
|
340
|
+
cd API && git checkout main && git pull && \
|
|
341
|
+
git checkout -b feature/STORY-ID-description && \
|
|
342
|
+
git push -u origin feature/STORY-ID-description
|
|
343
|
+
|
|
344
|
+
# Create UI branch
|
|
345
|
+
cd ../UI && git checkout main && git pull && \
|
|
346
|
+
git checkout -b feature/STORY-ID-description && \
|
|
347
|
+
git push -u origin feature/STORY-ID-description
|
|
348
|
+
|
|
349
|
+
# Edit session
|
|
350
|
+
# Update .session/{STORY_ID}-session.md
|
|
351
|
+
|
|
352
|
+
# Start work
|
|
353
|
+
cd API # or UI
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
**You're ready to start development with coordinated branches and Pennyfarthing tracking!**
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new custom persona theme
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Create Theme
|
|
6
|
+
|
|
7
|
+
Create a new custom theme, optionally based on an existing theme.
|
|
8
|
+
|
|
9
|
+
## Arguments
|
|
10
|
+
|
|
11
|
+
- `<name>` - Name for the new theme (lowercase, hyphens allowed)
|
|
12
|
+
|
|
13
|
+
## Options
|
|
14
|
+
|
|
15
|
+
- `--base <theme>` - Base theme to copy from (default: minimalist)
|
|
16
|
+
- `--user` - Create as user-level theme (available across all projects)
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
20
|
+
1. If no theme name provided, ask the user what they want to call their theme.
|
|
21
|
+
|
|
22
|
+
2. Create the theme:
|
|
23
|
+
```bash
|
|
24
|
+
pennyfarthing theme create <name> [--base <theme>] [--user]
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
3. Guide the user on next steps:
|
|
28
|
+
- Edit the theme file to customize agents
|
|
29
|
+
- Run `/set-theme <name>` to activate
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Developer - Feature implementation and coding
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.pennyfarthing" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done
|
|
7
|
+
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
+
python3 -m pennyfarthing_scripts.cli agent start "dev"
|
|
9
|
+
```
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: DevOps Engineer - Infrastructure and deployment automation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.pennyfarthing" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done
|
|
7
|
+
export PYTHONPATH="$(dirname "$(dirname "$(cd "$d/.pennyfarthing/scripts" && pwd -P)")"):${PYTHONPATH:-}"
|
|
8
|
+
python3 -m pennyfarthing_scripts.cli agent start "devops"
|
|
9
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Quick alias for /patch - fix blocking issue during story work
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Fix Blocker
|
|
6
|
+
|
|
7
|
+
<purpose>
|
|
8
|
+
Alias for `/patch`. Use when a blocking issue prevents story progress.
|
|
9
|
+
</purpose>
|
|
10
|
+
|
|
11
|
+
<on-invoke>
|
|
12
|
+
Invoke the patch command:
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
/patch
|
|
16
|
+
```
|
|
17
|
+
</on-invoke>
|
|
18
|
+
|
|
19
|
+
<related>
|
|
20
|
+
- `/patch` - Full patch mode documentation
|
|
21
|
+
- `/chore` - Quick commits without tracking
|
|
22
|
+
</related>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Clean up git repos by organizing changes into proper commits/branches by initiative
|
|
3
|
+
workflow: git-cleanup
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Git Cleanup Command
|
|
7
|
+
|
|
8
|
+
Organize uncommitted changes into proper commits and branches across **all configured repos**.
|
|
9
|
+
|
|
10
|
+
## Quick Start
|
|
11
|
+
|
|
12
|
+
Run `/git-cleanup` to start the stepped workflow.
|
|
13
|
+
|
|
14
|
+
## Multi-Repo Support
|
|
15
|
+
|
|
16
|
+
This workflow handles multiple repos defined in `.claude/project/pennyfarthing-settings.yaml`.
|
|
17
|
+
|
|
18
|
+
**CRITICAL:** Always use the multi-repo status script, not plain `git status`:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
.pennyfarthing/scripts/git/git-status-all.sh
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
For operations in a specific repo, use `git -C {repo_path}`:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
git -C pennyfarthing status --short
|
|
28
|
+
git -C pennyfarthing diff
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Workflow Steps
|
|
32
|
+
|
|
33
|
+
| Step | Name | Purpose |
|
|
34
|
+
|------|------|---------|
|
|
35
|
+
| 1 | Analyze | Gather status from ALL repos |
|
|
36
|
+
| 2 | Categorize | Group changes by initiative (may span repos) |
|
|
37
|
+
| 3 | Execute | Create branches, commit, merge in each repo |
|
|
38
|
+
| 4 | Verify | Confirm clean state across all repos |
|
|
39
|
+
| 5 | Complete | Push and summary |
|
|
40
|
+
|
|
41
|
+
## Critical Rules
|
|
42
|
+
|
|
43
|
+
- **NEVER** commit directly to develop (use branches)
|
|
44
|
+
- **NEVER** force push
|
|
45
|
+
- **ALWAYS** use `git -C {repo_path}` for subrepo operations
|
|
46
|
+
- **ALWAYS** check ALL repos, not just the orchestrator
|
|
47
|
+
|
|
48
|
+
## Commit Types
|
|
49
|
+
|
|
50
|
+
| Prefix | Use For |
|
|
51
|
+
|--------|---------|
|
|
52
|
+
| `feat:` | New features |
|
|
53
|
+
| `fix:` | Bug fixes |
|
|
54
|
+
| `chore:` | Maintenance |
|
|
55
|
+
| `docs:` | Documentation |
|
|
56
|
+
| `refactor:` | Code improvement |
|
|
57
|
+
| `test:` | Test changes |
|