@pennyfarthing/core 7.0.2 → 7.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +14 -0
- package/README.md +2 -2
- package/package.json +11 -10
- package/packages/core/dist/cli/commands/cyclist.d.ts +2 -2
- package/packages/core/dist/cli/commands/cyclist.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.js +8 -9
- package/packages/core/dist/cli/commands/cyclist.js.map +1 -1
- package/packages/core/dist/cli/commands/cyclist.test.js +6 -4
- package/packages/core/dist/cli/commands/cyclist.test.js.map +1 -1
- package/packages/core/dist/cli/commands/init.js +4 -3
- package/packages/core/dist/cli/commands/init.js.map +1 -1
- package/packages/core/dist/cli/commands/update.d.ts.map +1 -1
- package/packages/core/dist/cli/commands/update.js +15 -139
- package/packages/core/dist/cli/commands/update.js.map +1 -1
- package/packages/core/dist/cli/cyclist-migration.test.js +4 -3
- package/packages/core/dist/cli/cyclist-migration.test.js.map +1 -1
- package/packages/core/dist/cli/utils/constants.d.ts +7 -1
- package/packages/core/dist/cli/utils/constants.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/constants.js +4 -2
- package/packages/core/dist/cli/utils/constants.js.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/node-modules.js +2 -1
- package/packages/core/dist/cli/utils/node-modules.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.d.ts +1 -4
- package/packages/core/dist/cli/utils/themes.d.ts.map +1 -1
- package/packages/core/dist/cli/utils/themes.js +2 -22
- package/packages/core/dist/cli/utils/themes.js.map +1 -1
- package/packages/core/dist/cli/utils/themes.test.d.ts +3 -3
- package/packages/core/dist/cli/utils/themes.test.js +16 -13
- package/packages/core/dist/cli/utils/themes.test.js.map +1 -1
- package/packages/core/dist/cli/workspace.test.js +11 -9
- package/packages/core/dist/cli/workspace.test.js.map +1 -1
- package/packages/core/dist/index.d.ts +1 -0
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +10 -0
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/jira/jira-epic-creation.d.ts +109 -0
- package/packages/core/dist/jira/jira-epic-creation.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.js +253 -0
- package/packages/core/dist/jira/jira-epic-creation.js.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-epic-creation.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js +387 -0
- package/packages/core/dist/jira/jira-epic-creation.test.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts +247 -0
- package/packages/core/dist/jira/jira-sprint-sync.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.js +670 -0
- package/packages/core/dist/jira/jira-sprint-sync.js.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts +16 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.d.ts.map +1 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js +845 -0
- package/packages/core/dist/jira/jira-sprint-sync.test.js.map +1 -0
- package/packages/core/dist/scripts/generate-spider.d.ts +11 -1
- package/packages/core/dist/scripts/generate-spider.d.ts.map +1 -1
- package/packages/core/dist/scripts/generate-spider.js +24 -1
- package/packages/core/dist/scripts/generate-spider.js.map +1 -1
- package/packages/core/dist/scripts/generate-spider.test.js +6 -4
- package/packages/core/dist/scripts/generate-spider.test.js.map +1 -1
- package/packages/core/dist/workflow/gate-handler.d.ts +94 -0
- package/packages/core/dist/workflow/gate-handler.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.js +189 -0
- package/packages/core/dist/workflow/gate-handler.js.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts +14 -0
- package/packages/core/dist/workflow/gate-handler.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/gate-handler.test.js +543 -0
- package/packages/core/dist/workflow/gate-handler.test.js.map +1 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts +46 -0
- package/packages/core/dist/workflow/generic-handoff.d.ts.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.js +53 -0
- package/packages/core/dist/workflow/generic-handoff.js.map +1 -1
- package/packages/core/dist/workflow/generic-handoff.test.js +2 -2
- package/packages/core/dist/workflow/generic-handoff.test.js.map +1 -1
- package/packages/core/dist/workflow/handoff.d.ts +281 -0
- package/packages/core/dist/workflow/handoff.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.js +411 -0
- package/packages/core/dist/workflow/handoff.js.map +1 -0
- package/packages/core/dist/workflow/handoff.test.d.ts +21 -0
- package/packages/core/dist/workflow/handoff.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/handoff.test.js +499 -0
- package/packages/core/dist/workflow/handoff.test.js.map +1 -0
- package/packages/core/dist/workflow/index.d.ts +16 -0
- package/packages/core/dist/workflow/index.d.ts.map +1 -0
- package/packages/core/dist/workflow/index.js +24 -0
- package/packages/core/dist/workflow/index.js.map +1 -0
- package/packages/core/dist/workflow/session-state.d.ts +92 -0
- package/packages/core/dist/workflow/session-state.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.js +198 -0
- package/packages/core/dist/workflow/session-state.js.map +1 -0
- package/packages/core/dist/workflow/session-state.test.d.ts +8 -0
- package/packages/core/dist/workflow/session-state.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/session-state.test.js +551 -0
- package/packages/core/dist/workflow/session-state.test.js.map +1 -0
- package/packages/core/dist/workflow/sm-subagents.test.d.ts +2 -2
- package/packages/core/dist/workflow/sm-subagents.test.js +6 -6
- package/packages/core/dist/workflow/sm-subagents.test.js.map +1 -1
- package/packages/core/dist/workflow/step-parser.d.ts +45 -0
- package/packages/core/dist/workflow/step-parser.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.js +147 -0
- package/packages/core/dist/workflow/step-parser.js.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts +14 -0
- package/packages/core/dist/workflow/step-parser.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/step-parser.test.js +470 -0
- package/packages/core/dist/workflow/step-parser.test.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.d.ts +86 -0
- package/packages/core/dist/workflow/trimodal.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.js +118 -0
- package/packages/core/dist/workflow/trimodal.js.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts +11 -0
- package/packages/core/dist/workflow/trimodal.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/trimodal.test.js +395 -0
- package/packages/core/dist/workflow/trimodal.test.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts +67 -0
- package/packages/core/dist/workflow/variable-resolver.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.js +156 -0
- package/packages/core/dist/workflow/variable-resolver.js.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts +14 -0
- package/packages/core/dist/workflow/variable-resolver.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/variable-resolver.test.js +400 -0
- package/packages/core/dist/workflow/variable-resolver.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts +163 -0
- package/packages/core/dist/workflow/workflow-executor.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.js +197 -0
- package/packages/core/dist/workflow/workflow-executor.js.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts +8 -0
- package/packages/core/dist/workflow/workflow-executor.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-executor.test.js +444 -0
- package/packages/core/dist/workflow/workflow-executor.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-loader.test.js +5 -5
- package/packages/core/dist/workflow/workflow-loader.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-migration.test.js +8 -9
- package/packages/core/dist/workflow/workflow-migration.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-permissions.d.ts +55 -0
- package/packages/core/dist/workflow/workflow-permissions.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.js +64 -0
- package/packages/core/dist/workflow/workflow-permissions.js.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts +15 -0
- package/packages/core/dist/workflow/workflow-permissions.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js +301 -0
- package/packages/core/dist/workflow/workflow-permissions.test.js.map +1 -0
- package/packages/core/dist/workflow/workflow-schema.d.ts +61 -2
- package/packages/core/dist/workflow/workflow-schema.d.ts.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.js +293 -69
- package/packages/core/dist/workflow/workflow-schema.js.map +1 -1
- package/packages/core/dist/workflow/workflow-schema.test.js +6 -6
- package/packages/core/dist/workflow/workflow-schema.test.js.map +1 -1
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts +18 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.d.ts.map +1 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js +608 -0
- package/packages/core/dist/workflow/workflow-stepped-schema.test.js.map +1 -0
- package/pennyfarthing-dist/agents/README.md +63 -134
- package/pennyfarthing-dist/agents/architect.md +18 -10
- package/pennyfarthing-dist/agents/dev.md +47 -32
- package/pennyfarthing-dist/agents/devops.md +18 -9
- package/pennyfarthing-dist/agents/handoff.md +289 -0
- package/pennyfarthing-dist/agents/orchestrator.md +44 -22
- package/pennyfarthing-dist/agents/pm.md +13 -8
- package/pennyfarthing-dist/agents/reviewer-preflight.md +42 -128
- package/pennyfarthing-dist/agents/reviewer.md +104 -57
- package/pennyfarthing-dist/agents/sm-file-summary.md +24 -75
- package/pennyfarthing-dist/agents/sm-finish.md +61 -0
- package/pennyfarthing-dist/agents/sm-handoff.md +102 -54
- package/pennyfarthing-dist/agents/sm-setup.md +174 -0
- package/pennyfarthing-dist/agents/sm.md +223 -100
- package/pennyfarthing-dist/agents/tea.md +42 -34
- package/pennyfarthing-dist/agents/tech-writer.md +74 -6
- package/pennyfarthing-dist/agents/testing-runner.md +78 -360
- package/pennyfarthing-dist/agents/ux-designer.md +80 -7
- package/pennyfarthing-dist/agents/workflow-status-check.md +35 -299
- package/pennyfarthing-dist/commands/architect.md +2 -2
- package/pennyfarthing-dist/commands/close-epic.md +5 -2
- package/pennyfarthing-dist/commands/create-branches-from-story.md +7 -23
- package/pennyfarthing-dist/commands/dev.md +2 -2
- package/pennyfarthing-dist/commands/devops.md +3 -3
- package/pennyfarthing-dist/commands/git-cleanup.md +5 -5
- package/pennyfarthing-dist/commands/health-check.md +1 -1
- package/pennyfarthing-dist/commands/list-themes.md +7 -3
- package/pennyfarthing-dist/commands/orchestrator.md +2 -2
- package/pennyfarthing-dist/commands/parallel-work.md +4 -4
- package/pennyfarthing-dist/commands/pm.md +2 -2
- package/pennyfarthing-dist/commands/prime.md +7 -7
- package/pennyfarthing-dist/commands/release.md +1 -1
- package/pennyfarthing-dist/commands/repo-status.md +2 -2
- package/pennyfarthing-dist/commands/retro.md +2 -2
- package/pennyfarthing-dist/commands/reviewer.md +2 -2
- package/pennyfarthing-dist/commands/set-theme.md +5 -1
- package/pennyfarthing-dist/commands/sm.md +2 -2
- package/pennyfarthing-dist/commands/start-epic.md +26 -14
- package/pennyfarthing-dist/commands/sync-epic-to-jira.md +8 -8
- package/pennyfarthing-dist/commands/sync-work-with-sprint.md +1 -4
- package/pennyfarthing-dist/commands/tea.md +2 -2
- package/pennyfarthing-dist/commands/tech-writer.md +2 -2
- package/pennyfarthing-dist/commands/ux-designer.md +3 -3
- package/pennyfarthing-dist/commands/work.md +15 -4
- package/pennyfarthing-dist/commands/workflow.md +21 -0
- package/pennyfarthing-dist/guides/AGENT-COORDINATION.md +15 -15
- package/pennyfarthing-dist/guides/PROMPT-PATTERNS.md +1 -1
- package/pennyfarthing-dist/guides/SESSION-ARTIFACTS.md +4 -4
- package/pennyfarthing-dist/guides/agent-behavior.md +238 -0
- package/pennyfarthing-dist/guides/agent-template-strategic.md +2 -2
- package/pennyfarthing-dist/guides/agent-template-tactical.md +4 -4
- package/pennyfarthing-dist/guides/patterns/approval-gates-pattern.md +1 -1
- package/pennyfarthing-dist/guides/patterns/helper-delegation-pattern.md +17 -17
- package/pennyfarthing-dist/guides/patterns/tdd-flow-pattern.md +8 -8
- package/pennyfarthing-dist/guides/workflow-schema.md +62 -0
- package/pennyfarthing-dist/guides/worktree-mode.md +5 -5
- package/pennyfarthing-dist/personas/themes/1984.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/a-team.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/agatha-christie.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/alice-in-wonderland.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/all-stars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-philosophers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/ancient-strategists.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arcane.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/arthurian-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/avatar-the-last-airbender.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/babylon-5.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/battlestar-galactica.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/better-call-saul.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/big-lebowski.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/black-sails.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/blade-runner.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/bobiverse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/breaking-bad.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/catch-22.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/classical-composers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/control.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/count-of-monte-cristo.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/cowboy-bebop.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/deadwood.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/discworld.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/doctor-who.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/enlightenment-thinkers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/expeditionary-force.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/firefly.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/foundation.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/futurama.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/game-of-thrones.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/gilligans-island.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/gothic-literature.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/great-gatsby.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/greek-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/harry-potter.yaml +2 -2
- package/pennyfarthing-dist/personas/themes/his-dark-materials.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/historical-figures.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/hitchhikers-guide.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/house-md.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/imperial-radch.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jane-austen.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/jazz-legends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/justified.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/legion-of-doom.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/les-miserables.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lord-of-the-rings.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/lovecraft-mythos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mad-men.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/marvel-mcu.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/mash.yaml +69 -66
- package/pennyfarthing-dist/personas/themes/mass-effect.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/military-commanders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/moby-dick.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/monty-python.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/neuromancer.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/norse-mythology.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/peaky-blinders.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/princess-bride.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/rome.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/russian-masters.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sandman.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/shakespeare.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/sherlock-holmes.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/snow-crash.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/software-pioneers.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tng.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-trek-tos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/star-wars.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/superfriends.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-americans.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-crown.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-expanse.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-good-place.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-office.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-simpsons.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-sopranos.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-wire.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/the-witcher.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/vorkosigan-saga.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/west-wing.yaml +1 -1
- package/pennyfarthing-dist/personas/themes/wwii-leaders.yaml +1 -1
- package/pennyfarthing-dist/scripts/README.md +68 -0
- package/pennyfarthing-dist/scripts/core/README.md +26 -0
- package/pennyfarthing-dist/scripts/{agent-session.sh → core/agent-session.sh} +34 -23
- package/pennyfarthing-dist/scripts/{check-context.sh → core/check-context.sh} +93 -37
- package/pennyfarthing-dist/scripts/core/handoff-marker.sh +90 -0
- package/pennyfarthing-dist/scripts/core/prime.sh +136 -0
- package/pennyfarthing-dist/scripts/core/run.sh +75 -0
- package/pennyfarthing-dist/scripts/cyclist/is-cyclist.sh +21 -0
- package/pennyfarthing-dist/scripts/git/README.md +25 -0
- package/pennyfarthing-dist/scripts/{utils → git}/create-feature-branches.sh +11 -15
- package/pennyfarthing-dist/scripts/{utils → git}/git-status-all.sh +1 -1
- package/pennyfarthing-dist/scripts/{install-git-hooks.sh → git/install-git-hooks.sh} +0 -0
- package/pennyfarthing-dist/scripts/{release.sh → git/release.sh} +0 -0
- package/pennyfarthing-dist/scripts/{worktree-manager.sh → git/worktree-manager.sh} +0 -4
- package/pennyfarthing-dist/scripts/hooks/README.md +32 -0
- package/pennyfarthing-dist/scripts/hooks/context-circuit-breaker.sh +3 -4
- package/pennyfarthing-dist/scripts/hooks/context-warning.sh +1 -2
- package/pennyfarthing-dist/scripts/hooks/otel-auto-config.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/post-merge.sh +1 -1
- package/pennyfarthing-dist/scripts/hooks/pre-commit.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-edit-check.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/pre-push.sh +0 -0
- package/pennyfarthing-dist/scripts/hooks/session-start.sh +2 -3
- package/pennyfarthing-dist/scripts/hooks/session-stop.sh +2 -3
- package/pennyfarthing-dist/scripts/jira/README.md +33 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/scripts/jira/create-jira-story.sh +97 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.mjs +327 -0
- package/pennyfarthing-dist/scripts/jira/jira-bidirectional-sync.test.mjs +503 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-claim-story.sh +8 -6
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-lib.mjs +10 -10
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-lib.sh +18 -17
- package/pennyfarthing-dist/scripts/jira/jira-reconcile.sh +266 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync-story.mjs +14 -14
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync-story.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils/jira → jira}/jira-sync.mjs +4 -4
- package/pennyfarthing-dist/scripts/{utils → jira}/jira-sync.sh +0 -0
- package/pennyfarthing-dist/scripts/jira/sync-epic-jira.sh +104 -0
- package/pennyfarthing-dist/scripts/{utils → jira}/sync-epic-to-jira.sh +1 -1
- package/pennyfarthing-dist/scripts/lib/README.md +29 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/background-tasks.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/checkpoint.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/common.sh +1 -1
- package/pennyfarthing-dist/scripts/{utils → lib}/file-lock.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/find-root.sh +7 -5
- package/pennyfarthing-dist/scripts/{utils → lib}/logging.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → lib}/retry.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/README.md +44 -0
- package/pennyfarthing-dist/scripts/{add-short-names.mjs → misc/add-short-names.mjs} +0 -0
- package/pennyfarthing-dist/scripts/misc/backlog.sh +91 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/check-status.sh +4 -8
- package/pennyfarthing-dist/scripts/{deploy.sh → misc/deploy.sh} +0 -0
- package/pennyfarthing-dist/scripts/{doctor-dogfood.sh → misc/doctor-dogfood.sh} +2 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/find-related-work.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/generate-skill-docs.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/log-skill-usage.sh +0 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.mjs +474 -0
- package/pennyfarthing-dist/scripts/misc/migrate-bmad-workflow.sh +9 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/repo-scan.sh +0 -0
- package/pennyfarthing-dist/scripts/{repo-utils.sh → misc/repo-utils.sh} +2 -2
- package/pennyfarthing-dist/scripts/{run-ci.sh → misc/run-ci.sh} +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/run-timestamp.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/session-cleanup.sh +0 -0
- package/pennyfarthing-dist/scripts/{utils → misc}/skill-usage-report.sh +0 -0
- package/pennyfarthing-dist/scripts/{statusline.sh → misc/statusline.sh} +2 -7
- package/pennyfarthing-dist/scripts/{uninstall.sh → misc/uninstall.sh} +4 -5
- package/pennyfarthing-dist/scripts/{utils → misc}/validate-subagent-frontmatter.sh +3 -3
- package/pennyfarthing-dist/scripts/sprint/README.md +29 -0
- package/pennyfarthing-dist/scripts/sprint/archive-story.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/available-stories.sh +97 -0
- package/pennyfarthing-dist/scripts/sprint/check-story.sh +164 -0
- package/pennyfarthing-dist/scripts/sprint/get-epic-field.sh +58 -0
- package/pennyfarthing-dist/scripts/sprint/get-story-field.sh +69 -0
- package/pennyfarthing-dist/scripts/sprint/list-future.sh +151 -0
- package/pennyfarthing-dist/scripts/sprint/new-sprint.sh +116 -0
- package/pennyfarthing-dist/scripts/sprint/promote-epic.sh +164 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-common.sh +135 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-info.sh +39 -0
- package/pennyfarthing-dist/scripts/{utils → sprint}/sprint-metrics.sh +0 -0
- package/pennyfarthing-dist/scripts/sprint/sprint-status.sh +134 -0
- package/pennyfarthing-dist/scripts/story/README.md +23 -0
- package/pennyfarthing-dist/scripts/story/create-story.sh +159 -0
- package/pennyfarthing-dist/scripts/story/size-story.sh +198 -0
- package/pennyfarthing-dist/scripts/story/story-template.sh +162 -0
- package/pennyfarthing-dist/scripts/test/README.md +23 -0
- package/pennyfarthing-dist/scripts/{utils → test}/swebench-judge.py +0 -0
- package/pennyfarthing-dist/scripts/test/test-cache.sh +165 -0
- package/pennyfarthing-dist/scripts/{utils → test}/test-setup.sh +5 -5
- package/pennyfarthing-dist/scripts/tests/check.test.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/dev-story-workflow-import.test.sh +515 -0
- package/pennyfarthing-dist/scripts/tests/epics-and-stories-workflow-import.test.sh +599 -0
- package/pennyfarthing-dist/scripts/tests/handoff-phase-update.test.sh +332 -0
- package/pennyfarthing-dist/scripts/tests/implementation-readiness-workflow-import.test.sh +573 -0
- package/pennyfarthing-dist/scripts/tests/migrate-bmad-workflow.test.sh +859 -0
- package/pennyfarthing-dist/scripts/tests/prd-workflow-import.test.sh +662 -0
- package/pennyfarthing-dist/scripts/tests/project-context-workflow-import.test.sh +589 -0
- package/pennyfarthing-dist/scripts/tests/test-character-voice.sh +7 -9
- package/pennyfarthing-dist/scripts/tests/test-drift-detection.sh +18 -18
- package/pennyfarthing-dist/scripts/tests/test-post-merge-hook.sh +10 -10
- package/pennyfarthing-dist/scripts/tests/test-session-checkpoint.sh +1 -1
- package/pennyfarthing-dist/scripts/tests/test-solo-command.sh +0 -0
- package/pennyfarthing-dist/scripts/tests/ux-design-workflow-import.test.sh +647 -0
- package/pennyfarthing-dist/scripts/theme/README.md +22 -0
- package/pennyfarthing-dist/scripts/theme/compute-theme-tiers.sh +203 -0
- package/pennyfarthing-dist/scripts/theme/list-themes.sh +73 -0
- package/pennyfarthing-dist/scripts/theme/update-theme-tiers.sh +97 -0
- package/pennyfarthing-dist/scripts/workflow/README.md +28 -0
- package/pennyfarthing-dist/scripts/{check.sh → workflow/check.sh} +0 -0
- package/pennyfarthing-dist/scripts/workflow/finish-story.sh +159 -0
- package/pennyfarthing-dist/scripts/workflow/fix-session-phase.sh +228 -0
- package/pennyfarthing-dist/scripts/workflow/list-workflows.sh +91 -0
- package/pennyfarthing-dist/scripts/workflow/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/scripts/workflow/show-workflow.sh +138 -0
- package/pennyfarthing-dist/scripts/workflow/start-workflow.sh +256 -0
- package/pennyfarthing-dist/scripts/workflow/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/agentic-patterns/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/changelog/SKILL.md +2 -2
- package/pennyfarthing-dist/skills/code-review/SKILL.md +3 -3
- package/pennyfarthing-dist/skills/context-engineering/SKILL.md +6 -0
- package/pennyfarthing-dist/skills/cyclist/SKILL.md +56 -139
- package/pennyfarthing-dist/skills/dev-patterns/SKILL.md +21 -5
- package/pennyfarthing-dist/skills/finalize-run/SKILL.md +1 -1
- package/pennyfarthing-dist/skills/jira/SKILL.md +381 -178
- package/pennyfarthing-dist/skills/judge/SKILL.md +76 -21
- package/pennyfarthing-dist/skills/just/SKILL.md +345 -102
- package/pennyfarthing-dist/skills/otel/skill.md +1 -0
- package/pennyfarthing-dist/skills/permissions/skill.md +1 -1
- package/pennyfarthing-dist/skills/persona-benchmark/SKILL.md +5 -0
- package/pennyfarthing-dist/skills/skill-registry.schema.json +5 -0
- package/pennyfarthing-dist/skills/skill-registry.yaml +22 -0
- package/pennyfarthing-dist/skills/sprint/scripts/archive-story.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/available-stories.sh +97 -0
- package/pennyfarthing-dist/skills/sprint/scripts/check-story.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/create-jira-epic.sh +101 -0
- package/pennyfarthing-dist/skills/sprint/scripts/new-sprint.sh +116 -0
- package/pennyfarthing-dist/skills/sprint/scripts/promote-epic.sh +164 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-info.sh +39 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sprint-status.sh +147 -0
- package/pennyfarthing-dist/skills/sprint/scripts/sync-epic-jira.sh +104 -0
- package/pennyfarthing-dist/skills/sprint/skill.md +465 -0
- package/pennyfarthing-dist/skills/story/scripts/create-story.sh +159 -0
- package/pennyfarthing-dist/skills/story/scripts/size-story.sh +198 -0
- package/pennyfarthing-dist/skills/story/scripts/story-template.sh +162 -0
- package/pennyfarthing-dist/skills/story/skill.md +219 -0
- package/pennyfarthing-dist/skills/systematic-debugging/SKILL.md +390 -0
- package/pennyfarthing-dist/skills/theme/skill.md +1 -1
- package/pennyfarthing-dist/skills/workflow/scripts/list-workflows.sh +91 -0
- package/pennyfarthing-dist/skills/workflow/scripts/resume-workflow.sh +163 -0
- package/pennyfarthing-dist/skills/workflow/scripts/show-workflow.sh +138 -0
- package/pennyfarthing-dist/skills/workflow/scripts/start-workflow.sh +273 -0
- package/pennyfarthing-dist/skills/workflow/scripts/workflow-status.sh +167 -0
- package/pennyfarthing-dist/skills/workflow/skill.md +337 -0
- package/pennyfarthing-dist/templates/settings.local.json.template +1 -1
- package/pennyfarthing-dist/workflows/agent-docs.yaml +1 -1
- package/pennyfarthing-dist/workflows/architecture/steps/step-01-initialize.md +101 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-01b-continue.md +93 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-02-context.md +115 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-03-patterns.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-04-components.md +138 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-05-interfaces.md +133 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-06-risks.md +142 -0
- package/pennyfarthing-dist/workflows/architecture/steps/step-07-document.md +160 -0
- package/pennyfarthing-dist/workflows/architecture/templates/architecture-decision.md +102 -0
- package/pennyfarthing-dist/workflows/architecture.yaml +65 -0
- package/pennyfarthing-dist/workflows/bdd.yaml +3 -1
- package/pennyfarthing-dist/workflows/brainstorming/brain-methods.csv +62 -0
- package/pennyfarthing-dist/workflows/brainstorming/checklist.md +44 -0
- package/pennyfarthing-dist/workflows/brainstorming/instructions.md +736 -0
- package/pennyfarthing-dist/workflows/brainstorming/workflow.yaml +49 -0
- package/pennyfarthing-dist/workflows/code-review/checklist.md +23 -0
- package/pennyfarthing-dist/workflows/code-review/instructions.md +234 -0
- package/pennyfarthing-dist/workflows/code-review/workflow.yaml +51 -0
- package/pennyfarthing-dist/workflows/dev-story/checklist.md +80 -0
- package/pennyfarthing-dist/workflows/dev-story/instructions.xml +410 -0
- package/pennyfarthing-dist/workflows/dev-story/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-01-validate-prerequisites.md +256 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-02-design-epics.md +233 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-03-create-stories.md +272 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/steps/step-04-final-validation.md +145 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/templates/epics-template.md +57 -0
- package/pennyfarthing-dist/workflows/epics-and-stories/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-01-document-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-02-prd-analysis.md +178 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-03-epic-coverage-validation.md +179 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-04-ux-alignment.md +139 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-05-epic-quality-review.md +252 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/steps/step-06-final-assessment.md +133 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/templates/readiness-report-template.md +4 -0
- package/pennyfarthing-dist/workflows/implementation-readiness/workflow.yaml +40 -0
- package/pennyfarthing-dist/workflows/prd/data/domain-complexity.csv +13 -0
- package/pennyfarthing-dist/workflows/prd/data/prd-purpose.md +197 -0
- package/pennyfarthing-dist/workflows/prd/data/project-types.csv +11 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01-init.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-01b-continue.md +153 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-02-discovery.md +224 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-03-success.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-04-journeys.md +213 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-05-domain.md +207 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-06-innovation.md +226 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-07-project-type.md +237 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-08-scoping.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-09-functional.md +231 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-10-nonfunctional.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-11-polish.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-c/step-12-complete.md +180 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01-discovery.md +247 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-01b-legacy-conversion.md +208 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-02-review.md +249 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-03-edit.md +253 -0
- package/pennyfarthing-dist/workflows/prd/steps-e/step-e-04-complete.md +168 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-01-discovery.md +218 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02-format-detection.md +191 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-02b-parity-check.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-03-density-validation.md +174 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-04-brief-coverage-validation.md +214 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-05-measurability-validation.md +228 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-06-traceability-validation.md +217 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-07-implementation-leakage-validation.md +205 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-08-domain-compliance-validation.md +243 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-09-project-type-validation.md +263 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-10-smart-validation.md +209 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-11-holistic-quality-validation.md +264 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-12-completeness-validation.md +242 -0
- package/pennyfarthing-dist/workflows/prd/steps-v/step-v-13-report-complete.md +232 -0
- package/pennyfarthing-dist/workflows/prd/templates/prd-template.md +10 -0
- package/pennyfarthing-dist/workflows/prd/workflow.yaml +42 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01-init.md +177 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-01b-continue.md +161 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-02-vision.md +199 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-03-users.md +202 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-04-metrics.md +205 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-05-scope.md +219 -0
- package/pennyfarthing-dist/workflows/product-brief/steps/step-06-complete.md +194 -0
- package/pennyfarthing-dist/workflows/product-brief/templates/product-brief.template.md +10 -0
- package/pennyfarthing-dist/workflows/product-brief/workflow.yaml +31 -0
- package/pennyfarthing-dist/workflows/project-context/project-context-template.md +21 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-01-discover.md +184 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-02-generate.md +318 -0
- package/pennyfarthing-dist/workflows/project-context/steps/step-03-complete.md +278 -0
- package/pennyfarthing-dist/workflows/project-context/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-01-mode-detection.md +156 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-02-context-gathering.md +120 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-03-execute.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-04-self-check.md +113 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-05-adversarial-review.md +106 -0
- package/pennyfarthing-dist/workflows/quick-dev/steps/step-06-resolve-findings.md +140 -0
- package/pennyfarthing-dist/workflows/quick-dev/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-01-understand.md +189 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-02-investigate.md +144 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-03-generate.md +128 -0
- package/pennyfarthing-dist/workflows/quick-spec/steps/step-04-review.md +191 -0
- package/pennyfarthing-dist/workflows/quick-spec/tech-spec-template.md +74 -0
- package/pennyfarthing-dist/workflows/quick-spec/workflow.yaml +27 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-02-domain-analysis.md +229 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-03-competitive-landscape.md +238 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-04-regulatory-focus.md +206 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-05-technical-trends.md +234 -0
- package/pennyfarthing-dist/workflows/research/steps-domain/step-06-research-synthesis.md +443 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-01-init.md +182 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-behavior.md +237 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-02-customer-insights.md +200 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-03-customer-pain-points.md +249 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-04-customer-decisions.md +259 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-05-competitive-analysis.md +177 -0
- package/pennyfarthing-dist/workflows/research/steps-market/step-06-research-completion.md +475 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-01-init.md +137 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-02-technical-overview.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-03-integration-patterns.md +248 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-04-architectural-patterns.md +202 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-05-implementation-research.md +239 -0
- package/pennyfarthing-dist/workflows/research/steps-technical/step-06-research-synthesis.md +486 -0
- package/pennyfarthing-dist/workflows/research/templates/research.template.md +29 -0
- package/pennyfarthing-dist/workflows/research/workflow.yaml +45 -0
- package/pennyfarthing-dist/workflows/retrospective/checklist.md +31 -0
- package/pennyfarthing-dist/workflows/retrospective/instructions.md +1443 -0
- package/pennyfarthing-dist/workflows/retrospective/workflow.yaml +50 -0
- package/pennyfarthing-dist/workflows/sprint-planning/checklist.md +33 -0
- package/pennyfarthing-dist/workflows/sprint-planning/sprint-status-template.yaml +55 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-01-parse-epic-files.md +54 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-02-build-sprint-status.md +44 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-03-status-detection.md +64 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-04-generate-status-file.md +73 -0
- package/pennyfarthing-dist/workflows/sprint-planning/steps/step-05-validate-and-report.md +56 -0
- package/pennyfarthing-dist/workflows/sprint-planning/workflow.yaml +34 -0
- package/pennyfarthing-dist/workflows/trivial.yaml +1 -1
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01-init.md +135 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-01b-continue.md +127 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-02-discovery.md +190 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-03-core-experience.md +216 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-04-emotional-response.md +219 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-05-inspiration.md +234 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-06-design-system.md +252 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-07-defining-experience.md +254 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-08-visual-foundation.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-09-design-directions.md +224 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-10-user-journeys.md +241 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-11-component-strategy.md +248 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-12-ux-patterns.md +237 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-13-responsive-accessibility.md +264 -0
- package/pennyfarthing-dist/workflows/ux-design/steps/step-14-complete.md +228 -0
- package/pennyfarthing-dist/workflows/ux-design/ux-design-template.md +13 -0
- package/pennyfarthing-dist/workflows/ux-design/workflow.yaml +41 -0
- package/packages/core/dist/scripts/generate-all-faces.d.ts +0 -10
- package/packages/core/dist/scripts/generate-all-faces.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.js +0 -256
- package/packages/core/dist/scripts/generate-all-faces.js.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts +0 -17
- package/packages/core/dist/scripts/generate-all-faces.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-all-faces.test.js +0 -372
- package/packages/core/dist/scripts/generate-all-faces.test.js.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-ascii-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-ascii-face.js +0 -155
- package/packages/core/dist/scripts/generate-ascii-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.d.ts +0 -52
- package/packages/core/dist/scripts/generate-face.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.js +0 -199
- package/packages/core/dist/scripts/generate-face.js.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.d.ts +0 -13
- package/packages/core/dist/scripts/generate-face.test.d.ts.map +0 -1
- package/packages/core/dist/scripts/generate-face.test.js +0 -301
- package/packages/core/dist/scripts/generate-face.test.js.map +0 -1
- package/pennyfarthing-dist/agents/generic-handoff.md +0 -454
- package/pennyfarthing-dist/agents/generic-sm-finish.md +0 -261
- package/pennyfarthing-dist/agents/generic-sm-setup.md +0 -214
- package/pennyfarthing-dist/commands/new-work.md +0 -127
- package/pennyfarthing-dist/guides/AGENT-SCOPES.md +0 -201
- package/pennyfarthing-dist/guides/persona-system.md +0 -294
- package/pennyfarthing-dist/guides/shared-agent-behavior.md +0 -388
- package/pennyfarthing-dist/guides/shared-context.md +0 -147
- package/pennyfarthing-dist/guides/strategic-agent-behavior.md +0 -348
- package/pennyfarthing-dist/guides/tactical-agent-behavior.md +0 -1041
- package/pennyfarthing-dist/scripts/prime.sh +0 -161
- package/pennyfarthing-dist/scripts/run.sh +0 -65
- package/pennyfarthing-dist/skills/sprint-context/SKILL.md +0 -120
- package/pennyfarthing-dist/skills/story-management/SKILL.md +0 -208
- package/pennyfarthing-dist/skills/workflow/SKILL.md +0 -160
- /package/pennyfarthing-dist/commands/{brainstorm.md → brainstorming.md} +0 -0
- /package/pennyfarthing-dist/scripts/{utils → test}/ground-truth-judge.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: judge
|
|
3
|
-
description: Evaluate agent responses using standardized rubrics.
|
|
3
|
+
description: Evaluate agent responses using standardized rubrics. Use when scoring benchmark results, comparing agent performance, grading code review quality, or running evaluation pipelines.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Judge Skill
|
|
@@ -35,41 +35,61 @@ Canonical evaluation of agent responses. All judging goes through this skill.
|
|
|
35
35
|
|
|
36
36
|
## Relay Phase Rubrics
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
<details>
|
|
39
|
+
<summary><strong>SM Phase Rubric</strong></summary>
|
|
40
|
+
|
|
39
41
|
| Dimension | Weight |
|
|
40
42
|
|-----------|--------|
|
|
41
43
|
| Clarity | 30% |
|
|
42
44
|
| Handoff | 40% |
|
|
43
45
|
| Completeness | 30% |
|
|
44
46
|
|
|
45
|
-
|
|
47
|
+
</details>
|
|
48
|
+
|
|
49
|
+
<details>
|
|
50
|
+
<summary><strong>TEA Phase Rubric</strong></summary>
|
|
51
|
+
|
|
46
52
|
| Dimension | Weight |
|
|
47
53
|
|-----------|--------|
|
|
48
54
|
| Coverage | 35% |
|
|
49
55
|
| RED State | 35% |
|
|
50
56
|
| Handoff | 30% |
|
|
51
57
|
|
|
52
|
-
|
|
58
|
+
</details>
|
|
59
|
+
|
|
60
|
+
<details>
|
|
61
|
+
<summary><strong>Dev Phase Rubric</strong></summary>
|
|
62
|
+
|
|
53
63
|
| Dimension | Weight |
|
|
54
64
|
|-----------|--------|
|
|
55
65
|
| GREEN State | 40% |
|
|
56
66
|
| Code Quality | 30% |
|
|
57
67
|
| Handoff | 30% |
|
|
58
68
|
|
|
59
|
-
|
|
69
|
+
</details>
|
|
70
|
+
|
|
71
|
+
<details>
|
|
72
|
+
<summary><strong>Reviewer Phase Rubric</strong></summary>
|
|
73
|
+
|
|
60
74
|
| Dimension | Weight |
|
|
61
75
|
|-----------|--------|
|
|
62
76
|
| Detection | 40% |
|
|
63
77
|
| Verdict | 30% |
|
|
64
78
|
| Persona | 30% |
|
|
65
79
|
|
|
66
|
-
|
|
80
|
+
</details>
|
|
81
|
+
|
|
82
|
+
<details>
|
|
83
|
+
<summary><strong>Chain Coherence Multipliers</strong></summary>
|
|
84
|
+
|
|
67
85
|
| Rating | Multiplier |
|
|
68
86
|
|--------|------------|
|
|
69
87
|
| excellent | 1.2x |
|
|
70
88
|
| good | 1.0x |
|
|
71
89
|
| poor | 0.8x |
|
|
72
90
|
|
|
91
|
+
</details>
|
|
92
|
+
|
|
73
93
|
## On Invoke
|
|
74
94
|
|
|
75
95
|
### Step 1: Parse Arguments
|
|
@@ -96,7 +116,8 @@ Extract:
|
|
|
96
116
|
|
|
97
117
|
Based on mode, construct the appropriate prompt:
|
|
98
118
|
|
|
99
|
-
|
|
119
|
+
<details>
|
|
120
|
+
<summary><strong>Solo Mode Prompt (Generic Rubric)</strong></summary>
|
|
100
121
|
|
|
101
122
|
**If NO baseline_issues provided, use generic rubric:**
|
|
102
123
|
|
|
@@ -139,6 +160,11 @@ Formula: (correctness × 2.5) + (depth × 2.5) + (quality × 2.5) + (persona ×
|
|
|
139
160
|
```
|
|
140
161
|
```
|
|
141
162
|
|
|
163
|
+
</details>
|
|
164
|
+
|
|
165
|
+
<details>
|
|
166
|
+
<summary><strong>Solo Mode Prompt (Checklist Rubric v2 - Precision/Recall)</strong></summary>
|
|
167
|
+
|
|
142
168
|
**If baseline_issues IS provided, use checklist rubric (v2 - precision/recall):**
|
|
143
169
|
|
|
144
170
|
```
|
|
@@ -222,10 +248,24 @@ Evaluate the response and output ONLY valid JSON (no markdown, no extra text):
|
|
|
222
248
|
}
|
|
223
249
|
```
|
|
224
250
|
|
|
225
|
-
|
|
251
|
+
**Detection Scoring Rules (v2 - Precision/Recall):**
|
|
252
|
+
|
|
253
|
+
- Severity Weights: critical=15, high=10, medium=5, low=2
|
|
254
|
+
- recall = weighted_found / weighted_total
|
|
255
|
+
- precision = true_positives / (true_positives + false_positives)
|
|
256
|
+
- f2_score = 5 × (precision × recall) / (4 × precision + recall)
|
|
257
|
+
- detection.subtotal = (recall × 30) + (precision × 10) + min(novel_valid × 3, 10)
|
|
258
|
+
|
|
259
|
+
**Other Dimensions:**
|
|
260
|
+
- Quality (25 max): (clear_explanations/10 × 12.5) + (actionable_fixes/10 × 12.5)
|
|
261
|
+
- Persona (25 max): (in_character/10 × 12.5) + (professional_tone/10 × 12.5)
|
|
262
|
+
- weighted_total = detection.subtotal + quality.subtotal + persona.subtotal
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
</details>
|
|
226
266
|
|
|
227
|
-
|
|
228
|
-
|
|
267
|
+
<details>
|
|
268
|
+
<summary><strong>Detection Scoring Deep Dive</strong></summary>
|
|
229
269
|
|
|
230
270
|
**Metric Calculations:**
|
|
231
271
|
```
|
|
@@ -269,12 +309,6 @@ novel_bonus = min(2 × 3, 10) = 6.0
|
|
|
269
309
|
detection.subtotal = 20.4 + 9.3 + 6.0 = 35.7
|
|
270
310
|
```
|
|
271
311
|
|
|
272
|
-
**Other Dimensions:**
|
|
273
|
-
- Quality (25 max): (clear_explanations/10 × 12.5) + (actionable_fixes/10 × 12.5)
|
|
274
|
-
- Persona (25 max): (in_character/10 × 12.5) + (professional_tone/10 × 12.5)
|
|
275
|
-
- weighted_total = detection.subtotal + quality.subtotal + persona.subtotal
|
|
276
|
-
```
|
|
277
|
-
|
|
278
312
|
**Checklist Scoring Notes:**
|
|
279
313
|
- **Recall dominates** (30/50 pts): Comprehensive coverage is primary goal
|
|
280
314
|
- **Precision matters** (10/50 pts): Penalizes hallucinated issues proportionally
|
|
@@ -283,6 +317,11 @@ detection.subtotal = 20.4 + 9.3 + 6.0 = 35.7
|
|
|
283
317
|
- **Transparent metrics**: All intermediate values visible for debugging
|
|
284
318
|
- Quality/Persona still matter (25% each) - not just about finding issues
|
|
285
319
|
|
|
320
|
+
</details>
|
|
321
|
+
|
|
322
|
+
<details>
|
|
323
|
+
<summary><strong>Solo Mode Prompt (Behavior Checklist - SM Scenarios)</strong></summary>
|
|
324
|
+
|
|
286
325
|
**If baseline_criteria IS provided (SM scenarios), use behavior checklist:**
|
|
287
326
|
|
|
288
327
|
```
|
|
@@ -346,7 +385,10 @@ Scoring rules:
|
|
|
346
385
|
- weighted_total = execution.subtotal + quality.subtotal + persona.subtotal
|
|
347
386
|
```
|
|
348
387
|
|
|
349
|
-
|
|
388
|
+
</details>
|
|
389
|
+
|
|
390
|
+
<details>
|
|
391
|
+
<summary><strong>Compare Mode Prompt</strong></summary>
|
|
350
392
|
|
|
351
393
|
```
|
|
352
394
|
You are an impartial judge comparing two AI personas.
|
|
@@ -396,11 +438,16 @@ Score both on each dimension (1-10). Output ONLY valid JSON (no markdown, no ext
|
|
|
396
438
|
```
|
|
397
439
|
```
|
|
398
440
|
|
|
399
|
-
|
|
441
|
+
</details>
|
|
442
|
+
|
|
443
|
+
<details>
|
|
444
|
+
<summary><strong>Phase Mode and Coherence Mode Prompts</strong></summary>
|
|
445
|
+
|
|
446
|
+
**Phase Mode Prompts:**
|
|
400
447
|
|
|
401
448
|
Use phase-specific rubrics from tables above. Evaluate both teams. Output JSON format.
|
|
402
449
|
|
|
403
|
-
|
|
450
|
+
**Coherence Mode Prompt:**
|
|
404
451
|
|
|
405
452
|
```
|
|
406
453
|
Evaluate chain coherence for {theme}.
|
|
@@ -421,7 +468,10 @@ Output ONLY valid JSON (no markdown, no extra text):
|
|
|
421
468
|
```
|
|
422
469
|
```
|
|
423
470
|
|
|
424
|
-
|
|
471
|
+
</details>
|
|
472
|
+
|
|
473
|
+
<details>
|
|
474
|
+
<summary><strong>Step 3: Execute Judge via CLI</strong></summary>
|
|
425
475
|
|
|
426
476
|
**CRITICAL: Follow this execution pattern for all contexts (main session, skills, subagents).**
|
|
427
477
|
|
|
@@ -459,7 +509,10 @@ JUDGE_OUTPUT_TOKENS=$(jq -r '.usage.output_tokens // 0' .scratch/judge_output.js
|
|
|
459
509
|
**Key insight:** The shell never parses the JSON when using file redirection.
|
|
460
510
|
The output goes directly to a file, then jq reads it safely.
|
|
461
511
|
|
|
462
|
-
|
|
512
|
+
</details>
|
|
513
|
+
|
|
514
|
+
<details>
|
|
515
|
+
<summary><strong>Step 4: Extract Scores</strong></summary>
|
|
463
516
|
|
|
464
517
|
```bash
|
|
465
518
|
# All modes now output JSON - parse with jq
|
|
@@ -480,6 +533,8 @@ if [[ -z "$SCORE" ]]; then
|
|
|
480
533
|
fi
|
|
481
534
|
```
|
|
482
535
|
|
|
536
|
+
</details>
|
|
537
|
+
|
|
483
538
|
### Step 5: Validate Results
|
|
484
539
|
|
|
485
540
|
| Check | Requirement |
|
|
@@ -1,160 +1,403 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: just
|
|
3
|
-
description:
|
|
2
|
+
name: just
|
|
3
|
+
description: |
|
|
4
|
+
Run just recipes for project tasks. This skill should be used when starting dev servers,
|
|
5
|
+
running tests, managing Cyclist, generating portraits, or writing new justfile recipes.
|
|
6
|
+
args: "[recipe] [args...]"
|
|
4
7
|
---
|
|
5
8
|
|
|
6
|
-
#
|
|
9
|
+
# /just - Project Task Runner
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
`just` is a command runner for project tasks. All commands run from the **project root**.
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
- Running tests
|
|
12
|
-
- Managing databases (start, stop, reset, seed)
|
|
13
|
-
- Checking service health/status
|
|
14
|
-
- Writing new justfile recipes
|
|
13
|
+
## Commands
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
### `/just` or `/just --list`
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
List all available recipes.
|
|
19
18
|
|
|
20
|
-
**
|
|
19
|
+
**Run:**
|
|
20
|
+
```bash
|
|
21
|
+
just --list
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Output:** Recipe names with descriptions.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
### `/just build`
|
|
29
|
+
|
|
30
|
+
Build all packages in the monorepo.
|
|
31
|
+
|
|
32
|
+
**Run:**
|
|
33
|
+
```bash
|
|
34
|
+
just build
|
|
35
|
+
```
|
|
21
36
|
|
|
22
|
-
|
|
37
|
+
**What it does:** Runs `pnpm run build` to compile TypeScript across all packages.
|
|
23
38
|
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
### `/just test`
|
|
42
|
+
|
|
43
|
+
Run tests for all packages.
|
|
44
|
+
|
|
45
|
+
**Run:**
|
|
24
46
|
```bash
|
|
25
|
-
just
|
|
26
|
-
just --list # List all recipes without descriptions
|
|
27
|
-
just --show <recipe> # Show recipe definition
|
|
47
|
+
just test
|
|
28
48
|
```
|
|
29
49
|
|
|
30
|
-
|
|
50
|
+
**What it does:** Runs `pnpm test` which executes Node.js native test runner across the monorepo.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### `/just test-cyclist`
|
|
55
|
+
|
|
56
|
+
Run tests for the Cyclist package only.
|
|
31
57
|
|
|
32
|
-
|
|
58
|
+
**Run:**
|
|
33
59
|
```bash
|
|
34
|
-
just
|
|
35
|
-
just dev-start # Start all services
|
|
36
|
-
just dev-stop # Stop all services
|
|
37
|
-
just dev-status # Check service status
|
|
38
|
-
just dev-logs # Tail logs
|
|
60
|
+
just test-cyclist
|
|
39
61
|
```
|
|
40
62
|
|
|
41
|
-
|
|
63
|
+
**What it does:** Runs `npm test` in `packages/cyclist/`.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### `/just test-cyclist-watch`
|
|
68
|
+
|
|
69
|
+
Run Cyclist tests in watch mode for TDD workflow.
|
|
70
|
+
|
|
71
|
+
**Run:**
|
|
42
72
|
```bash
|
|
43
|
-
just test
|
|
44
|
-
just test-setup # Setup test infrastructure
|
|
45
|
-
just test-api # Backend tests only
|
|
46
|
-
just test-ui # Frontend tests only
|
|
73
|
+
just test-cyclist-watch
|
|
47
74
|
```
|
|
48
75
|
|
|
49
|
-
|
|
76
|
+
**What it does:** Runs Vitest in watch mode, re-running tests on file changes.
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
### `/just install`
|
|
81
|
+
|
|
82
|
+
Install dependencies for all packages.
|
|
83
|
+
|
|
84
|
+
**Run:**
|
|
50
85
|
```bash
|
|
51
|
-
just
|
|
52
|
-
just db-stop # Stop database services
|
|
53
|
-
just db-reset # Reset databases (DESTRUCTIVE)
|
|
54
|
-
just db-seed # Seed with test data
|
|
86
|
+
just install
|
|
55
87
|
```
|
|
56
88
|
|
|
57
|
-
|
|
89
|
+
**What it does:** Runs `pnpm install` to install dependencies across the monorepo.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Cyclist Commands
|
|
94
|
+
|
|
95
|
+
The `cyclist` recipe is the main entry point for Cyclist operations.
|
|
96
|
+
|
|
97
|
+
### `/just cyclist` (default)
|
|
58
98
|
|
|
59
|
-
|
|
99
|
+
Launch Cyclist in Electron mode with folder picker.
|
|
60
100
|
|
|
101
|
+
**Run:**
|
|
61
102
|
```bash
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
just build --release
|
|
103
|
+
just cyclist
|
|
104
|
+
```
|
|
65
105
|
|
|
66
|
-
|
|
67
|
-
|
|
106
|
+
**What it does:** Starts Cyclist Electron app, prompting to select a project directory.
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
### `/just cyclist here`
|
|
111
|
+
|
|
112
|
+
Launch Cyclist for the current directory.
|
|
113
|
+
|
|
114
|
+
**Run:**
|
|
115
|
+
```bash
|
|
116
|
+
just cyclist here
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**What it does:** Starts Cyclist Electron app with `pwd` as the project directory.
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
### `/just cyclist web`
|
|
124
|
+
|
|
125
|
+
Launch Cyclist in web dev mode with hot reload.
|
|
126
|
+
|
|
127
|
+
**Run:**
|
|
128
|
+
```bash
|
|
129
|
+
just cyclist web
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**What it does:** Starts the web server with Vite for browser-based development.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
### `/just cyclist server`
|
|
137
|
+
|
|
138
|
+
Start Cyclist web server only (no browser).
|
|
139
|
+
|
|
140
|
+
**Run:**
|
|
141
|
+
```bash
|
|
142
|
+
just cyclist server
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**What it does:** Starts the backend server for headless or remote access.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### `/just cyclist verbose`
|
|
150
|
+
|
|
151
|
+
Enable debug logging for troubleshooting.
|
|
152
|
+
|
|
153
|
+
**Run:**
|
|
154
|
+
```bash
|
|
155
|
+
just cyclist verbose
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Combine flags:**
|
|
159
|
+
```bash
|
|
160
|
+
just cyclist here verbose
|
|
161
|
+
just cyclist web verbose
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### `/just cyclist dir=<path>`
|
|
167
|
+
|
|
168
|
+
Launch Cyclist for a specific project directory.
|
|
169
|
+
|
|
170
|
+
**Run:**
|
|
171
|
+
```bash
|
|
172
|
+
just cyclist dir=/path/to/project
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Arguments:**
|
|
176
|
+
| Arg | Required | Description |
|
|
177
|
+
|-----|----------|-------------|
|
|
178
|
+
| `dir=` | Yes | Absolute path to project directory |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### `/just cyclist setup`
|
|
183
|
+
|
|
184
|
+
First-time setup for Cyclist development.
|
|
185
|
+
|
|
186
|
+
**Run:**
|
|
187
|
+
```bash
|
|
188
|
+
just cyclist setup
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**What it does:**
|
|
192
|
+
1. Cleans stale artifacts (`rm -rf packages/cyclist/dist/`)
|
|
193
|
+
2. Installs dependencies (`pnpm install`)
|
|
194
|
+
3. Rebuilds native modules (`npx electron-rebuild`)
|
|
195
|
+
4. Builds TypeScript (`pnpm run build`)
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
### `/just cyclist doctor`
|
|
200
|
+
|
|
201
|
+
Diagnose Cyclist setup issues.
|
|
202
|
+
|
|
203
|
+
**Run:**
|
|
204
|
+
```bash
|
|
205
|
+
just cyclist doctor
|
|
206
|
+
just cyclist doctor --fix
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Arguments:**
|
|
210
|
+
| Arg | Required | Description |
|
|
211
|
+
|-----|----------|-------------|
|
|
212
|
+
| `--fix` | No | Auto-repair detected issues |
|
|
213
|
+
|
|
214
|
+
**What it does:** Checks for common setup problems and optionally fixes them.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### `/just cyclist build`
|
|
219
|
+
|
|
220
|
+
Build Cyclist TypeScript only.
|
|
221
|
+
|
|
222
|
+
**Run:**
|
|
223
|
+
```bash
|
|
224
|
+
just cyclist build
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**What it does:** Compiles TypeScript in `packages/cyclist/`. Builds workspace dependencies first if missing.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
### `/just cyclist clean`
|
|
232
|
+
|
|
233
|
+
Remove Cyclist build artifacts.
|
|
234
|
+
|
|
235
|
+
**Run:**
|
|
236
|
+
```bash
|
|
237
|
+
just cyclist clean
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
**What it does:** Removes `packages/cyclist/dist/` directory.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
### `/just cyclist rebuild`
|
|
245
|
+
|
|
246
|
+
Rebuild native modules (node-pty) for Electron.
|
|
247
|
+
|
|
248
|
+
**Run:**
|
|
249
|
+
```bash
|
|
250
|
+
just cyclist rebuild
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**What it does:** Runs `npx electron-rebuild` in `packages/cyclist/`.
|
|
254
|
+
|
|
255
|
+
**When needed:** After Node.js version changes or native module errors.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
### `/just cyclist package`
|
|
260
|
+
|
|
261
|
+
Build Cyclist Electron app for distribution.
|
|
262
|
+
|
|
263
|
+
**Run:**
|
|
264
|
+
```bash
|
|
265
|
+
just cyclist package
|
|
68
266
|
```
|
|
69
267
|
|
|
70
|
-
|
|
268
|
+
**What it does:** Runs `npm run build:electron` to create distributable app.
|
|
269
|
+
|
|
270
|
+
---
|
|
71
271
|
|
|
72
|
-
###
|
|
272
|
+
### `/just cyclist install`
|
|
73
273
|
|
|
74
|
-
|
|
75
|
-
# Recipe with description (shows in `just --list`)
|
|
76
|
-
hello:
|
|
77
|
-
echo "Hello, world!"
|
|
274
|
+
Install Cyclist app and CLI.
|
|
78
275
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
echo "I'm hidden"
|
|
276
|
+
**Run:**
|
|
277
|
+
```bash
|
|
278
|
+
just cyclist install
|
|
83
279
|
```
|
|
84
280
|
|
|
85
|
-
|
|
281
|
+
**What it does:**
|
|
282
|
+
1. Installs `Cyclist.app` to `/Applications`
|
|
283
|
+
2. Installs `cyclist` CLI to `/usr/local/bin`
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## Portrait Commands
|
|
288
|
+
|
|
289
|
+
Generate AI portraits for persona themes.
|
|
86
290
|
|
|
87
|
-
|
|
88
|
-
# Positional arguments
|
|
89
|
-
greet name:
|
|
90
|
-
echo "Hello, {{name}}!"
|
|
291
|
+
### `/just portraits <theme>`
|
|
91
292
|
|
|
92
|
-
|
|
93
|
-
greet name="World":
|
|
94
|
-
echo "Hello, {{name}}!"
|
|
293
|
+
Generate portraits for a specific theme.
|
|
95
294
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
295
|
+
**Run:**
|
|
296
|
+
```bash
|
|
297
|
+
just portraits arthurian-mythos
|
|
99
298
|
```
|
|
100
299
|
|
|
101
|
-
|
|
300
|
+
**Arguments:**
|
|
301
|
+
| Arg | Required | Description |
|
|
302
|
+
|-----|----------|-------------|
|
|
303
|
+
| `theme` | Yes | Theme name (e.g., `arthurian-mythos`, `the-expanse`) |
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
### `/just portraits-all`
|
|
308
|
+
|
|
309
|
+
Generate portraits for all themes.
|
|
102
310
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
#!/usr/bin/env bash
|
|
107
|
-
set -euo pipefail
|
|
108
|
-
echo "Building..."
|
|
109
|
-
go build -o bin/app ./cmd/app
|
|
110
|
-
echo "Done!"
|
|
311
|
+
**Run:**
|
|
312
|
+
```bash
|
|
313
|
+
just portraits-all
|
|
111
314
|
```
|
|
112
315
|
|
|
113
|
-
|
|
316
|
+
**Warning:** This is time-intensive. Generates portraits for all 102 themes.
|
|
317
|
+
|
|
318
|
+
---
|
|
114
319
|
|
|
115
|
-
|
|
116
|
-
# Set variables
|
|
117
|
-
project := "myapp"
|
|
118
|
-
version := `git describe --tags`
|
|
320
|
+
### `/just portraits-preview <theme>`
|
|
119
321
|
|
|
120
|
-
|
|
121
|
-
info:
|
|
122
|
-
echo "{{project}} version {{version}}"
|
|
322
|
+
Preview portraits for a theme without saving.
|
|
123
323
|
|
|
124
|
-
|
|
125
|
-
|
|
324
|
+
**Run:**
|
|
325
|
+
```bash
|
|
326
|
+
just portraits-preview arthurian-mythos
|
|
126
327
|
```
|
|
127
328
|
|
|
128
|
-
|
|
329
|
+
**Arguments:**
|
|
330
|
+
| Arg | Required | Description |
|
|
331
|
+
|-----|----------|-------------|
|
|
332
|
+
| `theme` | Yes | Theme name to preview |
|
|
333
|
+
|
|
334
|
+
---
|
|
335
|
+
|
|
336
|
+
## Passing Arguments to Recipes
|
|
129
337
|
|
|
130
|
-
|
|
131
|
-
# Run `setup` before `build`
|
|
132
|
-
build: setup
|
|
133
|
-
go build ./...
|
|
338
|
+
Just recipes accept arguments directly (no `--` separator needed):
|
|
134
339
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
340
|
+
```bash
|
|
341
|
+
# Correct
|
|
342
|
+
just test-cyclist --filter "B-001"
|
|
343
|
+
just cyclist here verbose
|
|
344
|
+
|
|
345
|
+
# WRONG - don't use --
|
|
346
|
+
just test-cyclist -- --filter "B-001"
|
|
138
347
|
```
|
|
139
348
|
|
|
140
|
-
|
|
349
|
+
---
|
|
350
|
+
|
|
351
|
+
## Inspecting Recipes
|
|
352
|
+
|
|
353
|
+
### Show recipe definition
|
|
354
|
+
|
|
355
|
+
**Run:**
|
|
356
|
+
```bash
|
|
357
|
+
just --show <recipe>
|
|
358
|
+
```
|
|
141
359
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
360
|
+
**Example:**
|
|
361
|
+
```bash
|
|
362
|
+
just --show cyclist
|
|
363
|
+
# Shows the full recipe implementation
|
|
146
364
|
```
|
|
147
365
|
|
|
148
|
-
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## Quick Reference
|
|
369
|
+
|
|
370
|
+
| Command | Description |
|
|
371
|
+
|---------|-------------|
|
|
372
|
+
| `just` | List available recipes |
|
|
373
|
+
| `just build` | Build all packages |
|
|
374
|
+
| `just test` | Run all tests |
|
|
375
|
+
| `just test-cyclist` | Run Cyclist tests |
|
|
376
|
+
| `just test-cyclist-watch` | Cyclist tests in watch mode |
|
|
377
|
+
| `just install` | Install dependencies |
|
|
378
|
+
| `just cyclist` | Electron + folder picker |
|
|
379
|
+
| `just cyclist here` | Electron + current directory |
|
|
380
|
+
| `just cyclist web` | Web dev mode |
|
|
381
|
+
| `just cyclist server` | Web server only |
|
|
382
|
+
| `just cyclist setup` | First-time setup |
|
|
383
|
+
| `just cyclist doctor` | Diagnose issues |
|
|
384
|
+
| `just cyclist build` | Build TypeScript |
|
|
385
|
+
| `just cyclist clean` | Remove dist/ |
|
|
386
|
+
| `just cyclist rebuild` | Rebuild native modules |
|
|
387
|
+
| `just cyclist package` | Build Electron app |
|
|
388
|
+
| `just cyclist install` | Install app + CLI |
|
|
389
|
+
| `just portraits <theme>` | Generate theme portraits |
|
|
390
|
+
| `just portraits-all` | Generate all portraits |
|
|
391
|
+
| `just portraits-preview <theme>` | Preview portraits |
|
|
392
|
+
|
|
393
|
+
## Dependencies
|
|
149
394
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
6. **Add descriptions** to all public recipes
|
|
395
|
+
```bash
|
|
396
|
+
brew install just
|
|
397
|
+
# or
|
|
398
|
+
cargo install just
|
|
399
|
+
```
|
|
156
400
|
|
|
157
|
-
## Reference
|
|
401
|
+
## Reference
|
|
158
402
|
|
|
159
|
-
- **Justfile Syntax:** See `references/justfile-syntax.md`
|
|
160
403
|
- **Official Docs:** https://just.systems/man/en/
|