openplanr 2.2641.0 → 2.2641.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/README.md +14 -14
- package/bin/openplanr.js +13 -0
- package/bin/planr.js +5 -11
- package/dist/cli/commands/artifact.d.ts.map +1 -1
- package/dist/cli/commands/artifact.js +6 -5
- package/dist/cli/commands/artifact.js.map +1 -1
- package/dist/cli/commands/checklist.d.ts.map +1 -1
- package/dist/cli/commands/checklist.js +4 -3
- package/dist/cli/commands/checklist.js.map +1 -1
- package/dist/cli/commands/company.d.ts.map +1 -1
- package/dist/cli/commands/company.js +3 -2
- package/dist/cli/commands/company.js.map +1 -1
- package/dist/cli/commands/context.d.ts +1 -1
- package/dist/cli/commands/context.js +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +11 -5
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/export.d.ts +1 -1
- package/dist/cli/commands/export.js +1 -1
- package/dist/cli/commands/github.d.ts +1 -1
- package/dist/cli/commands/github.d.ts.map +1 -1
- package/dist/cli/commands/github.js +16 -18
- package/dist/cli/commands/github.js.map +1 -1
- package/dist/cli/commands/init-deterministic.d.ts.map +1 -1
- package/dist/cli/commands/init-deterministic.js +2 -1
- package/dist/cli/commands/init-deterministic.js.map +1 -1
- package/dist/cli/commands/linear.d.ts +2 -2
- package/dist/cli/commands/linear.d.ts.map +1 -1
- package/dist/cli/commands/linear.js +29 -28
- package/dist/cli/commands/linear.js.map +1 -1
- package/dist/cli/commands/operate/registrars/index.d.ts +1 -1
- package/dist/cli/commands/operate/registrars/index.d.ts.map +1 -1
- package/dist/cli/commands/operate/registrars/index.js +1 -1
- package/dist/cli/commands/operate/registrars/index.js.map +1 -1
- package/dist/cli/commands/operate/render.d.ts.map +1 -1
- package/dist/cli/commands/operate/render.js +2 -1
- package/dist/cli/commands/operate/render.js.map +1 -1
- package/dist/cli/commands/operate.d.ts.map +1 -1
- package/dist/cli/commands/operate.js +2 -1
- package/dist/cli/commands/operate.js.map +1 -1
- package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
- package/dist/cli/commands/planning-artifacts.js +2 -1
- package/dist/cli/commands/planning-artifacts.js.map +1 -1
- package/dist/cli/commands/quick/interaction.d.ts +1 -1
- package/dist/cli/commands/quick/interaction.d.ts.map +1 -1
- package/dist/cli/commands/quick/interaction.js +1 -1
- package/dist/cli/commands/quick/interaction.js.map +1 -1
- package/dist/cli/commands/quick/project.d.ts +1 -1
- package/dist/cli/commands/quick/project.d.ts.map +1 -1
- package/dist/cli/commands/quick/project.js +1 -1
- package/dist/cli/commands/quick/project.js.map +1 -1
- package/dist/cli/commands/report-linter.d.ts +1 -1
- package/dist/cli/commands/report-linter.js +1 -1
- package/dist/cli/commands/report.d.ts +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +32 -35
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +5 -4
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +11 -11
- package/dist/cli/commands/spec.d.ts.map +1 -1
- package/dist/cli/commands/spec.js +34 -33
- package/dist/cli/commands/spec.js.map +1 -1
- package/dist/cli/commands/sprint-refinement.d.ts.map +1 -1
- package/dist/cli/commands/sprint-refinement.js +2 -1
- package/dist/cli/commands/sprint-refinement.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +2 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/story/interaction.d.ts +1 -1
- package/dist/cli/commands/story/interaction.d.ts.map +1 -1
- package/dist/cli/commands/story/interaction.js +1 -1
- package/dist/cli/commands/story/interaction.js.map +1 -1
- package/dist/cli/commands/story/project.d.ts +1 -1
- package/dist/cli/commands/story/project.d.ts.map +1 -1
- package/dist/cli/commands/story/project.js +1 -1
- package/dist/cli/commands/story/project.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +1 -1
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/commands/sync.js +3 -2
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/template.d.ts +1 -1
- package/dist/cli/commands/template.js +10 -10
- package/dist/cli/commands/template.js.map +1 -1
- package/dist/cli/commands/update.d.ts +1 -1
- package/dist/cli/commands/update.js +1 -1
- package/dist/cli/commands/upgrade.d.ts +1 -1
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +3 -2
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/voice.d.ts +1 -1
- package/dist/cli/commands/voice.js +1 -1
- package/dist/cli/index.js +6 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +1 -1
- package/dist/dashboard/assets/{index-D7R6tnlX.js → index-DI_TKz9J.js} +115 -115
- package/dist/dashboard/assets/index-DI_TKz9J.js.map +1 -0
- package/dist/dashboard/dashboard-manifest.json +10 -10
- package/dist/dashboard/index.html +1 -1
- package/dist/generators/cursor-generator.js +1 -1
- package/dist/generators/cursor-generator.js.map +1 -1
- package/dist/models/schema.d.ts +0 -4
- package/dist/models/schema.d.ts.map +1 -1
- package/dist/models/schema.js +2 -3
- package/dist/models/schema.js.map +1 -1
- package/dist/models/types.d.ts +13 -16
- package/dist/models/types.d.ts.map +1 -1
- package/dist/services/artifact-service.d.ts +1 -1
- package/dist/services/artifact-service.js +2 -2
- package/dist/services/artifact-service.js.map +1 -1
- package/dist/services/audit-log-service.d.ts.map +1 -1
- package/dist/services/audit-log-service.js +2 -1
- package/dist/services/audit-log-service.js.map +1 -1
- package/dist/services/claude-plugin-service.d.ts +3 -1
- package/dist/services/claude-plugin-service.d.ts.map +1 -1
- package/dist/services/claude-plugin-service.js +9 -5
- package/dist/services/claude-plugin-service.js.map +1 -1
- package/dist/services/codex-plugin-service.d.ts.map +1 -1
- package/dist/services/codex-plugin-service.js +3 -2
- package/dist/services/codex-plugin-service.js.map +1 -1
- package/dist/services/company-auth-service.d.ts.map +1 -1
- package/dist/services/company-auth-service.js +2 -1
- package/dist/services/company-auth-service.js.map +1 -1
- package/dist/services/company-sync-service.d.ts.map +1 -1
- package/dist/services/company-sync-service.js +9 -8
- package/dist/services/company-sync-service.js.map +1 -1
- package/dist/services/config-service.d.ts +6 -1
- package/dist/services/config-service.d.ts.map +1 -1
- package/dist/services/config-service.js +19 -4
- package/dist/services/config-service.js.map +1 -1
- package/dist/services/credentials-service.js +2 -2
- package/dist/services/credentials-service.js.map +1 -1
- package/dist/services/delivery-status-service.d.ts +1 -1
- package/dist/services/delivery-status-service.d.ts.map +1 -1
- package/dist/services/delivery-status-service.js +3 -2
- package/dist/services/delivery-status-service.js.map +1 -1
- package/dist/services/diagram-authoring-service.d.ts.map +1 -1
- package/dist/services/diagram-authoring-service.js +2 -1
- package/dist/services/diagram-authoring-service.js.map +1 -1
- package/dist/services/diagram-pipeline-service.d.ts.map +1 -1
- package/dist/services/diagram-pipeline-service.js +6 -5
- package/dist/services/diagram-pipeline-service.js.map +1 -1
- package/dist/services/distribution-service.d.ts +1 -4
- package/dist/services/distribution-service.d.ts.map +1 -1
- package/dist/services/distribution-service.js +3 -61
- package/dist/services/distribution-service.js.map +1 -1
- package/dist/services/github-service.d.ts +8 -5
- package/dist/services/github-service.d.ts.map +1 -1
- package/dist/services/github-service.js +23 -21
- package/dist/services/github-service.js.map +1 -1
- package/dist/services/graph-integrity.d.ts +1 -1
- package/dist/services/graph-integrity.js +1 -1
- package/dist/services/landing/landing-service.d.ts.map +1 -1
- package/dist/services/landing/landing-service.js +4 -1
- package/dist/services/landing/landing-service.js.map +1 -1
- package/dist/services/landing/receipt-custody.d.ts.map +1 -1
- package/dist/services/landing/receipt-custody.js +3 -2
- package/dist/services/landing/receipt-custody.js.map +1 -1
- package/dist/services/linear/errors.d.ts.map +1 -1
- package/dist/services/linear/errors.js +2 -1
- package/dist/services/linear/errors.js.map +1 -1
- package/dist/services/linear/plan-builders.d.ts +3 -3
- package/dist/services/linear/plan-builders.d.ts.map +1 -1
- package/dist/services/linear/plan-builders.js +2 -2
- package/dist/services/linear/strategy-context.d.ts.map +1 -1
- package/dist/services/linear/strategy-context.js +6 -5
- package/dist/services/linear/strategy-context.js.map +1 -1
- package/dist/services/linear-mapping-service.d.ts +1 -1
- package/dist/services/linear-mapping-service.d.ts.map +1 -1
- package/dist/services/linear-mapping-service.js +3 -2
- package/dist/services/linear-mapping-service.js.map +1 -1
- package/dist/services/linear-pull-service.d.ts +1 -1
- package/dist/services/linear-pull-service.d.ts.map +1 -1
- package/dist/services/linear-pull-service.js +10 -9
- package/dist/services/linear-pull-service.js.map +1 -1
- package/dist/services/linear-push-service.d.ts +5 -6
- package/dist/services/linear-push-service.d.ts.map +1 -1
- package/dist/services/linear-push-service.js +22 -22
- package/dist/services/linear-push-service.js.map +1 -1
- package/dist/services/linear-service.d.ts +2 -2
- package/dist/services/linear-service.js +2 -2
- package/dist/services/linear-team-service.d.ts.map +1 -1
- package/dist/services/linear-team-service.js +2 -1
- package/dist/services/linear-team-service.js.map +1 -1
- package/dist/services/operate/assignment-packet-service.d.ts.map +1 -1
- package/dist/services/operate/assignment-packet-service.js +2 -1
- package/dist/services/operate/assignment-packet-service.js.map +1 -1
- package/dist/services/operate/delivery-evidence.d.ts.map +1 -1
- package/dist/services/operate/delivery-evidence.js +2 -1
- package/dist/services/operate/delivery-evidence.js.map +1 -1
- package/dist/services/operate/measurement-schedule-service.d.ts.map +1 -1
- package/dist/services/operate/measurement-schedule-service.js +2 -1
- package/dist/services/operate/measurement-schedule-service.js.map +1 -1
- package/dist/services/operate/path-custody.d.ts.map +1 -1
- package/dist/services/operate/path-custody.js +2 -1
- package/dist/services/operate/path-custody.js.map +1 -1
- package/dist/services/operate/pinned-legacy-replay-runner.d.ts.map +1 -1
- package/dist/services/operate/pinned-legacy-replay-runner.js +3 -2
- package/dist/services/operate/pinned-legacy-replay-runner.js.map +1 -1
- package/dist/services/operate/planning-handoff-service.d.ts.map +1 -1
- package/dist/services/operate/planning-handoff-service.js +3 -2
- package/dist/services/operate/planning-handoff-service.js.map +1 -1
- package/dist/services/operate/project-transaction-lock.d.ts.map +1 -1
- package/dist/services/operate/project-transaction-lock.js +2 -1
- package/dist/services/operate/project-transaction-lock.js.map +1 -1
- package/dist/services/operate/repository-read-service.d.ts.map +1 -1
- package/dist/services/operate/repository-read-service.js +5 -4
- package/dist/services/operate/repository-read-service.js.map +1 -1
- package/dist/services/operate/screened-evidence-service.d.ts.map +1 -1
- package/dist/services/operate/screened-evidence-service.js +5 -4
- package/dist/services/operate/screened-evidence-service.js.map +1 -1
- package/dist/services/operate/storage-layout.d.ts.map +1 -1
- package/dist/services/operate/storage-layout.js +8 -7
- package/dist/services/operate/storage-layout.js.map +1 -1
- package/dist/services/operate/store.d.ts.map +1 -1
- package/dist/services/operate/store.js +7 -6
- package/dist/services/operate/store.js.map +1 -1
- package/dist/services/pipeline-package-service.js +1 -1
- package/dist/services/pipeline-package-service.js.map +1 -1
- package/dist/services/provenance-service.d.ts.map +1 -1
- package/dist/services/provenance-service.js +2 -1
- package/dist/services/provenance-service.js.map +1 -1
- package/dist/services/report-linter-service.js +1 -1
- package/dist/services/report-linter-service.js.map +1 -1
- package/dist/services/revise-cache-service.d.ts.map +1 -1
- package/dist/services/revise-cache-service.js +2 -1
- package/dist/services/revise-cache-service.js.map +1 -1
- package/dist/services/runtime-manager/doctor.d.ts +13 -0
- package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
- package/dist/services/runtime-manager/doctor.js +50 -3
- package/dist/services/runtime-manager/doctor.js.map +1 -1
- package/dist/services/runtime-manager/inventory.d.ts +1 -0
- package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
- package/dist/services/runtime-manager/inventory.js +3 -1
- package/dist/services/runtime-manager/inventory.js.map +1 -1
- package/dist/services/runtime-manager-service.d.ts +4 -2
- package/dist/services/runtime-manager-service.d.ts.map +1 -1
- package/dist/services/runtime-manager-service.js +52 -33
- package/dist/services/runtime-manager-service.js.map +1 -1
- package/dist/services/server-lifecycle-service.d.ts.map +1 -1
- package/dist/services/server-lifecycle-service.js +14 -9
- package/dist/services/server-lifecycle-service.js.map +1 -1
- package/dist/services/spec-service.d.ts +4 -4
- package/dist/services/spec-service.d.ts.map +1 -1
- package/dist/services/spec-service.js +43 -77
- package/dist/services/spec-service.js.map +1 -1
- package/dist/services/sprint-refinement-service.d.ts +6 -6
- package/dist/services/sprint-refinement-service.d.ts.map +1 -1
- package/dist/services/sprint-refinement-service.js +16 -16
- package/dist/services/sprint-refinement-service.js.map +1 -1
- package/dist/services/template-service.d.ts.map +1 -1
- package/dist/services/template-service.js +3 -1
- package/dist/services/template-service.js.map +1 -1
- package/dist/services/upgrade-offer-service.d.ts +2 -2
- package/dist/services/upgrade-offer-service.d.ts.map +1 -1
- package/dist/services/upgrade-offer-service.js +4 -3
- package/dist/services/upgrade-offer-service.js.map +1 -1
- package/dist/services/upgrade-report.d.ts +1 -1
- package/dist/services/upgrade-report.d.ts.map +1 -1
- package/dist/services/upgrade-report.js +5 -4
- package/dist/services/upgrade-report.js.map +1 -1
- package/dist/services/upgrade-service.d.ts +5 -5
- package/dist/services/upgrade-service.d.ts.map +1 -1
- package/dist/services/upgrade-service.js +14 -13
- package/dist/services/upgrade-service.js.map +1 -1
- package/dist/templates/backlog/backlog-item.md.hbs +1 -1
- package/dist/templates/checklists/agile-checklist.md.hbs +6 -6
- package/dist/templates/epics/epic.md.hbs +1 -1
- package/dist/templates/export/planning-report.html.hbs +1 -1
- package/dist/templates/export/planning-report.md.hbs +1 -1
- package/dist/templates/features/feature.md.hbs +1 -1
- package/dist/templates/guides/estimation.md.hbs +3 -12
- package/dist/templates/quick/quick-task.md.hbs +1 -1
- package/dist/templates/rules/cursor/create-epic.mdc.hbs +1 -1
- package/dist/templates/rules/cursor/create-features.mdc.hbs +1 -1
- package/dist/templates/rules/cursor/create-user-story.mdc.hbs +1 -1
- package/dist/templates/rules/cursor/openplanr.mdc.hbs +1 -1
- package/dist/templates/rules/shared/capability-map.md.hbs +1 -1
- package/dist/templates/rules/shared/host-native-guidance.md.hbs +1 -1
- package/dist/templates/spec/spec-shaped.md.hbs +1 -1
- package/dist/templates/spec/spec.md.hbs +1 -1
- package/dist/templates/sprints/sprint-tasks.md.hbs +1 -1
- package/dist/templates/sprints/sprint.md.hbs +1 -1
- package/dist/templates/stories/user-story.md.hbs +1 -1
- package/dist/utils/constants.d.ts +8 -4
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +10 -4
- package/dist/utils/constants.js.map +1 -1
- package/docs/ARTIFACT_REVIEW.md +13 -13
- package/docs/CLI.md +258 -262
- package/docs/CROSS_RUNTIME_SETUP.md +33 -33
- package/docs/TROUBLESHOOTING.md +28 -28
- package/install.ps1 +2 -2
- package/install.sh +3 -3
- package/lib/host-packages/adapter-registry.json +5 -5
- package/lib/host-packages/capability-map.json +9 -9
- package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +109 -89
- package/lib/host-packages/claude/openplanr/README.md +13 -17
- package/lib/host-packages/claude/openplanr/agents/planr-backend.md +49 -55
- package/lib/host-packages/claude/openplanr/agents/planr-database.md +56 -92
- package/lib/host-packages/claude/openplanr/agents/planr-designer.md +35 -51
- package/lib/host-packages/claude/openplanr/agents/planr-devops.md +37 -51
- package/lib/host-packages/claude/openplanr/agents/planr-documentation.md +29 -52
- package/lib/host-packages/claude/openplanr/agents/planr-entity-scaffold.md +24 -23
- package/lib/host-packages/claude/openplanr/agents/planr-frontend.md +46 -58
- package/lib/host-packages/claude/openplanr/agents/planr-qa.md +4 -2
- package/lib/host-packages/claude/openplanr/agents/planr-specification.md +54 -51
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/backend.md +21 -65
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/designer.md +5 -6
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/devops.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/doc-gen.md +3 -4
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/frontend.md +19 -64
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/default/specification.md +10 -12
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/backend.md +19 -62
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/designer.md +5 -6
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/devops.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/doc-gen.md +2 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/frontend.md +16 -59
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/specification.md +9 -11
- package/lib/host-packages/claude/openplanr/references/pipeline/stacks/database/mongodb.md +4 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +105 -55
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +12 -7
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +11 -4
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
- package/lib/host-packages/claude/openplanr/skills/artifact/SKILL.md +14 -14
- package/lib/host-packages/claude/openplanr/skills/artifact/references/company-review.md +9 -9
- package/lib/host-packages/claude/openplanr/skills/artifact/references/design-sharing.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/artifact/references/diagram-sharing.md +4 -4
- package/lib/host-packages/claude/openplanr/skills/ceo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/chair-review/SKILL.md +6 -2
- package/lib/host-packages/claude/openplanr/skills/challenger-review/SKILL.md +6 -2
- package/lib/host-packages/claude/openplanr/skills/cmo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/coo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/cpo-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/cto-review/SKILL.md +0 -1
- package/lib/host-packages/claude/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/claude/openplanr/skills/dashboard/SKILL.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +7 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/references/capsule-contract.md +16 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +8 -6
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/claude/openplanr/skills/design/SKILL.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design/references/team-review.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +4 -4
- package/lib/host-packages/claude/openplanr/skills/design-loop/SKILL.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/team-review.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +4 -4
- package/lib/host-packages/claude/openplanr/skills/design-review/SKILL.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-review/references/team-review.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +4 -4
- package/lib/host-packages/claude/openplanr/skills/diagram/SKILL.md +15 -15
- package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-document.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
- package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +4 -4
- package/lib/host-packages/claude/openplanr/skills/doctor/SKILL.md +9 -9
- package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +18 -16
- package/lib/host-packages/claude/openplanr/skills/land/SKILL.md +2 -2
- package/lib/host-packages/claude/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +8 -2
- package/lib/host-packages/claude/openplanr/skills/plan/references/artifact-contract.md +5 -0
- package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +5 -0
- package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +16 -15
- package/lib/host-packages/claude/openplanr/skills/sprint/references/refinement-contract.md +5 -5
- package/lib/host-packages/claude/openplanr/skills/sprint/references/sprint-formats.md +8 -8
- package/lib/host-packages/claude/openplanr/skills/sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
- package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +5 -4
- package/lib/host-packages/claude/openplanr/skills/status/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +11 -20
- package/lib/host-packages/claude/openplanr/skills/sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/claude/openplanr/skills/sync/scripts/names.mjs +8 -0
- package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +3 -2
- package/lib/host-packages/cursor/openplanr/.openplanr-content.json +81 -61
- package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md +9 -9
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/design-sharing.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/diagram-sharing.md +4 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-artifact.mdc +14 -14
- package/lib/host-packages/cursor/openplanr/rules/planr-ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-chair-review.mdc +6 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-challenger-review.mdc +6 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-dashboard.mdc +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/capsule-contract.md +16 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +8 -6
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +2 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +7 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/team-review.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +4 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/team-review.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +4 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop.mdc +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/team-review.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +4 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review.mdc +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design.mdc +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-document.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-intent-to-ir.md +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +4 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-diagram.mdc +15 -15
- package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +18 -16
- package/lib/host-packages/cursor/openplanr/rules/planr-doctor.mdc +9 -9
- package/lib/host-packages/cursor/openplanr/rules/planr-land.mdc +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-operate.mdc +5 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-plan/references/artifact-contract.md +5 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +8 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +5 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/refinement-contract.md +5 -5
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/sprint-formats.md +8 -8
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint/schemas/refinement.schema.json +3 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +16 -15
- package/lib/host-packages/cursor/openplanr/rules/planr-status/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +5 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/names.mjs +8 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +3 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +11 -20
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +105 -55
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +12 -7
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +11 -4
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
- package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
- package/lib/host-packages/openai/openplanr/.openplanr-content.json +90 -70
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +105 -55
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +12 -7
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +1 -1
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +11 -4
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
- package/lib/host-packages/openai/openplanr/skills/artifact/SKILL.md +14 -14
- package/lib/host-packages/openai/openplanr/skills/artifact/references/company-review.md +9 -9
- package/lib/host-packages/openai/openplanr/skills/artifact/references/design-sharing.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/artifact/references/diagram-sharing.md +4 -4
- package/lib/host-packages/openai/openplanr/skills/ceo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/ceo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/chair-review/SKILL.md +6 -2
- package/lib/host-packages/openai/openplanr/skills/challenger-review/SKILL.md +6 -2
- package/lib/host-packages/openai/openplanr/skills/cmo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cmo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/coo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/coo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/cpo-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cpo-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/cto-review/SKILL.md +0 -1
- package/lib/host-packages/openai/openplanr/skills/cto-review/references/operate-advisor-contract.md +25 -4
- package/lib/host-packages/openai/openplanr/skills/dashboard/SKILL.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +7 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/references/capsule-contract.md +16 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +8 -6
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +11 -4
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/backend-diagnostics.mjs +14 -48
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/context.mjs +84 -22
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/credentials.mjs +167 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +3 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +5 -7
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +2 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -3
- package/lib/host-packages/openai/openplanr/skills/design/SKILL.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design/references/team-review.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +4 -4
- package/lib/host-packages/openai/openplanr/skills/design-loop/SKILL.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/team-review.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +4 -4
- package/lib/host-packages/openai/openplanr/skills/design-review/SKILL.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-review/references/team-review.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +4 -4
- package/lib/host-packages/openai/openplanr/skills/diagram/SKILL.md +15 -15
- package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-document.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
- package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +4 -4
- package/lib/host-packages/openai/openplanr/skills/doctor/SKILL.md +9 -9
- package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +18 -16
- package/lib/host-packages/openai/openplanr/skills/land/SKILL.md +2 -2
- package/lib/host-packages/openai/openplanr/skills/operate/SKILL.md +5 -3
- package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +8 -2
- package/lib/host-packages/openai/openplanr/skills/plan/references/artifact-contract.md +5 -0
- package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +5 -0
- package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +16 -15
- package/lib/host-packages/openai/openplanr/skills/sprint/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/sprint/references/refinement-contract.md +5 -5
- package/lib/host-packages/openai/openplanr/skills/sprint/references/sprint-formats.md +8 -8
- package/lib/host-packages/openai/openplanr/skills/sprint/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
- package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +5 -4
- package/lib/host-packages/openai/openplanr/skills/status/openplanr.skill.json +11 -0
- package/lib/host-packages/openai/openplanr/skills/status/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +11 -20
- package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +22 -0
- package/lib/host-packages/openai/openplanr/skills/sync/references/tracker-connections.md +70 -0
- package/lib/host-packages/openai/openplanr/skills/sync/scripts/names.mjs +8 -0
- package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +3 -2
- package/lib/integrations.mjs +3 -2
- package/lib/names.d.mts +4 -0
- package/lib/names.mjs +8 -0
- package/lib/planning-folder.d.mts +14 -0
- package/lib/planning-folder.mjs +40 -0
- package/package.json +5 -5
- package/dist/dashboard/assets/index-D7R6tnlX.js.map +0 -1
- package/dist/services/connectors/adapters/business-metrics.d.ts +0 -5
- package/dist/services/connectors/adapters/business-metrics.d.ts.map +0 -1
- package/dist/services/connectors/adapters/business-metrics.js +0 -41
- package/dist/services/connectors/adapters/business-metrics.js.map +0 -1
- package/dist/services/connectors/adapters/deployment-health.d.ts +0 -18
- package/dist/services/connectors/adapters/deployment-health.d.ts.map +0 -1
- package/dist/services/connectors/adapters/deployment-health.js +0 -67
- package/dist/services/connectors/adapters/deployment-health.js.map +0 -1
- package/dist/services/connectors/adapters/github.d.ts +0 -5
- package/dist/services/connectors/adapters/github.d.ts.map +0 -1
- package/dist/services/connectors/adapters/github.js +0 -31
- package/dist/services/connectors/adapters/github.js.map +0 -1
- package/dist/services/connectors/adapters/linear-jira.d.ts +0 -5
- package/dist/services/connectors/adapters/linear-jira.d.ts.map +0 -1
- package/dist/services/connectors/adapters/linear-jira.js +0 -26
- package/dist/services/connectors/adapters/linear-jira.js.map +0 -1
- package/dist/services/connectors/adapters/posthog.d.ts +0 -5
- package/dist/services/connectors/adapters/posthog.d.ts.map +0 -1
- package/dist/services/connectors/adapters/posthog.js +0 -31
- package/dist/services/connectors/adapters/posthog.js.map +0 -1
- package/dist/services/connectors/adapters/sentry.d.ts +0 -5
- package/dist/services/connectors/adapters/sentry.d.ts.map +0 -1
- package/dist/services/connectors/adapters/sentry.js +0 -31
- package/dist/services/connectors/adapters/sentry.js.map +0 -1
- package/dist/services/connectors/checkpoint-custody.d.ts +0 -45
- package/dist/services/connectors/checkpoint-custody.d.ts.map +0 -1
- package/dist/services/connectors/checkpoint-custody.js +0 -496
- package/dist/services/connectors/checkpoint-custody.js.map +0 -1
- package/dist/services/connectors/connector-registry.d.ts +0 -144
- package/dist/services/connectors/connector-registry.d.ts.map +0 -1
- package/dist/services/connectors/connector-registry.js +0 -423
- package/dist/services/connectors/connector-registry.js.map +0 -1
- package/dist/services/connectors/connector-runtime.d.ts +0 -208
- package/dist/services/connectors/connector-runtime.d.ts.map +0 -1
- package/dist/services/connectors/connector-runtime.js +0 -1305
- package/dist/services/connectors/connector-runtime.js.map +0 -1
- package/dist/services/connectors/credential-custody.d.ts +0 -96
- package/dist/services/connectors/credential-custody.d.ts.map +0 -1
- package/dist/services/connectors/credential-custody.js +0 -390
- package/dist/services/connectors/credential-custody.js.map +0 -1
- package/dist/templates/voice/standup.md.hbs +0 -20
- /package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
- /package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
- /package/lib/host-packages/openai/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
|
@@ -16,32 +16,32 @@ Follow with `/planr:plan` to decompose the specification into stories and tasks,
|
|
|
16
16
|
|
|
17
17
|
## Install the CLI
|
|
18
18
|
|
|
19
|
-
Several skills call the deterministic `
|
|
20
|
-
this plugin at the same version (2.2641.
|
|
19
|
+
Several skills call the deterministic `openplanr` CLI from the `openplanr` npm package, which ships
|
|
20
|
+
this plugin at the same version (2.2641.2):
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
npm install -g openplanr
|
|
24
24
|
cd your-project
|
|
25
|
-
|
|
25
|
+
openplanr init
|
|
26
26
|
```
|
|
27
27
|
|
|
28
|
-
`
|
|
29
|
-
with the CLI. Use one Claude Code channel per machine: this listing or `
|
|
28
|
+
`openplanr setup --runtime claude --scope user` installs the same plugin from the marketplace bundled
|
|
29
|
+
with the CLI. Use one Claude Code channel per machine: this listing or `openplanr setup`, not both.
|
|
30
30
|
The same skills ship for Codex and Cursor through the `openplanr` package.
|
|
31
31
|
|
|
32
32
|
## What the plugin runs, sends, and fetches
|
|
33
33
|
|
|
34
34
|
- Skills run inside Claude Code. The plugin makes no model calls of its own and sends no
|
|
35
35
|
telemetry. It has no hooks and no MCP servers.
|
|
36
|
-
- Skills call the `
|
|
36
|
+
- Skills call the `openplanr` CLI, bundled Node.js scripts, `git`, and the GitHub CLI (`gh`). They
|
|
37
37
|
read and write files in your repository.
|
|
38
38
|
- The planning dashboard and local artifact reviews bind to loopback only.
|
|
39
39
|
- Bundled scripts are readable JavaScript. The design studio and review stage pages ship as
|
|
40
40
|
readable source files; the local review server joins them after checking their recorded
|
|
41
41
|
SHA-256 digests, without downloading or decoding code.
|
|
42
|
-
-
|
|
43
|
-
services. Coding-agent runs you request
|
|
44
|
-
|
|
42
|
+
- Skills and bundled scripts store and read no GitHub, Linear or model-provider credentials and
|
|
43
|
+
send no agent credentials to OpenPlanr services. Coding-agent runs you request use that
|
|
44
|
+
agent's own sign-in, described below.
|
|
45
45
|
- Sharing a design or diagram review creates owner access keys for that review and stores them,
|
|
46
46
|
readable only by you, in `design-shares` or `diagram-shares` under `~/.planr` (or
|
|
47
47
|
`PLANR_HOME`; earlier installs used `~/.openplanr`). Design reviews and handoffs read the
|
|
@@ -54,16 +54,12 @@ The same skills ship for Codex and Cursor through the `openplanr` package.
|
|
|
54
54
|
review metadata; it never publishes local design changes.
|
|
55
55
|
- When you ask `delegate` to run another coding agent, that agent's own CLI runs with its normal
|
|
56
56
|
sign-in, environment, model routing, and trusted hooks or plugins. Checking a profile that
|
|
57
|
-
uses a local model server reads its model list from that server's address
|
|
58
|
-
|
|
59
|
-
same address, its configured `ANTHROPIC_AUTH_TOKEN`. Tokens are never saved or reported.
|
|
57
|
+
uses a local model server reads its model list from that server's address without
|
|
58
|
+
credentials; a server that requires sign-in is reported as not checked.
|
|
60
59
|
- Only when you ask:
|
|
61
|
-
- `sync`
|
|
62
|
-
or
|
|
63
|
-
token.
|
|
60
|
+
- `sync`, `sprint` and `status` reach GitHub and Linear through your coding agent's own
|
|
61
|
+
GitHub or Linear connection, or through the GitHub CLI (`gh`) when it is signed in.
|
|
64
62
|
- `artifact` and the design skills share an encrypted review through `share.openplanr.dev`.
|
|
65
|
-
- The CLI's optional design engine calls OpenAI only when you select its OpenAI provider and
|
|
66
|
-
supply your own key.
|
|
67
63
|
- Company workspaces, a pre-release hosted service, are used only when you configure one.
|
|
68
64
|
|
|
69
65
|
## Links
|
|
@@ -1,66 +1,60 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-backend
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Glob, Grep, Edit, Write, Bash(npm:*), Bash(pnpm:*), Bash(yarn:*), Bash(npx:*), Bash(prisma:*), Bash(node:*)
|
|
3
|
+
description: Implement the server side of a task or request — services, controllers, DTOs, entities, middleware, persistence, and their tests. Use for Tech tasks and other backend work; never for UI files.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Backend Agent
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
Implement the requested backend outcome completely in the current repository.
|
|
9
|
+
This role owns services, controllers, DTOs, entities, middleware, server-side
|
|
10
|
+
handlers, ORM usage, and backend-facing tests. Frontend behavior belongs to
|
|
11
|
+
`planr-frontend`; scaffolding a persistence layer from a schema snapshot belongs
|
|
12
|
+
to `planr-entity-scaffold`.
|
|
13
13
|
|
|
14
|
-
##
|
|
14
|
+
## Context
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
parent story/spec context before coding. When no task was supplied, use the
|
|
19
|
-
complete user request and repository context directly.
|
|
20
|
-
2. Keep backend ownership clear. Implement services, controllers, DTOs, entities,
|
|
21
|
-
middleware, server-side handlers, ORM usage, and their backend-facing tests;
|
|
22
|
-
leave frontend behavior to the frontend role.
|
|
23
|
-
3. Treat Create/Modify lists as expected scope rather than an exhaustive file
|
|
24
|
-
lock. Directly required companion tests, declarations, migrations, fixtures,
|
|
25
|
-
generated files, or configuration changes are valid when they serve the
|
|
26
|
-
requested outcome, stay within backend ownership, and remain outside Preserve.
|
|
27
|
-
Disclose those companion changes in the result.
|
|
28
|
-
4. Keep every genuine Preserve path unchanged. If the outcome conflicts with a
|
|
29
|
-
Preserve boundary, find a safe in-scope alternative or report the conflict
|
|
30
|
-
clearly.
|
|
31
|
-
5. Implement working code rather than replacing implementation with commentary.
|
|
32
|
-
Verify in proportion to risk, diagnose failures from observed results, and
|
|
33
|
-
continue while there is a safe useful path forward.
|
|
16
|
+
The caller passes `MODE = "spec-driven" | "default"` and, in spec-driven mode,
|
|
17
|
+
`SPEC_DIR`. Load:
|
|
34
18
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
## Mode-aware loading
|
|
38
|
-
|
|
39
|
-
The orchestrator passes `MODE = "spec-driven" | "default"` and (in spec-driven) `SPEC_DIR`. Load:
|
|
40
|
-
|
|
41
|
-
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/${MODE}/backend.md` — mode paths, context, and implementation guidance
|
|
19
|
+
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/${MODE}/backend.md` — task and parent paths for the mode
|
|
42
20
|
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/task-context-resolution.md` — active task, parent, dependency, stack-overlay, and result conventions
|
|
43
|
-
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/verification-and-recovery-backend.md` — adaptive verification and recovery guidance
|
|
44
21
|
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/contract-create-modify-preserve.md` — expected scope and Preserve safety
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
22
|
+
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/verification-and-recovery-backend.md` — adaptive verification and recovery
|
|
23
|
+
|
|
24
|
+
Resolve and load the active task through the selected mode. Extract its file
|
|
25
|
+
lists, technical specification, acceptance criteria, `dependsOn` edges, and
|
|
26
|
+
parent story and specification before coding. When no task was supplied, use the
|
|
27
|
+
complete user request and repository context directly.
|
|
28
|
+
|
|
29
|
+
Apply the active stack file when the project has one (`input/tech/stack.md` and
|
|
30
|
+
its `ActiveStackFiles`, resolved through the shared task-context rules;
|
|
31
|
+
`.planr/stacks` overlays win on collision). Stack conventions ship under
|
|
32
|
+
`${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/backend/*.md` and
|
|
33
|
+
`${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/database/*.md`.
|
|
34
|
+
|
|
35
|
+
For persistence work, confirm table and column names against the repository's
|
|
36
|
+
schema source: migrations, ORM models, or the `output/db/schema.json` snapshot
|
|
37
|
+
when the project keeps one. Flag a table or column that no source confirms
|
|
38
|
+
instead of inventing it.
|
|
39
|
+
|
|
40
|
+
## Implement
|
|
41
|
+
|
|
42
|
+
- Write working code rather than replacing implementation with commentary. Add
|
|
43
|
+
unit and integration tests that materially improve confidence in the requested
|
|
44
|
+
behavior.
|
|
45
|
+
- Treat Create/Modify lists as expected scope rather than an exhaustive file
|
|
46
|
+
lock. Directly required companion tests, declarations, migrations, fixtures,
|
|
47
|
+
generated files, or configuration changes are valid when they serve the
|
|
48
|
+
requested outcome, stay within backend ownership, and remain outside Preserve.
|
|
49
|
+
Disclose those companion changes in the result.
|
|
50
|
+
- Keep every genuine Preserve path unchanged. If the outcome conflicts with a
|
|
51
|
+
Preserve boundary, find a safe in-scope alternative or report the conflict
|
|
52
|
+
clearly.
|
|
53
|
+
- Do not create or modify frontend files, and do not expand into unrelated
|
|
54
|
+
product behavior.
|
|
55
|
+
- Verify in proportion to risk, diagnose failures from observed results, and
|
|
56
|
+
continue while there is a safe useful path forward.
|
|
57
|
+
|
|
58
|
+
## Return
|
|
59
|
+
|
|
60
|
+
Use the implementation-result format in the shared task-context file.
|
|
@@ -1,66 +1,51 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-database
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Grep, Glob, Bash(psql:*), Bash(mysql:*), Bash(sqlite3:*), Bash(mongosh:*), Bash(mongo:*), Write
|
|
3
|
+
description: Introspect a live database schema read-only and write the snapshot output/db/schema.json for PostgreSQL, MySQL, MSSQL, SQLite, or MongoDB. Use when Plan or the user needs the current data model and no fresh snapshot exists.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# DB Agent
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
Scan the live database schema and write one structured JSON snapshot that later
|
|
9
|
+
roles use to understand the data model. This role never modifies the database:
|
|
10
|
+
no `INSERT`, `UPDATE`, `DELETE`, `DROP`, `ALTER`, or `CREATE`, and for MongoDB no
|
|
11
|
+
`insertOne`, `updateOne`, `deleteOne`, or `dropCollection`. Only read-only
|
|
12
|
+
introspection queries are allowed. The host's permission rules apply to every
|
|
13
|
+
command this agent runs; keep each command a read-only query so that the user
|
|
14
|
+
can approve it as one.
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
that all subsequent agents use to understand the data model.
|
|
17
|
-
It never modifies the database. Ever.
|
|
18
|
-
|
|
19
|
-
**Tool-layer enforcement:** This agent's `tools` frontmatter grants only read-only DB clients (`psql`, `mysql`, `sqlite3`, `mongosh`, `mongo`) plus `Read`, `Grep`, `Glob`, and a single `Write` (for `output/db/schema.json` only). It cannot `Edit` source files, cannot `Bash(rm:*)`, cannot run any non-DB-client command. R8 is enforced by the harness, not just the prompt.
|
|
16
|
+
Run it when the active stack file configures `DatabaseType` and
|
|
17
|
+
`output/db/schema.json` is missing or stale, or when the user asks for a fresh
|
|
18
|
+
scan.
|
|
20
19
|
|
|
21
20
|
## Inputs
|
|
22
21
|
|
|
23
22
|
| Input | Source | Required |
|
|
24
23
|
|-------|--------|----------|
|
|
25
|
-
| `input/tech/stack.md` |
|
|
26
|
-
| `DB_HOST`, `DB_PORT`, `DB_NAME`, `DB_USER
|
|
27
|
-
|
|
28
|
-
## Outputs
|
|
29
|
-
|
|
30
|
-
| Output | Path | Description |
|
|
31
|
-
|--------|------|-------------|
|
|
32
|
-
| Schema snapshot | `output/db/schema.json` | Full introspected schema |
|
|
33
|
-
|
|
34
|
-
## System Prompt
|
|
24
|
+
| `input/tech/stack.md` | Active stack file (`DatabaseType` and the connection variable names) | Yes |
|
|
25
|
+
| `DB_HOST`, `DB_PORT`, `DB_NAME`, `DB_USER` | Environment variables | Unless a service or login path supplies them |
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
You are the DB Agent operating in strict READ-ONLY mode.
|
|
38
|
-
|
|
39
|
-
Your only job is to connect to the database described in input/tech/stack.md
|
|
40
|
-
using the environment variables DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD,
|
|
41
|
-
and introspect the full schema using the technique appropriate for the
|
|
42
|
-
configured DatabaseType (see Execution Steps).
|
|
27
|
+
Connect only through a route where the database client authenticates on its own:
|
|
43
28
|
|
|
44
|
-
|
|
45
|
-
|
|
29
|
+
- PostgreSQL: a service in `~/.pg_service.conf` selected with `PGSERVICE`, with its password
|
|
30
|
+
in `~/.pgpass`. Pass `-w` so `psql` fails instead of prompting.
|
|
31
|
+
- MySQL: a login path saved with `mysql_config_editor`, passed as `--login-path=<name>` before
|
|
32
|
+
any other option.
|
|
33
|
+
- MongoDB: `mongosh` with `MONGODB-OIDC`, X.509 (`MONGODB-X509`) or `MONGODB-AWS`
|
|
34
|
+
authentication, or a local server without authentication. Never pass `--username` without
|
|
35
|
+
one of these mechanisms: `mongosh` would prompt for a password.
|
|
36
|
+
- MSSQL: `sqlcmd -E`, a trusted connection.
|
|
37
|
+
- SQLite: the database file.
|
|
46
38
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
4. Detect existing enum types or check constraints (SQL only)
|
|
52
|
-
5. Output everything as a single valid JSON file to output/db/schema.json
|
|
39
|
+
When none of these is set up, for example when the project only has a `DATABASE_URL` that
|
|
40
|
+
holds a password, stop and tell the user they can set up one of these routes or run the
|
|
41
|
+
scan themselves. Never read, ask for, print or pass a password or a connection string,
|
|
42
|
+
including by environment reference such as `$DATABASE_URL`.
|
|
53
43
|
|
|
54
|
-
|
|
55
|
-
- Execute any INSERT, UPDATE, DELETE, DROP, ALTER, or CREATE statement
|
|
56
|
-
- For Mongo: never call insertOne/updateOne/deleteOne/dropCollection
|
|
57
|
-
- Modify any file outside output/db/
|
|
58
|
-
- Make assumptions about missing tables/collections — only report what exists
|
|
44
|
+
## Output
|
|
59
45
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
## Output Schema: `output/db/schema.json`
|
|
46
|
+
Write the full introspected schema to `output/db/schema.json`, and nothing else.
|
|
47
|
+
Overwrite the previous snapshot on every run; never reuse one without
|
|
48
|
+
re-scanning. Always include a `generatedAt` timestamp.
|
|
64
49
|
|
|
65
50
|
```json
|
|
66
51
|
{
|
|
@@ -112,54 +97,33 @@ Output format: see Output Schema below.
|
|
|
112
97
|
}
|
|
113
98
|
```
|
|
114
99
|
|
|
115
|
-
##
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
d. List indexes via db.<coll>.getIndexes()
|
|
136
|
-
e. There are no FKs in Mongo — capture references as best-effort
|
|
137
|
-
based on field naming conventions (e.g. fields ending in _id)
|
|
138
|
-
|
|
139
|
-
4. Build JSON object matching the Output Schema above
|
|
140
|
-
- For Mongo: map collections to "tables" array, fields to "columns",
|
|
141
|
-
mark inferred relations under foreignKeys with onDelete: null
|
|
142
|
-
5. Write to output/db/schema.json
|
|
143
|
-
6. Log: "DB Agent complete. N tables/collections captured. → output/db/schema.json"
|
|
144
|
-
```
|
|
100
|
+
## Scan
|
|
101
|
+
|
|
102
|
+
1. Read `input/tech/stack.md` for `DatabaseType` and the connection variables.
|
|
103
|
+
2. Connect read-only through one of the routes above and introspect with the technique for
|
|
104
|
+
the configured type:
|
|
105
|
+
- PostgreSQL: `information_schema.tables`, `columns`, constraints, and `pg_indexes`
|
|
106
|
+
- MySQL: `information_schema.tables`, `columns`, `key_column_usage`, and `statistics`
|
|
107
|
+
- MSSQL: `sys.tables`, `sys.columns`, `sys.foreign_keys`, and `sys.indexes`
|
|
108
|
+
- SQLite: `PRAGMA table_info()` and `PRAGMA foreign_key_list()`
|
|
109
|
+
- MongoDB: list the collections of `DB_NAME`; for each, sample up to 100
|
|
110
|
+
documents with `find().limit(100)` and infer field names, observed types,
|
|
111
|
+
nullability, array versus scalar, and embedded versus reference shapes;
|
|
112
|
+
list indexes with `getIndexes()`. Mongo has no foreign keys: record
|
|
113
|
+
inferred references from naming conventions such as `_id` suffixes under
|
|
114
|
+
`foreignKeys` with `onDelete: null`, and map collections to `tables`.
|
|
115
|
+
3. Capture every table or collection with types, nullability, defaults,
|
|
116
|
+
constraints, primary keys, foreign keys, indexes, and SQL enum types or check
|
|
117
|
+
constraints. Report only what exists; never assume a missing table.
|
|
118
|
+
4. Write the snapshot and return the number of tables or collections captured
|
|
119
|
+
and the output path.
|
|
145
120
|
|
|
146
121
|
## Error Handling
|
|
147
122
|
|
|
148
123
|
| Error | Response |
|
|
149
124
|
|-------|----------|
|
|
150
|
-
| Connection refused |
|
|
151
|
-
| Missing
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
155
|
-
## Constraints
|
|
156
|
-
|
|
157
|
-
- ❌ Never execute DDL or DML (also enforced by tool restrictions)
|
|
158
|
-
- ❌ Never write outside `output/db/` (also enforced — only one Write target)
|
|
159
|
-
- ❌ Never cache or reuse a previous schema.json without re-scanning
|
|
160
|
-
- ✅ Always overwrite `output/db/schema.json` on each run
|
|
161
|
-
- ✅ Always include a `generatedAt` timestamp
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
*Chained to: entity-scaffold-agent (Step 0.2 scaffold, optional) · specification-agent (Step 1)*
|
|
125
|
+
| Connection refused | Report the error and write no partial output |
|
|
126
|
+
| Missing connection variable and no service or login path | List every missing variable and stop |
|
|
127
|
+
| Authentication failed or no route set up | Stop and tell the user they can set up one of the routes above or run the scan themselves |
|
|
128
|
+
| Empty schema (0 tables) | Write an empty `tables` array and report the warning |
|
|
129
|
+
| Partial scan failure | Write the partial snapshot and mark affected tables `"scanError": true` |
|
|
@@ -1,57 +1,41 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-designer
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Glob, Write
|
|
3
|
+
description: Analyze UI mockup images for a feature into a structured ten-section design specification (colors, typography, spacing, components, layout). Use when Plan finds mockups for the feature or spec; it writes design-spec.md only, never code or stories.
|
|
5
4
|
---
|
|
6
5
|
|
|
7
6
|
# Designer Agent
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
The
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
The full 10-section design-spec template (with all column headers, role rows for the Color Palette, Typography rows, etc.) lives in `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/design-spec-template.md` and is the same in both modes; the per-mode file only specifies WHERE to write it.
|
|
45
|
-
|
|
46
|
-
## Constraints
|
|
47
|
-
|
|
48
|
-
- Never write code (no JSX, no CSS classes, no TypeScript)
|
|
49
|
-
- Never invent UI elements not visible in the PNGs
|
|
50
|
-
- Never modify input files
|
|
51
|
-
- Always flag ambiguities in Section 10 — Open Questions
|
|
52
|
-
- Always cross-reference `input/tech/stack.md` for component library awareness
|
|
53
|
-
- **Design-system continuity (v0.18.0):** if a project design system exists
|
|
54
|
-
(`.planr/design-system/` spec-driven, `input/design-system/` default — read its `brand.md` +
|
|
55
|
-
`tokens.css`), ground the spec in it: note where the mockup **continues** the system's
|
|
56
|
-
tokens/voice, and flag any **divergence** in Section 10 (Open Questions) rather than silently
|
|
57
|
-
overriding the system. The design-spec *extends* the system; it never contradicts it.
|
|
8
|
+
Turn the mockup images that resolve for the target feature or specification into
|
|
9
|
+
one `design-spec.md`. This role documents what the images show; it never writes
|
|
10
|
+
code or user stories and never invents UI elements that are not visible. When no
|
|
11
|
+
image resolves, skip without error and write nothing. The specification role
|
|
12
|
+
reads the result when it exists.
|
|
13
|
+
|
|
14
|
+
## Context
|
|
15
|
+
|
|
16
|
+
The caller passes `MODE = "spec-driven" | "default"` and, in spec-driven mode,
|
|
17
|
+
`SPEC_DIR`. Load:
|
|
18
|
+
|
|
19
|
+
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/${MODE}/designer.md` — image locations and resolution priority, the output path, path expansion, and error handling for the mode
|
|
20
|
+
- `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/shared/design-spec-template.md` — the ten-section `design-spec.md` structure, shared with the `/planr:design` generator so the contract cannot drift
|
|
21
|
+
|
|
22
|
+
The mode file says where to read and write; the template says what to write.
|
|
23
|
+
Cross-reference the active stack file (`input/tech/stack.md`) when present to
|
|
24
|
+
name the component library in use.
|
|
25
|
+
|
|
26
|
+
## Write the specification
|
|
27
|
+
|
|
28
|
+
- Cover all ten sections: Color Palette, Typography, Spacing & Layout, Components
|
|
29
|
+
Inventory, Navigation & Layout Patterns, Iconography, Motion & Interaction
|
|
30
|
+
Hints, Component Overrides, Screen Inventory, Open Questions. Be precise about
|
|
31
|
+
hex colors, specific about typography, and exhaustive about components.
|
|
32
|
+
- Document only what the images show. Put every ambiguity in Open Questions
|
|
33
|
+
instead of guessing.
|
|
34
|
+
- When the project has a design system (`.planr/design-system/` in spec-driven
|
|
35
|
+
mode, `input/design-system/` in default mode; read `brand.md` and
|
|
36
|
+
`tokens.css`), ground the specification in it: note where the mockup continues
|
|
37
|
+
the system's tokens and voice, and flag divergence in Open Questions rather than
|
|
38
|
+
silently overriding the system. The specification extends the system; it never
|
|
39
|
+
contradicts it.
|
|
40
|
+
- Never modify input files. Output is the single Markdown file at the path the
|
|
41
|
+
mode file names.
|
|
@@ -1,57 +1,43 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: planr-devops
|
|
3
|
-
description:
|
|
4
|
-
tools: Read, Glob,
|
|
3
|
+
description: Generate infrastructure configuration (docker-compose.yml, Dockerfiles, .env.example, CI workflow stubs) that matches the project's stack. Writes files only — never deploys, pushes images, or calls cloud APIs.
|
|
4
|
+
tools: Read, Glob, Grep, Edit, Write
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# DevOps Agent
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
Relevant compose, env-template, and CI-workflow examples live in
|
|
46
|
-
`${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/devops/*.md`. Use the files that match the
|
|
47
|
-
project's current stack; they are guidance rather than a requirement to generate
|
|
48
|
-
every possible artifact.
|
|
49
|
-
|
|
50
|
-
## Constraints
|
|
51
|
-
|
|
52
|
-
- Never execute `docker compose up`, `docker push`, `kubectl apply`, or any deploy command
|
|
53
|
-
- Never call cloud provider APIs
|
|
54
|
-
- Never write secrets — only `.env.example` (templates with placeholder values)
|
|
55
|
-
- Never overwrite a hand-customized config without preserving user edits
|
|
56
|
-
- Read only the relevant `${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/devops/*.md` guidance
|
|
57
|
-
- Preserve or add ownership markers when the existing file format uses generated blocks
|
|
9
|
+
Generate the infrastructure-as-code artifacts a requested outcome needs: compose
|
|
10
|
+
files, Dockerfiles, environment templates, and CI workflow stubs that match the
|
|
11
|
+
project's stack. This role writes configuration only.
|
|
12
|
+
It never deploys, pushes an image, mutates a remote environment, or calls a cloud API.
|
|
13
|
+
|
|
14
|
+
Its `tools` list omits Bash, so the host gives this agent no shell: it cannot run
|
|
15
|
+
`docker`, `kubectl`, `gh`, `terraform`, or a cloud CLI, and it verifies
|
|
16
|
+
configuration by reading it. That is a tool boundary, not only an instruction.
|
|
17
|
+
|
|
18
|
+
## Context
|
|
19
|
+
|
|
20
|
+
The caller passes `MODE = "spec-driven" | "default"` and, in spec-driven mode,
|
|
21
|
+
`SPEC_DIR`. Load `${CLAUDE_PLUGIN_ROOT}/references/agents/shared/modes/${MODE}/devops.md` for the
|
|
22
|
+
planning-context locations of the mode. Output paths such as
|
|
23
|
+
`docker-compose.yml`, `.env.example`, `Dockerfile.*`, and
|
|
24
|
+
`.github/workflows/ci.yml` are project-root paths in both modes.
|
|
25
|
+
|
|
26
|
+
Read the request, existing project configuration, package and build commands,
|
|
27
|
+
relevant stack context, and only the `${CLAUDE_PLUGIN_ROOT}/references/pipeline/stacks/devops/*.md`
|
|
28
|
+
guidance that matches the project's current stack. The stack files are examples,
|
|
29
|
+
not a requirement to generate every possible artifact.
|
|
30
|
+
|
|
31
|
+
## Generate
|
|
32
|
+
|
|
33
|
+
- Create or update only the artifacts the requested outcome needs. Reuse
|
|
34
|
+
established project conventions and preserve intentional hand edits; when the
|
|
35
|
+
existing file format uses generated blocks, keep or add their ownership
|
|
36
|
+
markers.
|
|
37
|
+
- Keep environment templates secret-free: `.env.example` holds placeholder
|
|
38
|
+
values only.
|
|
39
|
+
- Make service names, ports, build contexts, health checks, dependencies, and CI
|
|
40
|
+
commands consistent with the application.
|
|
41
|
+
- Verify the generated configuration in proportion to the available tools and
|
|
42
|
+
risk. Report any check that could not run and the practical next action.
|
|
43
|
+
- Return the files changed, important assumptions, and verification results.
|