@pennyfarthing/core 7.9.2 → 7.9.5
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 +2 -2
- 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 +180 -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 +284 -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 +7 -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 +178 -0
- package/pennyfarthing-dist/commands/close-epic.md +139 -0
- package/pennyfarthing-dist/commands/continue-session.md +184 -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 +7 -0
- package/pennyfarthing-dist/commands/devops.md +7 -0
- package/pennyfarthing-dist/commands/git-cleanup.md +51 -0
- package/pennyfarthing-dist/commands/health-check.md +141 -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/orchestrator.md +7 -0
- package/pennyfarthing-dist/commands/parallel-work.md +71 -0
- package/pennyfarthing-dist/commands/party-mode.md +77 -0
- package/pennyfarthing-dist/commands/permissions.md +193 -0
- package/pennyfarthing-dist/commands/pm.md +7 -0
- package/pennyfarthing-dist/commands/prime.md +140 -0
- package/pennyfarthing-dist/commands/release.md +58 -0
- package/pennyfarthing-dist/commands/repo-status.md +49 -0
- package/pennyfarthing-dist/commands/retro.md +200 -0
- package/pennyfarthing-dist/commands/reviewer.md +7 -0
- package/pennyfarthing-dist/commands/run-ci.md +116 -0
- package/pennyfarthing-dist/commands/set-theme.md +56 -0
- package/pennyfarthing-dist/commands/show-theme.md +21 -0
- package/pennyfarthing-dist/commands/sm.md +7 -0
- package/pennyfarthing-dist/commands/solo.md +447 -0
- package/pennyfarthing-dist/commands/sprint-planning.md +109 -0
- package/pennyfarthing-dist/commands/sprint.md +133 -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 +7 -0
- package/pennyfarthing-dist/commands/tech-writer.md +7 -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 +7 -0
- package/pennyfarthing-dist/commands/work.md +23 -0
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/agent-behavior.md +311 -0
- package/pennyfarthing-dist/guides/agent-coordination.md +480 -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/workflow-schema.md +257 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +113 -0
- package/pennyfarthing-dist/guides/xml-tags.md +335 -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/BENCHMARK-METHODOLOGY.md +105 -0
- package/pennyfarthing-dist/personas/OCEAN-BENCHMARKING.md +210 -0
- package/pennyfarthing-dist/personas/TRAIL-OCEAN-MAPPING.md +168 -0
- package/pennyfarthing-dist/personas/ZEITGEIST-ANALYSIS.md +171 -0
- package/pennyfarthing-dist/personas/attributes.yaml +69 -0
- package/pennyfarthing-dist/personas/scripts/add-zeitgeist-calibrated.py +81 -0
- package/pennyfarthing-dist/personas/scripts/add-zeitgeist-scores.sh +56 -0
- package/pennyfarthing-dist/personas/themes/1984.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/a-team.yaml +331 -0
- package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +324 -0
- package/pennyfarthing-dist/personas/themes/all-stars.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +298 -0
- package/pennyfarthing-dist/personas/themes/arcane.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +327 -0
- package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/babylon-5.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/black-sails.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +289 -0
- package/pennyfarthing-dist/personas/themes/bobiverse.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +319 -0
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/classical-composers.yaml +302 -0
- package/pennyfarthing-dist/personas/themes/control.yaml +201 -0
- package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +315 -0
- package/pennyfarthing-dist/personas/themes/deadwood.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/dickens.yaml +312 -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/don-quixote.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/dune.yaml +301 -0
- package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/fargo.yaml +322 -0
- package/pennyfarthing-dist/personas/themes/film-auteurs.yaml +304 -0
- package/pennyfarthing-dist/personas/themes/firefly.yaml +320 -0
- package/pennyfarthing-dist/personas/themes/foundation.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/futurama.yaml +313 -0
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +284 -0
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +365 -0
- package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +300 -0
- package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +300 -0
- package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/hannibal.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +316 -0
- package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +285 -0
- package/pennyfarthing-dist/personas/themes/historical-figures.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +323 -0
- package/pennyfarthing-dist/personas/themes/house-md.yaml +313 -0
- package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/inspector-morse.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/jane-austen.yaml +281 -0
- package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/justified.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +343 -0
- package/pennyfarthing-dist/personas/themes/les-miserables.yaml +293 -0
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +326 -0
- package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +325 -0
- package/pennyfarthing-dist/personas/themes/mad-max.yaml +349 -0
- package/pennyfarthing-dist/personas/themes/mad-men.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/mash.yaml +329 -0
- package/pennyfarthing-dist/personas/themes/mass-effect.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/military-commanders.yaml +298 -0
- package/pennyfarthing-dist/personas/themes/moby-dick.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +297 -0
- package/pennyfarthing-dist/personas/themes/neuromancer.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +321 -0
- package/pennyfarthing-dist/personas/themes/parks-and-rec.yaml +364 -0
- package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +292 -0
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +344 -0
- package/pennyfarthing-dist/personas/themes/renaissance-masters.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/rome.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/russian-masters.yaml +310 -0
- package/pennyfarthing-dist/personas/themes/sandman.yaml +282 -0
- package/pennyfarthing-dist/personas/themes/scientific-revolutionaries.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/shakespeare.yaml +295 -0
- package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +283 -0
- package/pennyfarthing-dist/personas/themes/snow-crash.yaml +290 -0
- package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +358 -0
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +327 -0
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +297 -0
- package/pennyfarthing-dist/personas/themes/succession.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/superfriends.yaml +332 -0
- package/pennyfarthing-dist/personas/themes/ted-lasso.yaml +359 -0
- package/pennyfarthing-dist/personas/themes/the-americans.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-crown.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +337 -0
- package/pennyfarthing-dist/personas/themes/the-good-place.yaml +315 -0
- package/pennyfarthing-dist/personas/themes/the-matrix.yaml +342 -0
- package/pennyfarthing-dist/personas/themes/the-odyssey.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-office.yaml +323 -0
- package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +300 -0
- package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/the-wire.yaml +303 -0
- package/pennyfarthing-dist/personas/themes/the-witcher.yaml +294 -0
- package/pennyfarthing-dist/personas/themes/twin-peaks.yaml +296 -0
- package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +294 -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/world-explorers.yaml +312 -0
- package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +299 -0
- package/pennyfarthing-dist/personas/themes/x-files.yaml +296 -0
- package/pennyfarthing-dist/personas/zeitgeist-scores.yaml +1172 -0
- package/pennyfarthing-dist/scripts/README.md +87 -0
- package/pennyfarthing-dist/scripts/core/README.md +26 -0
- package/pennyfarthing-dist/scripts/core/agent-session.sh +383 -0
- package/pennyfarthing-dist/scripts/core/check-context.sh +280 -0
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +101 -0
- package/pennyfarthing-dist/scripts/core/phase-check-start.sh +95 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +30 -0
- package/pennyfarthing-dist/scripts/core/run.sh +92 -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 +91 -0
- package/pennyfarthing-dist/scripts/git/release.sh +215 -0
- package/pennyfarthing-dist/scripts/git/worktree-manager.sh +494 -0
- package/pennyfarthing-dist/scripts/health/drift-detection.sh +162 -0
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/bell-mode-hook.sh +106 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +60 -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 +166 -0
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +107 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +71 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +54 -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/session-start.sh +97 -0
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +65 -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 +101 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +97 -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 +266 -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 +35 -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 +97 -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 +91 -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 +122 -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 +219 -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 +259 -0
- package/pennyfarthing-dist/scripts/misc/uninstall.sh +270 -0
- package/pennyfarthing-dist/scripts/misc/validate-subagent-frontmatter.sh +160 -0
- package/pennyfarthing-dist/scripts/portraits/generate-portraits.py +400 -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 +139 -0
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +97 -0
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +164 -0
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +58 -0
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +69 -0
- package/pennyfarthing-dist/scripts/sprint/import-epic-to-future.sh +10 -0
- package/pennyfarthing-dist/scripts/sprint/import_epic_to_future.py +270 -0
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +151 -0
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +116 -0
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +154 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-common.sh +421 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +39 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-metrics.sh +241 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
- package/pennyfarthing-dist/scripts/story/README.md +23 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +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 +105 -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 +73 -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/finish-story.sh +159 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +228 -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 +130 -0
- package/pennyfarthing-dist/scripts/workflow/phase-owner.sh +40 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +138 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +256 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +242 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +367 -0
- package/pennyfarthing-dist/skills/code-review/SKILL.md +168 -0
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +274 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +88 -0
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +437 -0
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +258 -0
- package/pennyfarthing-dist/skills/jira/SKILL.md +484 -0
- package/pennyfarthing-dist/skills/judge/SKILL.md +636 -0
- package/pennyfarthing-dist/skills/just/SKILL.md +403 -0
- package/pennyfarthing-dist/skills/mermaid/SKILL.md +240 -0
- package/pennyfarthing-dist/skills/otel/skill.md +223 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +172 -0
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +178 -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 +86 -0
- package/pennyfarthing-dist/skills/sprint/skill.md +465 -0
- package/pennyfarthing-dist/skills/story/scripts/create-story.sh +159 -0
- package/pennyfarthing-dist/skills/story/scripts/size-story.sh +198 -0
- package/pennyfarthing-dist/skills/story/scripts/story-template.sh +162 -0
- package/pennyfarthing-dist/skills/story/skill.md +219 -0
- package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +390 -0
- package/pennyfarthing-dist/skills/testing/SKILL.md +99 -0
- package/pennyfarthing-dist/skills/testing/references/troubleshooting.md +124 -0
- package/pennyfarthing-dist/skills/theme/skill.md +129 -0
- package/pennyfarthing-dist/skills/theme-creation/SKILL.md +174 -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 +337 -0
- package/pennyfarthing-dist/skills/yq/SKILL.md +264 -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 +101 -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 +101 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +93 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +115 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +138 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +142 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +160 -0
- package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +102 -0
- package/pennyfarthing-dist/workflows/architecture.yaml +65 -0
- package/pennyfarthing-dist/workflows/bdd.yaml +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 +256 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +153 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-05-import-to-future.md +122 -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 +101 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-02-categorize.md +116 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-03-execute.md +224 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-04-verify.md +88 -0
- package/pennyfarthing-dist/workflows/git-cleanup/steps/step-05-complete.md +79 -0
- package/pennyfarthing-dist/workflows/git-cleanup.yaml +59 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +4 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +40 -0
- package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +13 -0
- package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +197 -0
- package/pennyfarthing-dist/workflows/prd/data/project-types.csv +11 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +207 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +231 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +180 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +10 -0
- package/pennyfarthing-dist/workflows/prd/workflow.yaml +42 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +177 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +161 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +199 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +202 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +205 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +219 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +194 -0
- package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +10 -0
- package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +31 -0
- package/pennyfarthing-dist/workflows/project-context/project-context-template.md +21 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +184 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +318 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +278 -0
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +189 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +144 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +128 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +191 -0
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +229 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +238 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +206 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +234 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +443 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +182 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +237 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +200 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +249 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +259 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +177 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +475 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +248 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +202 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +486 -0
- package/pennyfarthing-dist/workflows/research/templates/research.template.md +29 -0
- package/pennyfarthing-dist/workflows/research/workflow.yaml +45 -0
- package/pennyfarthing-dist/workflows/retrospective/checklist.md +31 -0
- package/pennyfarthing-dist/workflows/retrospective/instructions.md +1443 -0
- package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +33 -0
- package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +55 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +54 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +44 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +64 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +73 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +56 -0
- package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
- package/pennyfarthing-dist/workflows/tdd.yaml +50 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +40 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +135 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +127 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +216 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +219 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +234 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +252 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +254 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +241 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +248 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +237 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +228 -0
- package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
- package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
|
@@ -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/run.sh git/worktree-manager.sh create [story-id] feat/[story-id]-[description]
|
|
104
|
+
|
|
105
|
+
# Example: Story 5-2
|
|
106
|
+
./scripts/run.sh git/worktree-manager.sh create 5-2 feat/5-2-csv-import
|
|
107
|
+
|
|
108
|
+
# For API-only work
|
|
109
|
+
./scripts/run.sh git/worktree-manager.sh create [story-id] feat/[story-id]-[description] api
|
|
110
|
+
|
|
111
|
+
# For UI-only work
|
|
112
|
+
./scripts/run.sh 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/run.sh 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,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: DevOps Engineer - Infrastructure and deployment automation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
d="$PWD"; while [[ ! -d "$d/.claude" ]] && [[ "$d" != "/" ]]; do d="$(dirname "$d")"; done; "$d/.pennyfarthing/scripts/core/run.sh" core/agent-session.sh start "devops"
|
|
7
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
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.
|
|
9
|
+
|
|
10
|
+
## Quick Start
|
|
11
|
+
|
|
12
|
+
Run `/git-cleanup` to start the stepped workflow.
|
|
13
|
+
|
|
14
|
+
## Workflow Steps
|
|
15
|
+
|
|
16
|
+
| Step | Name | Purpose |
|
|
17
|
+
|------|------|---------|
|
|
18
|
+
| 1 | Analyze | Check stash, gather git status |
|
|
19
|
+
| 2 | Categorize | Group changes by initiative |
|
|
20
|
+
| 3 | Execute | Create branches, commit, merge |
|
|
21
|
+
| 4 | Verify | Confirm clean state, push |
|
|
22
|
+
| 5 | Complete | Verify stash empty, summary |
|
|
23
|
+
|
|
24
|
+
## Critical Rules
|
|
25
|
+
|
|
26
|
+
- **NEVER** commit directly to develop (use branches)
|
|
27
|
+
- **NEVER** force push
|
|
28
|
+
- **ALWAYS** check stash before starting (`git stash list`)
|
|
29
|
+
- **ALWAYS** clear stash after completing (with user permission)
|
|
30
|
+
- **ALWAYS** check stash before assuming work is lost
|
|
31
|
+
|
|
32
|
+
## Stash Safety
|
|
33
|
+
|
|
34
|
+
Work is rarely lost - it's usually in stash:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
git stash list # Check for saved work
|
|
38
|
+
git stash show -p stash@{0} # See contents
|
|
39
|
+
git stash pop # Restore it
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Commit Types
|
|
43
|
+
|
|
44
|
+
| Prefix | Use For |
|
|
45
|
+
|--------|---------|
|
|
46
|
+
| `feat:` | New features |
|
|
47
|
+
| `fix:` | Bug fixes |
|
|
48
|
+
| `chore:` | Maintenance |
|
|
49
|
+
| `docs:` | Documentation |
|
|
50
|
+
| `refactor:` | Code improvement |
|
|
51
|
+
| `test:` | Test changes |
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Check Pennyfarthing installation health and apply updates
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
./scripts/run.sh core/agent-session.sh start "devops"
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
<agent-activation>
|
|
10
|
+
1. Load DevOps agent for infrastructure work
|
|
11
|
+
2. Run health check via CLI
|
|
12
|
+
</agent-activation>
|
|
13
|
+
|
|
14
|
+
<purpose>
|
|
15
|
+
Examine current Pennyfarthing installation, detect drift from expected state, and guide user through fixes/updates.
|
|
16
|
+
</purpose>
|
|
17
|
+
|
|
18
|
+
<when-to-use>
|
|
19
|
+
- After updating Pennyfarthing (`pennyfarthing update`)
|
|
20
|
+
- When something seems broken
|
|
21
|
+
- Periodic health verification
|
|
22
|
+
- Before starting new sprint
|
|
23
|
+
</when-to-use>
|
|
24
|
+
|
|
25
|
+
<health-checks>
|
|
26
|
+
|
|
27
|
+
## Health Check
|
|
28
|
+
|
|
29
|
+
Use the pennyfarthing CLI:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Full health check
|
|
33
|
+
pennyfarthing doctor
|
|
34
|
+
|
|
35
|
+
# Or via npx
|
|
36
|
+
npx pennyfarthing doctor
|
|
37
|
+
|
|
38
|
+
# Auto-fix issues
|
|
39
|
+
pennyfarthing doctor --fix
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
The CLI checks:
|
|
43
|
+
- manifest.json exists and is valid
|
|
44
|
+
- All managed files present in .claude/pennyfarthing/
|
|
45
|
+
- Symlinks point to correct targets
|
|
46
|
+
- User directories exist (.claude/project/)
|
|
47
|
+
- Settings paths are correct
|
|
48
|
+
- Hook scripts are executable
|
|
49
|
+
|
|
50
|
+
## Check for Updates
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Check if update available
|
|
54
|
+
pennyfarthing update --check
|
|
55
|
+
|
|
56
|
+
# Apply update
|
|
57
|
+
pennyfarthing update
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
</health-checks>
|
|
61
|
+
|
|
62
|
+
<output-format>
|
|
63
|
+
|
|
64
|
+
```markdown
|
|
65
|
+
# Pennyfarthing Health Check
|
|
66
|
+
|
|
67
|
+
## Installation: npm v2.2.x
|
|
68
|
+
## Status: [HEALTHY | NEEDS_UPDATE | NEEDS_FIX]
|
|
69
|
+
|
|
70
|
+
### Checks
|
|
71
|
+
| Check | Status | Detail |
|
|
72
|
+
|-------|--------|--------|
|
|
73
|
+
| Installation | OK | npm v2.2.0 |
|
|
74
|
+
| Core Files | OK | All present |
|
|
75
|
+
| Symlinks | OK | All valid |
|
|
76
|
+
| User Files | OK | 10 sidecars |
|
|
77
|
+
| Directories | OK | sprint/, .session/ |
|
|
78
|
+
| Hooks | WARN | Not executable |
|
|
79
|
+
|
|
80
|
+
### Recommended Actions
|
|
81
|
+
1. [Action with command to run]
|
|
82
|
+
2. [Action with command to run]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
</output-format>
|
|
86
|
+
|
|
87
|
+
<auto-fixes>
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
pennyfarthing doctor --fix
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
The CLI can auto-fix:
|
|
94
|
+
- Broken symlinks
|
|
95
|
+
- Missing directories
|
|
96
|
+
- Outdated settings format
|
|
97
|
+
- Non-executable hooks
|
|
98
|
+
|
|
99
|
+
**Always ask before applying fixes.**
|
|
100
|
+
|
|
101
|
+
</auto-fixes>
|
|
102
|
+
|
|
103
|
+
<drift-detection>
|
|
104
|
+
|
|
105
|
+
## Agent Behavior Drift Detection
|
|
106
|
+
|
|
107
|
+
Check if agents are following expected behavioral patterns:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Run drift detection
|
|
111
|
+
.pennyfarthing/scripts/core/run.sh health/drift-detection.sh
|
|
112
|
+
|
|
113
|
+
# Verbose mode (see individual files)
|
|
114
|
+
.pennyfarthing/scripts/core/run.sh health/drift-detection.sh --verbose
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
The script analyzes archived session files for:
|
|
118
|
+
|
|
119
|
+
| Agent | Checks For |
|
|
120
|
+
|-------|------------|
|
|
121
|
+
| **Reviewer** | Substantive comments (not just approvals) |
|
|
122
|
+
| **Dev** | Test evidence when declaring GREEN |
|
|
123
|
+
| **SM** | Structured handoff sections with target agent |
|
|
124
|
+
| **TEA** | Test file references before Dev handoff |
|
|
125
|
+
|
|
126
|
+
**Healthy rates:** Under 10% drift is considered normal.
|
|
127
|
+
|
|
128
|
+
**When drift is high:**
|
|
129
|
+
- Review agent behavior files for clarity
|
|
130
|
+
- Add explicit gates/checklists
|
|
131
|
+
- Consider making critical behaviors automatic via scripts
|
|
132
|
+
|
|
133
|
+
</drift-detection>
|
|
134
|
+
|
|
135
|
+
<reference>
|
|
136
|
+
- **CLI:** `pennyfarthing doctor`, `pennyfarthing update`
|
|
137
|
+
- **Manifest:** `.claude/manifest.json` (tracks version and file hashes)
|
|
138
|
+
- **Source:** `.claude/pennyfarthing/` (managed files)
|
|
139
|
+
- **Symlinks:** `.pennyfarthing/agents/`, `.claude/commands/`, etc.
|
|
140
|
+
- **Drift Detection:** `.pennyfarthing/scripts/health/drift-detection.sh`
|
|
141
|
+
</reference>
|