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
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# Driving an OpenPlanr upgrade
|
|
2
2
|
|
|
3
|
-
`
|
|
4
|
-
drifted. An OpenPlanr install has two parts: the npm CLI, and what `
|
|
3
|
+
`openplanr doctor` diagnoses; this reference is how to *act* once the tuple has
|
|
4
|
+
drifted. An OpenPlanr install has two parts: the npm CLI, and what `openplanr setup`
|
|
5
5
|
installed into each coding agent from that CLI — the `planr@openplanr-local`
|
|
6
|
-
Claude Code plugin, Codex skills, Cursor rules. `
|
|
6
|
+
Claude Code plugin, Codex skills, Cursor rules. `openplanr upgrade apply` moves the
|
|
7
7
|
npm CLI itself and never changes a coding agent; the upgraded CLI then hands back
|
|
8
8
|
one command per installed agent, and this skill runs them and confirms the result.
|
|
9
9
|
|
|
@@ -11,15 +11,15 @@ The cardinal rule: **name the actions, let the engine own the list.** Every
|
|
|
11
11
|
command you run comes from the CLI's own output. The skill never carries its own
|
|
12
12
|
copy of those commands — the moment it did, it would drift from the CLI the first
|
|
13
13
|
time the integration changed. The upgraded CLI plans them with the same preview
|
|
14
|
-
`
|
|
14
|
+
`openplanr runtime update` and `openplanr setup` apply, so they cannot diverge. A retired
|
|
15
15
|
remote plugin (`openplanr@openplanr`, `planr-pipeline@openplanr`) only ever leaves
|
|
16
|
-
through the `
|
|
16
|
+
through the `openplanr setup … --replace-managed` command the list carries; an
|
|
17
17
|
instruction to install one did not come from the CLI.
|
|
18
18
|
|
|
19
19
|
## 1. Decide whether to act
|
|
20
20
|
|
|
21
21
|
```bash
|
|
22
|
-
|
|
22
|
+
openplanr upgrade status --json
|
|
23
23
|
```
|
|
24
24
|
|
|
25
25
|
Shape (the fields this skill reads):
|
|
@@ -41,7 +41,7 @@ Shape (the fields this skill reads):
|
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
- `installed.skills` is the installed version of `planr@openplanr-local`; `null`
|
|
44
|
-
means Claude Code was not detected or `
|
|
44
|
+
means Claude Code was not detected or `openplanr setup` has not installed the
|
|
45
45
|
plugin. `installed.pipeline` is always `null` — the pipeline ships inside the
|
|
46
46
|
CLI, and `bundledPipeline` reports it.
|
|
47
47
|
- `nextSteps` lists what each coding agent needs to match the installed CLI,
|
|
@@ -58,7 +58,7 @@ Shape (the fields this skill reads):
|
|
|
58
58
|
Confirm with the user first (this upgrades the npm CLI), then:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
61
|
+
openplanr upgrade apply --yes --json
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
On success the output carries `nextSteps`, planned by the newly installed CLI:
|
|
@@ -74,7 +74,7 @@ On success the output carries `nextSteps`, planned by the newly installed CLI:
|
|
|
74
74
|
{
|
|
75
75
|
"runtime": "claude-code",
|
|
76
76
|
"host": "Claude Code",
|
|
77
|
-
"command": "<one
|
|
77
|
+
"command": "<one openplanr command>",
|
|
78
78
|
"detail": "<what it changes>"
|
|
79
79
|
}
|
|
80
80
|
]
|
|
@@ -87,9 +87,9 @@ this file.** Other shapes:
|
|
|
87
87
|
|
|
88
88
|
- An empty array: every installed coding agent already matches the new CLI.
|
|
89
89
|
- `nextStepsError` instead of steps: the upgraded CLI could not be asked. Run
|
|
90
|
-
`
|
|
91
|
-
-
|
|
92
|
-
says why. Relay it and run `
|
|
90
|
+
`openplanr upgrade status --json` and use its `nextSteps`.
|
|
91
|
+
- An `openplanr doctor` command: planning that agent's update failed, and `detail`
|
|
92
|
+
says why. Relay it and run `openplanr doctor --json`.
|
|
93
93
|
|
|
94
94
|
`pluginHalfCommands` repeats the commands for older readers; read `nextSteps`.
|
|
95
95
|
|
|
@@ -111,8 +111,8 @@ keeps the old plugin and skills until it restarts.
|
|
|
111
111
|
## 4. Verify, then report what actually changed
|
|
112
112
|
|
|
113
113
|
```bash
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
openplanr upgrade status --json
|
|
115
|
+
openplanr doctor --json
|
|
116
116
|
```
|
|
117
117
|
|
|
118
118
|
Compare the new `installed` block against the before state you recorded, and
|
|
@@ -123,12 +123,14 @@ CLI 2.2638.0 → 2.2639.1 moved
|
|
|
123
123
|
planr@openplanr-local 2.2638.0 → 2.2639.1 moved
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
`nextSteps` should now be empty. `
|
|
126
|
+
`nextSteps` should now be empty. `openplanr doctor` adds what `upgrade status` does
|
|
127
127
|
not judge. A `runtime-claude-duplicate-plugin` warning means a second `planr`
|
|
128
128
|
plugin (usually `planr@openplanr`, installed from the public marketplace) sits
|
|
129
129
|
beside the setup-managed one, and both expose the same `/planr` commands. Its `fix`
|
|
130
130
|
carries the exact `claude plugin uninstall` command: relay it, and run it only
|
|
131
|
-
when the user asks — nothing removes a duplicate automatically.
|
|
131
|
+
when the user asks — nothing removes a duplicate automatically. An
|
|
132
|
+
`installed-skill-commands` warning means installed skills still use the old
|
|
133
|
+
command name; relay its `fix`, which names the setup command that refreshes them.
|
|
132
134
|
|
|
133
135
|
State the outcome from this second reading, never from the commands you ran. If
|
|
134
136
|
a component did not move, say so plainly and name the likely cause (most often a
|
|
@@ -5,7 +5,7 @@ alwaysApply: false
|
|
|
5
5
|
|
|
6
6
|
# OpenPlanr Doctor
|
|
7
7
|
|
|
8
|
-
Run `
|
|
8
|
+
Run `openplanr doctor` with the requested flags. Prefer `--json` for diagnosis.
|
|
9
9
|
Preview every repair; package installation, version changes, provenance recovery,
|
|
10
10
|
and deletion always require explicit confirmation.
|
|
11
11
|
|
|
@@ -20,38 +20,38 @@ share custody under `~/.openplanr/design-shares` is read and safely moved only w
|
|
|
20
20
|
its canonical destination is absent. Existing destinations are never overwritten.
|
|
21
21
|
When state seems missing, check which variable is set.
|
|
22
22
|
|
|
23
|
-
Doctor also reports healthy owned local services. Use `
|
|
24
|
-
to inspect their instance IDs, project and runtime. `
|
|
23
|
+
Doctor also reports healthy owned local services. Use `openplanr server list --json`
|
|
24
|
+
to inspect their instance IDs, project and runtime. `openplanr server stop <instance>`
|
|
25
25
|
authenticates that exact service, drains pending saves and requests shutdown.
|
|
26
26
|
A port or process ID is never shutdown authority; legacy unowned services remain
|
|
27
27
|
untouched.
|
|
28
28
|
|
|
29
29
|
## Driving an upgrade
|
|
30
30
|
|
|
31
|
-
`
|
|
32
|
-
half is the Claude Code plugin that `
|
|
31
|
+
`openplanr upgrade` moves only half of an OpenPlanr upgrade — the npm CLI. The other
|
|
32
|
+
half is the Claude Code plugin that `openplanr setup` installs from the bundled
|
|
33
33
|
`openplanr-local` marketplace, and the upgrade never changes that plugin itself:
|
|
34
34
|
it hands back the exact commands. Driving them with host shell access is this
|
|
35
35
|
skill's job, then reporting what actually changed — never what was merely
|
|
36
36
|
attempted.
|
|
37
37
|
|
|
38
|
-
1. **Decide.** Run `
|
|
38
|
+
1. **Decide.** Run `openplanr upgrade status --json` and read `status`. If it is
|
|
39
39
|
`aligned` or `unknown`, there is nothing to drive — report it and stop.
|
|
40
40
|
Record the reported `installed` versions; that is the before state.
|
|
41
41
|
2. **Own half, prescribe half.** If `status` is `upgrade-available` or
|
|
42
42
|
`incompatible`, confirm with the user (this upgrades the npm CLI), then run
|
|
43
|
-
`
|
|
43
|
+
`openplanr upgrade apply --yes --json`. The CLI performs the npm half itself and
|
|
44
44
|
returns the plugin half as an ordered `pluginHalfCommands` array — the exact
|
|
45
45
|
argv it would run, so the list can never drift from the engine. Take the
|
|
46
46
|
commands from there; never write a plugin command of your own.
|
|
47
47
|
3. **Refresh first, then execute in order.** Run every entry of
|
|
48
48
|
`pluginHalfCommands` verbatim, in the array's given order, with your shell.
|
|
49
49
|
The first entry is either the `openplanr-local` marketplace refresh or a
|
|
50
|
-
single `
|
|
50
|
+
single `openplanr setup …` command (when that marketplace was never registered);
|
|
51
51
|
it must run first: skip the refresh and the installer reinstalls the cached,
|
|
52
52
|
stale version while the user believes they upgraded. Do not reorder, drop, or
|
|
53
53
|
substitute an entry.
|
|
54
|
-
4. **Verify and report the real diff.** Re-run `
|
|
54
|
+
4. **Verify and report the real diff.** Re-run `openplanr upgrade status --json` and
|
|
55
55
|
compare its `installed` versions against the before state. Report only what
|
|
56
56
|
actually moved and to what. If a component did not move, say so — never claim
|
|
57
57
|
"upgraded" for a version that did not change.
|
|
@@ -10,8 +10,8 @@ user wants to assess readiness or prepare a clear landing sequence.
|
|
|
10
10
|
|
|
11
11
|
1. Read the current branch, worktree status, requested target, completed checks,
|
|
12
12
|
and release constraints already available in the repository or conversation.
|
|
13
|
-
2. Inspect the installed CLI help, then use `
|
|
14
|
-
show`, or `
|
|
13
|
+
2. Inspect the installed CLI help, then use `openplanr land prepare`, `openplanr land
|
|
14
|
+
show`, or `openplanr land status` only when that command adds useful local state.
|
|
15
15
|
3. Identify blockers, missing checks, ordering constraints, recovery options,
|
|
16
16
|
and the exact merge, publication, or deployment commands the user would run.
|
|
17
17
|
4. If a real release choice is missing, use the host's native structured question
|
|
@@ -46,9 +46,11 @@ matches. Never overwrite a prior cycle implicitly.
|
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
`cycle.md` records the effective scope, roster, repository revision when relevant, and the outcome
|
|
49
|
-
of each lens.
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
of each lens. An advisor lens run on its own creates the same layout with a one-lens roster and an
|
|
50
|
+
unsynthesized `board-report.md`, so every review the dashboard lists has one shape.
|
|
51
|
+
If the directory is ignored by Git, continue locally and mention that in the report; do not ask the
|
|
52
|
+
user to change ignore rules. Report an exact filesystem error only when the cycle workspace cannot be
|
|
53
|
+
created or written.
|
|
52
54
|
|
|
53
55
|
## Build shared context once
|
|
54
56
|
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
tasks/T-NNN-{slug}.md
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
+
Before writing under `.planr/`, confirm OpenPlanr created it. When it has no
|
|
14
|
+
`config.json` but holds `planr.config.json`, `board.html`, or `*-goal.md` files in
|
|
15
|
+
`tasks/` or `plans/`, OpenPlanr didn't create it: write nothing there, tell the user
|
|
16
|
+
what you found, and ask them to move or rename that folder.
|
|
17
|
+
|
|
13
18
|
Use Protocol `1.7.0` frontmatter for stories and tasks. Story frontmatter has
|
|
14
19
|
`id`, `title`, `specId`, `slug`, `schemaVersion`, `status`, dates, and
|
|
15
20
|
`acceptanceCriteria` entries with stable `AC-NNN` IDs. Task frontmatter has
|
|
@@ -78,8 +78,14 @@ Write stories and tasks directly in the repository's active planning mode.
|
|
|
78
78
|
deleted ID. The packaged [planning ID helper](planr-plan/scripts/planning-ids.mjs) may
|
|
79
79
|
inspect or reserve IDs; it never generates content.
|
|
80
80
|
- Give each story stable acceptance IDs starting at `AC-001`.
|
|
81
|
-
-
|
|
82
|
-
|
|
81
|
+
- Split each story into tasks that are coherent and independently verifiable.
|
|
82
|
+
Separate by ownership first: UI work is a `UI` task for the frontend role and
|
|
83
|
+
server, data, or integration work is a `Tech` task for the backend role.
|
|
84
|
+
Within one owner, split further only for a real output dependency, a distinct
|
|
85
|
+
verification surface, or reviewable size. Most stories need one Tech task,
|
|
86
|
+
plus one UI task when a design surface applies; never fragment one coherent
|
|
87
|
+
change into tasks that cannot be verified alone, and never fold unrelated work
|
|
88
|
+
into one task.
|
|
83
89
|
- Map every acceptance ID through `acceptanceRefs` and name it with a concrete
|
|
84
90
|
verification statement under `## Test Requirements`.
|
|
85
91
|
- Set `reviewRisks` and `browserSurfaces` from repository evidence; use empty
|
package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md
CHANGED
|
@@ -6,6 +6,11 @@ frontmatter: `id`, `title`, `slug`, `schemaVersion`, `status`, `priority`,
|
|
|
6
6
|
`created`, `updated`, `ui_files`, and `tech_dependencies`. Preserve supported
|
|
7
7
|
optional fields used by the repository.
|
|
8
8
|
|
|
9
|
+
Before writing under `.planr/`, confirm OpenPlanr created it. When it has no
|
|
10
|
+
`config.json` but holds `planr.config.json`, `board.html`, or `*-goal.md` files in
|
|
11
|
+
`tasks/` or `plans/`, OpenPlanr didn't create it: write nothing there, tell the user
|
|
12
|
+
what you found, and ask them to move or rename that folder.
|
|
13
|
+
|
|
9
14
|
Use these body sections, in this order, when the repository has no stronger
|
|
10
15
|
template:
|
|
11
16
|
|
package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/refinement-contract.md
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
The refinement document is the durable record of one run: what was read, how
|
|
4
4
|
each item was judged, what was selected and what the refuters changed. The CLI
|
|
5
|
-
validates it (`
|
|
5
|
+
validates it (`openplanr sprint refinement <id> --data`), stores it as
|
|
6
6
|
`.planr/sprints/SPRINT-NNN/refinement.json`, renders `refinement.md` from it
|
|
7
|
-
and fills the sprint body from its batches. `
|
|
8
|
-
close` and `
|
|
7
|
+
and fills the sprint body from its batches. `openplanr sprint diff`, `openplanr sprint
|
|
8
|
+
close` and `openplanr sprint apply` read it back.
|
|
9
9
|
|
|
10
10
|
## Item record
|
|
11
11
|
|
|
@@ -26,7 +26,7 @@ One entry per open item, whether or not it is selected.
|
|
|
26
26
|
| `bucket` | `inProgress`, `planNext`, `blocked` or `closeOrDemote`. |
|
|
27
27
|
| `reason` | One clause: why the item sits in that bucket. |
|
|
28
28
|
| `evidence` | For close-or-demote rows: `file:line`, PR number or date. |
|
|
29
|
-
| `targetStatus` / `targetPriority` | What `
|
|
29
|
+
| `targetStatus` / `targetPriority` | What `openplanr sprint apply` writes, in the repository's own vocabulary (`openplanr update --help`). Priority applies to backlog items only. |
|
|
30
30
|
|
|
31
31
|
## Scoring
|
|
32
32
|
|
|
@@ -149,6 +149,6 @@ A pick that fails a lens moves or drops, and the correction is recorded in
|
|
|
149
149
|
|
|
150
150
|
`inputs.sources` names what was read; `inputs.defaulted` names every value
|
|
151
151
|
taken from a default instead of the repository or the user. The CLI adds
|
|
152
|
-
`leftovers[]` on `
|
|
152
|
+
`leftovers[]` on `openplanr sprint close` and `applied` on `openplanr sprint apply`;
|
|
153
153
|
never write those yourself. Unknown fields are rejected, so keep notes in
|
|
154
154
|
`inputs.notes` or in the item's `reason`.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Three durable outputs and one chat return. The CLI writes the first three from
|
|
4
4
|
the two JSON inputs below; when it is unavailable, write the same files by hand.
|
|
5
5
|
|
|
6
|
-
## `sprint.json` (input to `
|
|
6
|
+
## `sprint.json` (input to `openplanr sprint create --data`)
|
|
7
7
|
|
|
8
8
|
```json
|
|
9
9
|
{
|
|
@@ -17,7 +17,7 @@ the two JSON inputs below; when it is unavailable, write the same files by hand.
|
|
|
17
17
|
|
|
18
18
|
`endDate` defaults to `releaseCut`, or to `startDate` plus the duration when no
|
|
19
19
|
cut is known. `status` may be `planned` or `active` (default). Omit `taskIds`
|
|
20
|
-
and `batches`; `
|
|
20
|
+
and `batches`; `openplanr sprint refinement` fills them from the refinement
|
|
21
21
|
document.
|
|
22
22
|
|
|
23
23
|
## Sprint artifact
|
|
@@ -64,11 +64,11 @@ refinedAt: "2026-09-17"
|
|
|
64
64
|
- [ ] **QT-194** Release cut 25 Sep · hours · [view](../quick/QT-194-release-cut-25-sep.md)
|
|
65
65
|
|
|
66
66
|
## Retrospective
|
|
67
|
-
_Complete this section when closing the sprint with `
|
|
67
|
+
_Complete this section when closing the sprint with `openplanr sprint close SPRINT-004`._
|
|
68
68
|
```
|
|
69
69
|
|
|
70
70
|
Each task line is `- [ ] **ID** title · effort · [view](relative path)`.
|
|
71
|
-
`
|
|
71
|
+
`openplanr status`, `openplanr sprint close` and the dashboard read these lines; tick a
|
|
72
72
|
box when the item ships. `releaseCut` is absent when no release profile exists;
|
|
73
73
|
`capacityDays` and `refinedAt` are absent until a refinement is recorded.
|
|
74
74
|
|
|
@@ -84,20 +84,20 @@ run can diff against it:
|
|
|
84
84
|
- **Refuter verdicts**: every correction verbatim, with its lens.
|
|
85
85
|
- **In progress** by batch, then **Plan next**, **Blocked** and **Close or
|
|
86
86
|
demote** in full, since only In progress goes into the sprint.
|
|
87
|
-
- **Leftovers** (after `
|
|
88
|
-
`
|
|
87
|
+
- **Leftovers** (after `openplanr sprint close`) and **Applied** (after
|
|
88
|
+
`openplanr sprint apply`).
|
|
89
89
|
|
|
90
90
|
## Machine-readable copy
|
|
91
91
|
|
|
92
92
|
`.planr/sprints/SPRINT-NNN/refinement.json`: the document described in
|
|
93
93
|
[the refinement contract](refinement-contract.md), validated against the JSON
|
|
94
94
|
Schema packaged as `schemas/refinement.schema.json` (linked from the skill
|
|
95
|
-
entrypoint). The dashboard, `
|
|
95
|
+
entrypoint). The dashboard, `openplanr sprint diff` and `openplanr sprint apply` consume
|
|
96
96
|
it.
|
|
97
97
|
|
|
98
98
|
## Status write-back
|
|
99
99
|
|
|
100
|
-
Only on approval through the structured question. `
|
|
100
|
+
Only on approval through the structured question. `openplanr sprint apply
|
|
101
101
|
SPRINT-NNN --yes --commit` writes each close, demote or blocked row's
|
|
102
102
|
`targetStatus`, `targetPriority` and `blockedBy` to the artifacts and commits the
|
|
103
103
|
sprint, the note, the JSON and the changed artifacts as one commit:
|
package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/tracker-connections.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# GitHub and Linear connections
|
|
2
|
+
|
|
3
|
+
These skills store and read no GitHub or Linear credentials. Remote steps run through a
|
|
4
|
+
connection the host already has; the planning files stay the source of truth.
|
|
5
|
+
|
|
6
|
+
## Use the host's connection
|
|
7
|
+
|
|
8
|
+
- **Linear:** the host's Linear connection, whose tools read, create and update issues.
|
|
9
|
+
- **GitHub:** the host's GitHub connection, or the GitHub CLI when
|
|
10
|
+
`gh auth status --hostname github.com` succeeds.
|
|
11
|
+
|
|
12
|
+
Never ask the user for a token, read one from the environment or a file, or put one in a
|
|
13
|
+
command, URL or file.
|
|
14
|
+
|
|
15
|
+
## When a connection is missing
|
|
16
|
+
|
|
17
|
+
Finish the local work first. Then report the remote step as not run and give the one
|
|
18
|
+
line for the current host:
|
|
19
|
+
|
|
20
|
+
| Host | Linear | GitHub |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| Claude Code | Run `/plugin install linear@claude-plugins-official`, then sign in to Linear from `/mcp`. | Install the GitHub CLI (cli.github.com) and run `gh auth login`. |
|
|
23
|
+
| Codex | Run `codex mcp add linear --url https://mcp.linear.app/mcp`, then `codex mcp login linear`. | Install the GitHub plugin from `/plugins`, or run `gh auth login`. |
|
|
24
|
+
| Cursor | Add Linear from the Cursor Marketplace and sign in to Linear. | Install the GitHub CLI (cli.github.com) and run `gh auth login`. |
|
|
25
|
+
|
|
26
|
+
Ask the user to try again once connected; never retry the remote step on your own.
|
|
27
|
+
|
|
28
|
+
## Status mapping
|
|
29
|
+
|
|
30
|
+
| Local status | Linear workflow state | GitHub issue |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| `planning`, `pending` | Unstarted (for example Todo) | open |
|
|
33
|
+
| `in-progress` | Started (for example In Progress) | open |
|
|
34
|
+
| `done` | Completed (for example Done) | closed |
|
|
35
|
+
| Backlog `open` | Backlog, else Unstarted | open |
|
|
36
|
+
| Backlog `closed` | Completed | closed |
|
|
37
|
+
| Backlog `promoted` | Leave as it is | Leave as it is |
|
|
38
|
+
|
|
39
|
+
When reading state back, write only a status the item's type allows. A backlog item takes
|
|
40
|
+
`open` or `closed` and keeps `promoted`.
|
|
41
|
+
|
|
42
|
+
- Linear Completed or Canceled sets `done`, or `closed` for a backlog item. Started sets
|
|
43
|
+
`in-progress`, and Triage, Backlog or Unstarted sets `planning` for features and stories
|
|
44
|
+
and `pending` for quick tasks; a backlog item takes `open` from any of these. Epics and
|
|
45
|
+
task files keep their status.
|
|
46
|
+
- A closed GitHub issue sets `done`, or `closed` for a backlog item. An open issue sets
|
|
47
|
+
`in-progress` for a `done` item and `open` for a `closed` backlog item; other statuses
|
|
48
|
+
stay as they are.
|
|
49
|
+
|
|
50
|
+
## Links
|
|
51
|
+
|
|
52
|
+
A linked item records its tracker identity in frontmatter. Update a linked item through
|
|
53
|
+
that identity instead of creating another, and record the identity of everything you
|
|
54
|
+
create.
|
|
55
|
+
|
|
56
|
+
- **GitHub:** each item is one issue, recorded as `githubIssue`.
|
|
57
|
+
- **Linear:** use the shapes the OpenPlanr CLI uses, so its later pushes reuse what you
|
|
58
|
+
create:
|
|
59
|
+
- An epic is a Linear project (`linearProjectId`, `linearProjectIdentifier`,
|
|
60
|
+
`linearProjectUrl`). When its `linearMappingStrategy` is `milestone-of` or `label-on`,
|
|
61
|
+
it is a milestone in an existing project (`linearMilestoneId`) or a team label
|
|
62
|
+
(`linearLabelId`) instead, and every issue under it carries that milestone
|
|
63
|
+
(`linearProjectMilestoneId`) or label (`linearLabelIds`).
|
|
64
|
+
- A feature, quick task or backlog item is one issue (`linearIssueId`,
|
|
65
|
+
`linearIssueIdentifier`, `linearIssueUrl`). A story is a sub-issue of its feature's
|
|
66
|
+
issue (`linearParentIssueId`).
|
|
67
|
+
- All task files of one feature share one task-list issue: a sub-issue of the feature's
|
|
68
|
+
issue whose checklist merges every task file, recorded in each task file. Its state is
|
|
69
|
+
Completed when every task file is `done`, Unstarted when every one is `pending`, and
|
|
70
|
+
Started otherwise.
|
package/lib/host-packages/cursor/openplanr/rules/planr-sprint/schemas/refinement.schema.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://openplanr.dev/schemas/skills/planr-sprint/refinement.schema.json",
|
|
4
4
|
"title": "OpenPlanr sprint refinement document",
|
|
5
|
-
"description": "One backlog refinement run: inputs, every open item's judgement, the four buckets, the in-progress batches and the refuter corrections. Written by the planr-sprint skill and validated by
|
|
5
|
+
"description": "One backlog refinement run: inputs, every open item's judgement, the four buckets, the in-progress batches and the refuter corrections. Written by the planr-sprint skill and validated by openplanr sprint refinement.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"required": ["schemaVersion", "sprintId", "refinedAt", "inputs", "items", "buckets"],
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
"leftovers": {
|
|
105
|
-
"description": "Written by
|
|
105
|
+
"description": "Written by openplanr sprint close.",
|
|
106
106
|
"type": "array",
|
|
107
107
|
"items": {
|
|
108
108
|
"type": "object",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
117
|
"applied": {
|
|
118
|
-
"description": "Written by
|
|
118
|
+
"description": "Written by openplanr sprint apply.",
|
|
119
119
|
"type": "object",
|
|
120
120
|
"additionalProperties": false,
|
|
121
121
|
"required": ["at", "updates"],
|
|
@@ -10,7 +10,7 @@ item in full and judges it against the default branch and the calendar.
|
|
|
10
10
|
**Select** fits the surviving items to the stated capacity and the next release
|
|
11
11
|
cut, refutes the picks with three independent lenses, and writes the sprint.
|
|
12
12
|
Perform the reasoning in this session; never delegate it to a model subprocess.
|
|
13
|
-
The CLI (`
|
|
13
|
+
The CLI (`openplanr sprint …`) stores what this skill decides. It is optional: when
|
|
14
14
|
it is unavailable, write the same files by hand in the shapes given in
|
|
15
15
|
[sprint formats](planr-sprint/references/sprint-formats.md).
|
|
16
16
|
|
|
@@ -33,9 +33,9 @@ capability; it never blocks the run. Name every degraded input in `Issues`.
|
|
|
33
33
|
| Git history and the code paths items cite | Evidence lens: stale, already fixed, premise false | Buckets rest on the items' own dates; say "not verified against code" |
|
|
34
34
|
| Release profile (`.release/profile.md`: cut date, cadence, freezes) | Size the In-progress bucket to the cut; the sprint gets `releaseCut` | Ask once for a horizon; default to a two-week sprint from today |
|
|
35
35
|
| Capacity (engineers × working days) | Fit the list and name the overflow | Ask once; default 1 engineer × 10 days, stated in the return |
|
|
36
|
-
| Previous sprint or refinement note (`.planr/sprints/SPRINT-NNN/refinement.json`) | Carry `leftovers`; `
|
|
36
|
+
| Previous sprint or refinement note (`.planr/sprints/SPRINT-NNN/refinement.json`) | Carry `leftovers`; `openplanr sprint diff` is possible | First run, no diff |
|
|
37
37
|
| Last Operate cycle | Rank its unfinished actions alongside | Skipped silently |
|
|
38
|
-
| Linear or GitHub
|
|
38
|
+
| Linear or GitHub connection ([tracker connections](planr-sprint/references/tracker-connections.md)) | Update linked issues on approval, read PR state | Local files only; report the external step as not run and name the connection to add |
|
|
39
39
|
|
|
40
40
|
## Step 0: Frame the run
|
|
41
41
|
|
|
@@ -89,7 +89,7 @@ the cheapest refutations.
|
|
|
89
89
|
|
|
90
90
|
Carry the previous Operate cycle's unfinished actions explicitly. Include the
|
|
91
91
|
release cut itself as work; when it has no artifact yet, file it with
|
|
92
|
-
`
|
|
92
|
+
`openplanr quick create "Release cut <date>"` so the sprint contains only artifact
|
|
93
93
|
ids.
|
|
94
94
|
|
|
95
95
|
## Step 4: Refute the In-progress bucket
|
|
@@ -113,9 +113,9 @@ Write the three durable outputs (formats in
|
|
|
113
113
|
them.
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
116
|
+
openplanr sprint create --data sprint.json --json # name, releaseCut, capacityDays, startDate
|
|
117
|
+
openplanr sprint refinement SPRINT-NNN --data refinement.json --json # validates, stores the note and JSON, fills the sprint body
|
|
118
|
+
openplanr sprint diff SPRINT-MMM SPRINT-NNN # when a previous run exists
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
`refinement.json` must satisfy [the schema](planr-sprint/schemas/refinement.schema.json); the
|
|
@@ -130,16 +130,17 @@ write-back, or leave the proposal as written.
|
|
|
130
130
|
## Step 6: On approval, apply
|
|
131
131
|
|
|
132
132
|
```bash
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
openplanr sprint apply SPRINT-NNN --dry-run # show the status and priority changes
|
|
134
|
+
openplanr sprint apply SPRINT-NNN --yes --commit # one commit: chore(planr): refine backlog for SPRINT-NNN
|
|
135
135
|
```
|
|
136
136
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
Then update the issue linked to each changed item through the host's Linear or
|
|
138
|
+
GitHub connection, with the status mapping in
|
|
139
|
+
[tracker connections](planr-sprint/references/tracker-connections.md), and report the items that
|
|
140
|
+
were not updated. When the CLI is unavailable, apply the same status changes with
|
|
140
141
|
the repository's own vocabulary and commit them with the same message.
|
|
141
142
|
|
|
142
|
-
Close a finished sprint with `
|
|
143
|
+
Close a finished sprint with `openplanr sprint close SPRINT-NNN`; it records the
|
|
143
144
|
leftovers the next run carries.
|
|
144
145
|
|
|
145
146
|
## Rules from production use
|
|
@@ -151,7 +152,7 @@ leftovers the next run carries.
|
|
|
151
152
|
the question that unblocks them.
|
|
152
153
|
- The list must fit the stated capacity; if it does not, say what was cut.
|
|
153
154
|
- No new migration in a hand deploy unless the sprint says so explicitly.
|
|
154
|
-
- Use the repository's own status vocabulary (`
|
|
155
|
+
- Use the repository's own status vocabulary (`openplanr update --help` lists it);
|
|
155
156
|
never introduce a second one.
|
|
156
157
|
- The note and the JSON are the durable output; the chat return is a view of
|
|
157
158
|
them. That is what keeps the third run from re-arguing the first two.
|
|
@@ -178,7 +179,7 @@ and identify incomplete evidence or blocked inputs with their recovery action.
|
|
|
178
179
|
The note and JSON remain complete and unchanged in shape. Omit empty chat sections;
|
|
179
180
|
different summary wording never causes another sprint creation or write-back.
|
|
180
181
|
|
|
181
|
-
`
|
|
182
|
+
`openplanr status` shows the active sprint with its cut and progress; the dashboard
|
|
182
183
|
(`planr-dashboard`) renders the sprint from the same frontmatter and checkboxes.
|
|
183
184
|
|
|
184
185
|
## Reference files
|
package/lib/host-packages/cursor/openplanr/rules/planr-status/references/tracker-connections.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# GitHub and Linear connections
|
|
2
|
+
|
|
3
|
+
These skills store and read no GitHub or Linear credentials. Remote steps run through a
|
|
4
|
+
connection the host already has; the planning files stay the source of truth.
|
|
5
|
+
|
|
6
|
+
## Use the host's connection
|
|
7
|
+
|
|
8
|
+
- **Linear:** the host's Linear connection, whose tools read, create and update issues.
|
|
9
|
+
- **GitHub:** the host's GitHub connection, or the GitHub CLI when
|
|
10
|
+
`gh auth status --hostname github.com` succeeds.
|
|
11
|
+
|
|
12
|
+
Never ask the user for a token, read one from the environment or a file, or put one in a
|
|
13
|
+
command, URL or file.
|
|
14
|
+
|
|
15
|
+
## When a connection is missing
|
|
16
|
+
|
|
17
|
+
Finish the local work first. Then report the remote step as not run and give the one
|
|
18
|
+
line for the current host:
|
|
19
|
+
|
|
20
|
+
| Host | Linear | GitHub |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| Claude Code | Run `/plugin install linear@claude-plugins-official`, then sign in to Linear from `/mcp`. | Install the GitHub CLI (cli.github.com) and run `gh auth login`. |
|
|
23
|
+
| Codex | Run `codex mcp add linear --url https://mcp.linear.app/mcp`, then `codex mcp login linear`. | Install the GitHub plugin from `/plugins`, or run `gh auth login`. |
|
|
24
|
+
| Cursor | Add Linear from the Cursor Marketplace and sign in to Linear. | Install the GitHub CLI (cli.github.com) and run `gh auth login`. |
|
|
25
|
+
|
|
26
|
+
Ask the user to try again once connected; never retry the remote step on your own.
|
|
27
|
+
|
|
28
|
+
## Status mapping
|
|
29
|
+
|
|
30
|
+
| Local status | Linear workflow state | GitHub issue |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| `planning`, `pending` | Unstarted (for example Todo) | open |
|
|
33
|
+
| `in-progress` | Started (for example In Progress) | open |
|
|
34
|
+
| `done` | Completed (for example Done) | closed |
|
|
35
|
+
| Backlog `open` | Backlog, else Unstarted | open |
|
|
36
|
+
| Backlog `closed` | Completed | closed |
|
|
37
|
+
| Backlog `promoted` | Leave as it is | Leave as it is |
|
|
38
|
+
|
|
39
|
+
When reading state back, write only a status the item's type allows. A backlog item takes
|
|
40
|
+
`open` or `closed` and keeps `promoted`.
|
|
41
|
+
|
|
42
|
+
- Linear Completed or Canceled sets `done`, or `closed` for a backlog item. Started sets
|
|
43
|
+
`in-progress`, and Triage, Backlog or Unstarted sets `planning` for features and stories
|
|
44
|
+
and `pending` for quick tasks; a backlog item takes `open` from any of these. Epics and
|
|
45
|
+
task files keep their status.
|
|
46
|
+
- A closed GitHub issue sets `done`, or `closed` for a backlog item. An open issue sets
|
|
47
|
+
`in-progress` for a `done` item and `open` for a `closed` backlog item; other statuses
|
|
48
|
+
stay as they are.
|
|
49
|
+
|
|
50
|
+
## Links
|
|
51
|
+
|
|
52
|
+
A linked item records its tracker identity in frontmatter. Update a linked item through
|
|
53
|
+
that identity instead of creating another, and record the identity of everything you
|
|
54
|
+
create.
|
|
55
|
+
|
|
56
|
+
- **GitHub:** each item is one issue, recorded as `githubIssue`.
|
|
57
|
+
- **Linear:** use the shapes the OpenPlanr CLI uses, so its later pushes reuse what you
|
|
58
|
+
create:
|
|
59
|
+
- An epic is a Linear project (`linearProjectId`, `linearProjectIdentifier`,
|
|
60
|
+
`linearProjectUrl`). When its `linearMappingStrategy` is `milestone-of` or `label-on`,
|
|
61
|
+
it is a milestone in an existing project (`linearMilestoneId`) or a team label
|
|
62
|
+
(`linearLabelId`) instead, and every issue under it carries that milestone
|
|
63
|
+
(`linearProjectMilestoneId`) or label (`linearLabelIds`).
|
|
64
|
+
- A feature, quick task or backlog item is one issue (`linearIssueId`,
|
|
65
|
+
`linearIssueIdentifier`, `linearIssueUrl`). A story is a sub-issue of its feature's
|
|
66
|
+
issue (`linearParentIssueId`).
|
|
67
|
+
- All task files of one feature share one task-list issue: a sub-issue of the feature's
|
|
68
|
+
issue whose checklist merges every task file, recorded in each task file. Its state is
|
|
69
|
+
Completed when every task file is `done`, Unstarted when every one is `pending`, and
|
|
70
|
+
Started otherwise.
|
|
@@ -7,12 +7,13 @@ alwaysApply: false
|
|
|
7
7
|
|
|
8
8
|
Inspect delivery state read-only in the active session. Read the repository's
|
|
9
9
|
planning artifacts, task statuses, dependency graph, current branch, and relevant
|
|
10
|
-
runtime markers directly. Use the optional deterministic `
|
|
10
|
+
runtime markers directly. Use the optional deterministic `openplanr status --json`
|
|
11
11
|
utility when available, but do not require it or a semantic subprocess.
|
|
12
12
|
|
|
13
|
-
Add GitHub or Linear lookups only when the user requests live remote state
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
Add GitHub or Linear lookups only when the user requests live remote state, through
|
|
14
|
+
the host's connections as described in [tracker connections](planr-status/references/tracker-connections.md).
|
|
15
|
+
Keep local results useful when a connection is unavailable, and name the one to add.
|
|
16
|
+
Report counts, ready and blocked work, dependency problems, and the most useful next
|
|
16
17
|
action. Do not repair artifacts, start Plan or Ship, or change lifecycle state.
|
|
17
18
|
|
|
18
19
|
When the OpenPlanr dashboard is running (`planr-dashboard`), the same delivery
|