openplanr 2.2640.9 → 2.2641.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +14 -14
  3. package/bin/openplanr.js +13 -0
  4. package/bin/planr.js +5 -11
  5. package/dist/cli/commands/artifact.d.ts.map +1 -1
  6. package/dist/cli/commands/artifact.js +5 -4
  7. package/dist/cli/commands/artifact.js.map +1 -1
  8. package/dist/cli/commands/checklist.d.ts.map +1 -1
  9. package/dist/cli/commands/checklist.js +4 -3
  10. package/dist/cli/commands/checklist.js.map +1 -1
  11. package/dist/cli/commands/company.d.ts.map +1 -1
  12. package/dist/cli/commands/company.js +3 -2
  13. package/dist/cli/commands/company.js.map +1 -1
  14. package/dist/cli/commands/context.d.ts +1 -1
  15. package/dist/cli/commands/context.js +1 -1
  16. package/dist/cli/commands/doctor.d.ts.map +1 -1
  17. package/dist/cli/commands/doctor.js +11 -5
  18. package/dist/cli/commands/doctor.js.map +1 -1
  19. package/dist/cli/commands/export.d.ts +1 -1
  20. package/dist/cli/commands/export.js +1 -1
  21. package/dist/cli/commands/github.d.ts +1 -1
  22. package/dist/cli/commands/github.d.ts.map +1 -1
  23. package/dist/cli/commands/github.js +9 -8
  24. package/dist/cli/commands/github.js.map +1 -1
  25. package/dist/cli/commands/init-deterministic.d.ts.map +1 -1
  26. package/dist/cli/commands/init-deterministic.js +2 -1
  27. package/dist/cli/commands/init-deterministic.js.map +1 -1
  28. package/dist/cli/commands/linear.d.ts +2 -2
  29. package/dist/cli/commands/linear.d.ts.map +1 -1
  30. package/dist/cli/commands/linear.js +28 -27
  31. package/dist/cli/commands/linear.js.map +1 -1
  32. package/dist/cli/commands/operate/registrars/index.d.ts +1 -1
  33. package/dist/cli/commands/operate/registrars/index.d.ts.map +1 -1
  34. package/dist/cli/commands/operate/registrars/index.js +1 -1
  35. package/dist/cli/commands/operate/registrars/index.js.map +1 -1
  36. package/dist/cli/commands/operate/render.d.ts.map +1 -1
  37. package/dist/cli/commands/operate/render.js +2 -1
  38. package/dist/cli/commands/operate/render.js.map +1 -1
  39. package/dist/cli/commands/operate.d.ts.map +1 -1
  40. package/dist/cli/commands/operate.js +2 -1
  41. package/dist/cli/commands/operate.js.map +1 -1
  42. package/dist/cli/commands/planning-artifacts.d.ts.map +1 -1
  43. package/dist/cli/commands/planning-artifacts.js +2 -1
  44. package/dist/cli/commands/planning-artifacts.js.map +1 -1
  45. package/dist/cli/commands/quick/interaction.d.ts +1 -1
  46. package/dist/cli/commands/quick/interaction.d.ts.map +1 -1
  47. package/dist/cli/commands/quick/interaction.js +1 -1
  48. package/dist/cli/commands/quick/interaction.js.map +1 -1
  49. package/dist/cli/commands/quick/project.d.ts +1 -1
  50. package/dist/cli/commands/quick/project.d.ts.map +1 -1
  51. package/dist/cli/commands/quick/project.js +1 -1
  52. package/dist/cli/commands/quick/project.js.map +1 -1
  53. package/dist/cli/commands/report-linter.d.ts +1 -1
  54. package/dist/cli/commands/report-linter.js +1 -1
  55. package/dist/cli/commands/report.d.ts +1 -1
  56. package/dist/cli/commands/report.d.ts.map +1 -1
  57. package/dist/cli/commands/report.js +5 -4
  58. package/dist/cli/commands/report.js.map +1 -1
  59. package/dist/cli/commands/setup.d.ts.map +1 -1
  60. package/dist/cli/commands/setup.js +5 -4
  61. package/dist/cli/commands/setup.js.map +1 -1
  62. package/dist/cli/commands/spec.d.ts +11 -11
  63. package/dist/cli/commands/spec.d.ts.map +1 -1
  64. package/dist/cli/commands/spec.js +34 -33
  65. package/dist/cli/commands/spec.js.map +1 -1
  66. package/dist/cli/commands/sprint-refinement.d.ts.map +1 -1
  67. package/dist/cli/commands/sprint-refinement.js +2 -1
  68. package/dist/cli/commands/sprint-refinement.js.map +1 -1
  69. package/dist/cli/commands/status.d.ts.map +1 -1
  70. package/dist/cli/commands/status.js +2 -1
  71. package/dist/cli/commands/status.js.map +1 -1
  72. package/dist/cli/commands/story/interaction.d.ts +1 -1
  73. package/dist/cli/commands/story/interaction.d.ts.map +1 -1
  74. package/dist/cli/commands/story/interaction.js +1 -1
  75. package/dist/cli/commands/story/interaction.js.map +1 -1
  76. package/dist/cli/commands/story/project.d.ts +1 -1
  77. package/dist/cli/commands/story/project.d.ts.map +1 -1
  78. package/dist/cli/commands/story/project.js +1 -1
  79. package/dist/cli/commands/story/project.js.map +1 -1
  80. package/dist/cli/commands/sync.d.ts +1 -1
  81. package/dist/cli/commands/sync.d.ts.map +1 -1
  82. package/dist/cli/commands/sync.js +3 -2
  83. package/dist/cli/commands/sync.js.map +1 -1
  84. package/dist/cli/commands/template.d.ts +1 -1
  85. package/dist/cli/commands/template.js +10 -10
  86. package/dist/cli/commands/template.js.map +1 -1
  87. package/dist/cli/commands/update.d.ts +1 -1
  88. package/dist/cli/commands/update.js +1 -1
  89. package/dist/cli/commands/upgrade.d.ts +1 -1
  90. package/dist/cli/commands/upgrade.d.ts.map +1 -1
  91. package/dist/cli/commands/upgrade.js +3 -2
  92. package/dist/cli/commands/upgrade.js.map +1 -1
  93. package/dist/cli/commands/voice.d.ts +1 -1
  94. package/dist/cli/commands/voice.js +1 -1
  95. package/dist/cli/index.js +6 -3
  96. package/dist/cli/index.js.map +1 -1
  97. package/dist/dashboard/.vite/manifest.json +1 -1
  98. package/dist/dashboard/assets/{index-D7R6tnlX.js → index-DGyC7RDz.js} +115 -115
  99. package/dist/dashboard/assets/index-DGyC7RDz.js.map +1 -0
  100. package/dist/dashboard/dashboard-manifest.json +10 -10
  101. package/dist/dashboard/index.html +1 -1
  102. package/dist/generators/cursor-generator.js +1 -1
  103. package/dist/generators/cursor-generator.js.map +1 -1
  104. package/dist/models/schema.d.ts.map +1 -1
  105. package/dist/models/schema.js +2 -1
  106. package/dist/models/schema.js.map +1 -1
  107. package/dist/models/types.d.ts +12 -12
  108. package/dist/models/types.d.ts.map +1 -1
  109. package/dist/services/artifact-service.d.ts +1 -1
  110. package/dist/services/artifact-service.js +2 -2
  111. package/dist/services/artifact-service.js.map +1 -1
  112. package/dist/services/audit-log-service.d.ts.map +1 -1
  113. package/dist/services/audit-log-service.js +2 -1
  114. package/dist/services/audit-log-service.js.map +1 -1
  115. package/dist/services/claude-plugin-service.d.ts +3 -1
  116. package/dist/services/claude-plugin-service.d.ts.map +1 -1
  117. package/dist/services/claude-plugin-service.js +9 -5
  118. package/dist/services/claude-plugin-service.js.map +1 -1
  119. package/dist/services/codex-plugin-service.d.ts.map +1 -1
  120. package/dist/services/codex-plugin-service.js +3 -2
  121. package/dist/services/codex-plugin-service.js.map +1 -1
  122. package/dist/services/company-auth-service.d.ts.map +1 -1
  123. package/dist/services/company-auth-service.js +2 -1
  124. package/dist/services/company-auth-service.js.map +1 -1
  125. package/dist/services/company-sync-service.d.ts.map +1 -1
  126. package/dist/services/company-sync-service.js +9 -8
  127. package/dist/services/company-sync-service.js.map +1 -1
  128. package/dist/services/config-service.d.ts +6 -1
  129. package/dist/services/config-service.d.ts.map +1 -1
  130. package/dist/services/config-service.js +19 -4
  131. package/dist/services/config-service.js.map +1 -1
  132. package/dist/services/connectors/checkpoint-custody.d.ts.map +1 -1
  133. package/dist/services/connectors/checkpoint-custody.js +4 -1
  134. package/dist/services/connectors/checkpoint-custody.js.map +1 -1
  135. package/dist/services/credentials-service.js +1 -1
  136. package/dist/services/credentials-service.js.map +1 -1
  137. package/dist/services/delivery-status-service.d.ts +1 -1
  138. package/dist/services/delivery-status-service.d.ts.map +1 -1
  139. package/dist/services/delivery-status-service.js +3 -2
  140. package/dist/services/delivery-status-service.js.map +1 -1
  141. package/dist/services/diagram-authoring-service.d.ts.map +1 -1
  142. package/dist/services/diagram-authoring-service.js +2 -1
  143. package/dist/services/diagram-authoring-service.js.map +1 -1
  144. package/dist/services/diagram-pipeline-service.d.ts.map +1 -1
  145. package/dist/services/diagram-pipeline-service.js +6 -5
  146. package/dist/services/diagram-pipeline-service.js.map +1 -1
  147. package/dist/services/distribution-service.d.ts.map +1 -1
  148. package/dist/services/distribution-service.js +4 -3
  149. package/dist/services/distribution-service.js.map +1 -1
  150. package/dist/services/github-service.d.ts +1 -1
  151. package/dist/services/github-service.d.ts.map +1 -1
  152. package/dist/services/github-service.js +7 -6
  153. package/dist/services/github-service.js.map +1 -1
  154. package/dist/services/graph-integrity.d.ts +1 -1
  155. package/dist/services/graph-integrity.js +1 -1
  156. package/dist/services/landing/landing-service.d.ts.map +1 -1
  157. package/dist/services/landing/landing-service.js +4 -1
  158. package/dist/services/landing/landing-service.js.map +1 -1
  159. package/dist/services/landing/receipt-custody.d.ts.map +1 -1
  160. package/dist/services/landing/receipt-custody.js +3 -2
  161. package/dist/services/landing/receipt-custody.js.map +1 -1
  162. package/dist/services/linear/errors.d.ts.map +1 -1
  163. package/dist/services/linear/errors.js +2 -1
  164. package/dist/services/linear/errors.js.map +1 -1
  165. package/dist/services/linear/plan-builders.d.ts +3 -3
  166. package/dist/services/linear/plan-builders.d.ts.map +1 -1
  167. package/dist/services/linear/plan-builders.js +2 -2
  168. package/dist/services/linear/strategy-context.d.ts.map +1 -1
  169. package/dist/services/linear/strategy-context.js +6 -5
  170. package/dist/services/linear/strategy-context.js.map +1 -1
  171. package/dist/services/linear-mapping-service.d.ts +1 -1
  172. package/dist/services/linear-mapping-service.d.ts.map +1 -1
  173. package/dist/services/linear-mapping-service.js +3 -2
  174. package/dist/services/linear-mapping-service.js.map +1 -1
  175. package/dist/services/linear-pull-service.d.ts +1 -1
  176. package/dist/services/linear-pull-service.d.ts.map +1 -1
  177. package/dist/services/linear-pull-service.js +10 -9
  178. package/dist/services/linear-pull-service.js.map +1 -1
  179. package/dist/services/linear-push-service.d.ts +2 -2
  180. package/dist/services/linear-push-service.d.ts.map +1 -1
  181. package/dist/services/linear-push-service.js +17 -16
  182. package/dist/services/linear-push-service.js.map +1 -1
  183. package/dist/services/linear-service.d.ts +2 -2
  184. package/dist/services/linear-service.js +2 -2
  185. package/dist/services/linear-team-service.d.ts.map +1 -1
  186. package/dist/services/linear-team-service.js +2 -1
  187. package/dist/services/linear-team-service.js.map +1 -1
  188. package/dist/services/operate/assignment-packet-service.d.ts.map +1 -1
  189. package/dist/services/operate/assignment-packet-service.js +2 -1
  190. package/dist/services/operate/assignment-packet-service.js.map +1 -1
  191. package/dist/services/operate/delivery-evidence.d.ts.map +1 -1
  192. package/dist/services/operate/delivery-evidence.js +2 -1
  193. package/dist/services/operate/delivery-evidence.js.map +1 -1
  194. package/dist/services/operate/measurement-schedule-service.d.ts.map +1 -1
  195. package/dist/services/operate/measurement-schedule-service.js +2 -1
  196. package/dist/services/operate/measurement-schedule-service.js.map +1 -1
  197. package/dist/services/operate/path-custody.d.ts.map +1 -1
  198. package/dist/services/operate/path-custody.js +2 -1
  199. package/dist/services/operate/path-custody.js.map +1 -1
  200. package/dist/services/operate/pinned-legacy-replay-runner.d.ts.map +1 -1
  201. package/dist/services/operate/pinned-legacy-replay-runner.js +3 -2
  202. package/dist/services/operate/pinned-legacy-replay-runner.js.map +1 -1
  203. package/dist/services/operate/planning-handoff-service.d.ts.map +1 -1
  204. package/dist/services/operate/planning-handoff-service.js +3 -2
  205. package/dist/services/operate/planning-handoff-service.js.map +1 -1
  206. package/dist/services/operate/project-transaction-lock.d.ts.map +1 -1
  207. package/dist/services/operate/project-transaction-lock.js +2 -1
  208. package/dist/services/operate/project-transaction-lock.js.map +1 -1
  209. package/dist/services/operate/repository-read-service.d.ts.map +1 -1
  210. package/dist/services/operate/repository-read-service.js +5 -4
  211. package/dist/services/operate/repository-read-service.js.map +1 -1
  212. package/dist/services/operate/screened-evidence-service.d.ts.map +1 -1
  213. package/dist/services/operate/screened-evidence-service.js +5 -4
  214. package/dist/services/operate/screened-evidence-service.js.map +1 -1
  215. package/dist/services/operate/storage-layout.d.ts.map +1 -1
  216. package/dist/services/operate/storage-layout.js +8 -7
  217. package/dist/services/operate/storage-layout.js.map +1 -1
  218. package/dist/services/operate/store.d.ts.map +1 -1
  219. package/dist/services/operate/store.js +7 -6
  220. package/dist/services/operate/store.js.map +1 -1
  221. package/dist/services/pipeline-package-service.js +1 -1
  222. package/dist/services/pipeline-package-service.js.map +1 -1
  223. package/dist/services/provenance-service.d.ts.map +1 -1
  224. package/dist/services/provenance-service.js +2 -1
  225. package/dist/services/provenance-service.js.map +1 -1
  226. package/dist/services/report-linter-service.js +1 -1
  227. package/dist/services/report-linter-service.js.map +1 -1
  228. package/dist/services/revise-cache-service.d.ts.map +1 -1
  229. package/dist/services/revise-cache-service.js +2 -1
  230. package/dist/services/revise-cache-service.js.map +1 -1
  231. package/dist/services/runtime-manager/doctor.d.ts +13 -0
  232. package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
  233. package/dist/services/runtime-manager/doctor.js +50 -3
  234. package/dist/services/runtime-manager/doctor.js.map +1 -1
  235. package/dist/services/runtime-manager/inventory.d.ts +1 -0
  236. package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
  237. package/dist/services/runtime-manager/inventory.js +3 -1
  238. package/dist/services/runtime-manager/inventory.js.map +1 -1
  239. package/dist/services/runtime-manager-service.d.ts +4 -2
  240. package/dist/services/runtime-manager-service.d.ts.map +1 -1
  241. package/dist/services/runtime-manager-service.js +52 -33
  242. package/dist/services/runtime-manager-service.js.map +1 -1
  243. package/dist/services/server-lifecycle-service.d.ts.map +1 -1
  244. package/dist/services/server-lifecycle-service.js +14 -9
  245. package/dist/services/server-lifecycle-service.js.map +1 -1
  246. package/dist/services/spec-service.d.ts +4 -4
  247. package/dist/services/spec-service.d.ts.map +1 -1
  248. package/dist/services/spec-service.js +9 -8
  249. package/dist/services/spec-service.js.map +1 -1
  250. package/dist/services/sprint-refinement-service.d.ts +6 -6
  251. package/dist/services/sprint-refinement-service.d.ts.map +1 -1
  252. package/dist/services/sprint-refinement-service.js +16 -16
  253. package/dist/services/sprint-refinement-service.js.map +1 -1
  254. package/dist/services/template-service.d.ts.map +1 -1
  255. package/dist/services/template-service.js +3 -1
  256. package/dist/services/template-service.js.map +1 -1
  257. package/dist/services/upgrade-offer-service.d.ts +2 -2
  258. package/dist/services/upgrade-offer-service.d.ts.map +1 -1
  259. package/dist/services/upgrade-offer-service.js +4 -3
  260. package/dist/services/upgrade-offer-service.js.map +1 -1
  261. package/dist/services/upgrade-report.d.ts +1 -1
  262. package/dist/services/upgrade-report.d.ts.map +1 -1
  263. package/dist/services/upgrade-report.js +5 -4
  264. package/dist/services/upgrade-report.js.map +1 -1
  265. package/dist/services/upgrade-service.d.ts +5 -5
  266. package/dist/services/upgrade-service.d.ts.map +1 -1
  267. package/dist/services/upgrade-service.js +14 -13
  268. package/dist/services/upgrade-service.js.map +1 -1
  269. package/dist/templates/backlog/backlog-item.md.hbs +1 -1
  270. package/dist/templates/checklists/agile-checklist.md.hbs +6 -6
  271. package/dist/templates/epics/epic.md.hbs +1 -1
  272. package/dist/templates/export/planning-report.html.hbs +1 -1
  273. package/dist/templates/export/planning-report.md.hbs +1 -1
  274. package/dist/templates/features/feature.md.hbs +1 -1
  275. package/dist/templates/guides/estimation.md.hbs +3 -12
  276. package/dist/templates/quick/quick-task.md.hbs +1 -1
  277. package/dist/templates/rules/cursor/create-epic.mdc.hbs +1 -1
  278. package/dist/templates/rules/cursor/create-features.mdc.hbs +1 -1
  279. package/dist/templates/rules/cursor/create-user-story.mdc.hbs +1 -1
  280. package/dist/templates/rules/cursor/openplanr.mdc.hbs +1 -1
  281. package/dist/templates/rules/shared/host-native-guidance.md.hbs +1 -1
  282. package/dist/templates/spec/spec-shaped.md.hbs +1 -1
  283. package/dist/templates/spec/spec.md.hbs +1 -1
  284. package/dist/templates/sprints/sprint-tasks.md.hbs +1 -1
  285. package/dist/templates/sprints/sprint.md.hbs +1 -1
  286. package/dist/templates/stories/user-story.md.hbs +1 -1
  287. package/dist/utils/constants.d.ts +8 -4
  288. package/dist/utils/constants.d.ts.map +1 -1
  289. package/dist/utils/constants.js +10 -4
  290. package/dist/utils/constants.js.map +1 -1
  291. package/docs/ARTIFACT_REVIEW.md +13 -13
  292. package/docs/CLI.md +249 -249
  293. package/docs/CROSS_RUNTIME_SETUP.md +33 -33
  294. package/docs/TROUBLESHOOTING.md +28 -28
  295. package/install.ps1 +2 -2
  296. package/install.sh +3 -3
  297. package/lib/host-packages/adapter-registry.json +5 -5
  298. package/lib/host-packages/capability-map.json +2 -2
  299. package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
  300. package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
  301. package/lib/host-packages/claude/openplanr/.openplanr-content.json +49 -45
  302. package/lib/host-packages/claude/openplanr/README.md +7 -7
  303. package/lib/host-packages/claude/openplanr/references/agents/shared/modes/spec-driven/designer.md +2 -2
  304. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  305. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +81 -46
  306. package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +9 -4
  307. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  308. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  309. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +3 -3
  310. package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  311. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +10 -3
  312. package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  313. package/lib/host-packages/claude/openplanr/skills/artifact/SKILL.md +12 -12
  314. package/lib/host-packages/claude/openplanr/skills/artifact/references/company-review.md +9 -9
  315. package/lib/host-packages/claude/openplanr/skills/artifact/references/design-sharing.md +1 -1
  316. package/lib/host-packages/claude/openplanr/skills/artifact/references/diagram-sharing.md +3 -3
  317. package/lib/host-packages/claude/openplanr/skills/dashboard/SKILL.md +1 -1
  318. package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +1 -1
  319. package/lib/host-packages/claude/openplanr/skills/design/SKILL.md +1 -1
  320. package/lib/host-packages/claude/openplanr/skills/design/references/team-review.md +1 -1
  321. package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +4 -4
  322. package/lib/host-packages/claude/openplanr/skills/design-loop/SKILL.md +1 -1
  323. package/lib/host-packages/claude/openplanr/skills/design-loop/references/team-review.md +1 -1
  324. package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +4 -4
  325. package/lib/host-packages/claude/openplanr/skills/design-review/SKILL.md +1 -1
  326. package/lib/host-packages/claude/openplanr/skills/design-review/references/team-review.md +1 -1
  327. package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +4 -4
  328. package/lib/host-packages/claude/openplanr/skills/diagram/SKILL.md +15 -15
  329. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-document.md +1 -1
  330. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  331. package/lib/host-packages/claude/openplanr/skills/diagram/references/diagram-sharing.md +3 -3
  332. package/lib/host-packages/claude/openplanr/skills/doctor/SKILL.md +9 -9
  333. package/lib/host-packages/claude/openplanr/skills/doctor/references/upgrade.md +18 -16
  334. package/lib/host-packages/claude/openplanr/skills/land/SKILL.md +2 -2
  335. package/lib/host-packages/claude/openplanr/skills/plan/references/artifact-contract.md +5 -0
  336. package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +5 -0
  337. package/lib/host-packages/claude/openplanr/skills/sprint/SKILL.md +12 -12
  338. package/lib/host-packages/claude/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  339. package/lib/host-packages/claude/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  340. package/lib/host-packages/claude/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  341. package/lib/host-packages/claude/openplanr/skills/status/SKILL.md +1 -1
  342. package/lib/host-packages/claude/openplanr/skills/sync/SKILL.md +6 -6
  343. package/lib/host-packages/claude/openplanr/skills/sync/scripts/names.mjs +8 -0
  344. package/lib/host-packages/claude/openplanr/skills/sync/scripts/sync.mjs +3 -2
  345. package/lib/host-packages/cursor/openplanr/.openplanr-content.json +47 -43
  346. package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
  347. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/company-review.md +9 -9
  348. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/design-sharing.md +1 -1
  349. package/lib/host-packages/cursor/openplanr/rules/planr-artifact/references/diagram-sharing.md +3 -3
  350. package/lib/host-packages/cursor/openplanr/rules/planr-artifact.mdc +12 -12
  351. package/lib/host-packages/cursor/openplanr/rules/planr-dashboard.mdc +1 -1
  352. package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +1 -1
  353. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/team-review.md +1 -1
  354. package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +4 -4
  355. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/team-review.md +1 -1
  356. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +4 -4
  357. package/lib/host-packages/cursor/openplanr/rules/planr-design-loop.mdc +1 -1
  358. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/team-review.md +1 -1
  359. package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +4 -4
  360. package/lib/host-packages/cursor/openplanr/rules/planr-design-review.mdc +1 -1
  361. package/lib/host-packages/cursor/openplanr/rules/planr-design.mdc +1 -1
  362. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-document.md +1 -1
  363. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-intent-to-ir.md +1 -1
  364. package/lib/host-packages/cursor/openplanr/rules/planr-diagram/references/diagram-sharing.md +3 -3
  365. package/lib/host-packages/cursor/openplanr/rules/planr-diagram.mdc +15 -15
  366. package/lib/host-packages/cursor/openplanr/rules/planr-doctor/references/upgrade.md +18 -16
  367. package/lib/host-packages/cursor/openplanr/rules/planr-doctor.mdc +9 -9
  368. package/lib/host-packages/cursor/openplanr/rules/planr-land.mdc +2 -2
  369. package/lib/host-packages/cursor/openplanr/rules/planr-plan/references/artifact-contract.md +5 -0
  370. package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +5 -0
  371. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/refinement-contract.md +5 -5
  372. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/references/sprint-formats.md +8 -8
  373. package/lib/host-packages/cursor/openplanr/rules/planr-sprint/schemas/refinement.schema.json +3 -3
  374. package/lib/host-packages/cursor/openplanr/rules/planr-sprint.mdc +12 -12
  375. package/lib/host-packages/cursor/openplanr/rules/planr-status.mdc +1 -1
  376. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/names.mjs +8 -0
  377. package/lib/host-packages/cursor/openplanr/rules/planr-sync/scripts/sync.mjs +3 -2
  378. package/lib/host-packages/cursor/openplanr/rules/planr-sync.mdc +6 -6
  379. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  380. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +81 -46
  381. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +9 -4
  382. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  383. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  384. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +3 -3
  385. package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  386. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +10 -3
  387. package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  388. package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
  389. package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
  390. package/lib/host-packages/openai/openplanr/.openplanr-content.json +48 -44
  391. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +8 -0
  392. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +81 -46
  393. package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +9 -4
  394. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/lib/artifact/ui/studio-shell.css +1 -1
  395. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +3 -3
  396. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.css +3 -3
  397. package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +9 -1
  398. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +10 -3
  399. package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +9 -1
  400. package/lib/host-packages/openai/openplanr/skills/artifact/SKILL.md +12 -12
  401. package/lib/host-packages/openai/openplanr/skills/artifact/references/company-review.md +9 -9
  402. package/lib/host-packages/openai/openplanr/skills/artifact/references/design-sharing.md +1 -1
  403. package/lib/host-packages/openai/openplanr/skills/artifact/references/diagram-sharing.md +3 -3
  404. package/lib/host-packages/openai/openplanr/skills/dashboard/SKILL.md +1 -1
  405. package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +1 -1
  406. package/lib/host-packages/openai/openplanr/skills/design/SKILL.md +1 -1
  407. package/lib/host-packages/openai/openplanr/skills/design/references/team-review.md +1 -1
  408. package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +4 -4
  409. package/lib/host-packages/openai/openplanr/skills/design-loop/SKILL.md +1 -1
  410. package/lib/host-packages/openai/openplanr/skills/design-loop/references/team-review.md +1 -1
  411. package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +4 -4
  412. package/lib/host-packages/openai/openplanr/skills/design-review/SKILL.md +1 -1
  413. package/lib/host-packages/openai/openplanr/skills/design-review/references/team-review.md +1 -1
  414. package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +4 -4
  415. package/lib/host-packages/openai/openplanr/skills/diagram/SKILL.md +15 -15
  416. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-document.md +1 -1
  417. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-intent-to-ir.md +1 -1
  418. package/lib/host-packages/openai/openplanr/skills/diagram/references/diagram-sharing.md +3 -3
  419. package/lib/host-packages/openai/openplanr/skills/doctor/SKILL.md +9 -9
  420. package/lib/host-packages/openai/openplanr/skills/doctor/references/upgrade.md +18 -16
  421. package/lib/host-packages/openai/openplanr/skills/land/SKILL.md +2 -2
  422. package/lib/host-packages/openai/openplanr/skills/plan/references/artifact-contract.md +5 -0
  423. package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +5 -0
  424. package/lib/host-packages/openai/openplanr/skills/sprint/SKILL.md +12 -12
  425. package/lib/host-packages/openai/openplanr/skills/sprint/references/refinement-contract.md +5 -5
  426. package/lib/host-packages/openai/openplanr/skills/sprint/references/sprint-formats.md +8 -8
  427. package/lib/host-packages/openai/openplanr/skills/sprint/schemas/refinement.schema.json +3 -3
  428. package/lib/host-packages/openai/openplanr/skills/status/SKILL.md +1 -1
  429. package/lib/host-packages/openai/openplanr/skills/sync/SKILL.md +6 -6
  430. package/lib/host-packages/openai/openplanr/skills/sync/openplanr.skill.json +11 -0
  431. package/lib/host-packages/openai/openplanr/skills/sync/scripts/names.mjs +8 -0
  432. package/lib/host-packages/openai/openplanr/skills/sync/scripts/sync.mjs +3 -2
  433. package/lib/integrations.mjs +3 -2
  434. package/lib/names.d.mts +4 -0
  435. package/lib/names.mjs +8 -0
  436. package/lib/planning-folder.d.mts +14 -0
  437. package/lib/planning-folder.mjs +40 -0
  438. package/package.json +5 -5
  439. package/dist/dashboard/assets/index-D7R6tnlX.js.map +0 -1
  440. package/dist/templates/voice/standup.md.hbs +0 -20
  441. /package/lib/host-packages/claude/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  442. /package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
  443. /package/lib/host-packages/openai/openplanr/runtime/design/scripts/{design-runtime-support-5cb7531bede8.mjs → design-runtime-support-336900df0d39.mjs} +0 -0
package/docs/CLI.md CHANGED
@@ -1,7 +1,7 @@
1
- # planr CLI reference
1
+ # openplanr CLI reference
2
2
 
3
- > Every command and flag of the `planr` CLI.
4
- > Package: `openplanr` | Binary: `planr` (aliases: `openplanr`, `opr`)
3
+ > Every command and flag of the `openplanr` CLI.
4
+ > Package: `openplanr` | Binary: `openplanr` (alias: `opr`)
5
5
 
6
6
  ---
7
7
 
@@ -11,7 +11,7 @@
11
11
  npm install -g openplanr
12
12
 
13
13
  # Verify
14
- planr --version
14
+ openplanr --version
15
15
  ```
16
16
 
17
17
  ---
@@ -22,11 +22,11 @@ The CLI auto-detects non-TTY environments (CI, coding agents) and skips interact
22
22
 
23
23
  ```bash
24
24
  # Explicit flag
25
- planr epic create --title "My App" --yes
26
- planr task create --story US-001 --title "Implement approved story" --yes
25
+ openplanr epic create --title "My App" --yes
26
+ openplanr task create --story US-001 --title "Implement approved story" --yes
27
27
 
28
28
  # Auto-detected (no TTY)
29
- echo "" | planr epic create --title "My App"
29
+ echo "" | openplanr epic create --title "My App"
30
30
  ```
31
31
 
32
32
  **Behavior in non-interactive mode:**
@@ -54,12 +54,12 @@ These options apply to **all** commands:
54
54
 
55
55
  ## Commands
56
56
 
57
- ### `planr company`
57
+ ### `openplanr company`
58
58
 
59
59
  The company route connects an explicitly configured workspace to selected local artifacts. Existing encrypted token shares remain separate. Sign in through the browser and choose the organization in the identity provider's consent screen:
60
60
 
61
61
  ```bash
62
- planr company login
62
+ openplanr company login
63
63
  ```
64
64
 
65
65
  The normal customer flow needs no service URL or output flag. For a remote or
@@ -67,17 +67,17 @@ headless session, print the authorization URL instead of launching it:
67
67
 
68
68
  ```bash
69
69
  # Print the browser URL instead of launching it; open it on this same computer
70
- planr company login --no-open --timeout 300
70
+ openplanr company login --no-open --timeout 300
71
71
  ```
72
72
 
73
73
  Successful sign-in and sign-out show a short confirmation. To switch accounts,
74
- run `planr company logout` before signing in again. Recovery and cleanup warnings
74
+ run `openplanr company logout` before signing in again. Recovery and cleanup warnings
75
75
  remain visible. Structured output with status details and error codes is available
76
76
  for automation:
77
77
 
78
78
  ```bash
79
- planr company login --json
80
- planr company logout --json
79
+ openplanr company login --json
80
+ openplanr company logout --json
81
81
  ```
82
82
 
83
83
  Hosted commands use `https://api.openplanr.dev` by default. `--api-url <origin>` is an advanced override for local development, staging, and self-hosted testing; customers do not need to copy a service URL.
@@ -91,28 +91,28 @@ Logout revokes saved refresh and access tokens before removing their local refer
91
91
  Publication selects one repository-relative JSON, Markdown, SVG or HTML file, up to 1 MiB. An authored `openplanr-design-document` selected with `--kind design` packages the complete design: its declared screens, frames, variants, and supported local assets. The entire packaged revision must fit within the same 1 MiB limit. Single HTML/SVG designs remain supported.
92
92
 
93
93
  ```bash
94
- planr company preview .planr/designs/checkout/design-document.json \
94
+ openplanr company preview .planr/designs/checkout/design-document.json \
95
95
  --kind design --title "Checkout experience" \
96
96
  --project <project-id>
97
- planr company publish <preview-id> --json
97
+ openplanr company publish <preview-id> --json
98
98
  ```
99
99
 
100
100
  Review the exact selected files, content and publication size before publishing. `--json` includes the complete content for inspection; the default design preview gives a compact file list and screen/frame/variant counts. Source hashes are stored in private local state. Publication rebuilds the package and refuses any changed source or newly referenced file until a fresh preview is reviewed. No directory scan, render cache, or unrelated repository content is published.
101
101
 
102
- The returned binding remembers its source document and accepted remote revision. `company push <binding-id> --preview` rebuilds the design package and lists the selected files; `company push <binding-id>` publishes that exact reviewed update against the bound base. Each later expansion of referenced content needs a fresh preview. See `planr company --help` for connection and publication options.
102
+ The returned binding remembers its source document and accepted remote revision. `company push <binding-id> --preview` rebuilds the design package and lists the selected files; `company push <binding-id>` publishes that exact reviewed update against the bound base. Each later expansion of referenced content needs a fresh preview. See `openplanr company --help` for connection and publication options.
103
103
 
104
- Company publication retries preserve their original IDs and return `already-published` when completing from saved receipts. `synchronization: "not-checked"` means the current remote head has not been read; run `planr company status <binding-id>` before describing the workspace as synchronized.
104
+ Company publication retries preserve their original IDs and return `already-published` when completing from saved receipts. `synchronization: "not-checked"` means the current remote head has not been read; run `openplanr company status <binding-id>` before describing the workspace as synchronized.
105
105
 
106
106
  Read-only retrieval uses an existing publication binding:
107
107
 
108
108
  ```bash
109
- planr company status <binding-id> --json
110
- planr company pull <binding-id> --preview --json
111
- planr company pull <binding-id> --json
109
+ openplanr company status <binding-id> --json
110
+ openplanr company pull <binding-id> --preview --json
111
+ openplanr company pull <binding-id> --json
112
112
 
113
113
  # Intentionally inspect a historical immutable revision
114
- planr company pull <binding-id> --preview --revision <revision-id> --json
115
- planr company pull <binding-id> --json
114
+ openplanr company pull <binding-id> --preview --revision <revision-id> --json
115
+ openplanr company pull <binding-id> --json
116
116
  ```
117
117
 
118
118
  The preview reports the selected revision, digest, byte size, content, and whether local or remote content has changed. Pull verifies authorization and exact bytes again, then saves an inert `.txt` copy under `.local/company/remote-content/` with a retrieval receipt. It does not replace the repository file, advance the accepted binding, apply a proposal, or resolve feedback. Divergent or missing local files remain untouched. A changed local file or latest remote head requires a fresh preview. An explicitly selected historical revision stays pinned even if newer revisions appear.
@@ -127,14 +127,14 @@ Retrieved content is untrusted input, including HTML and SVG. Inspect it as data
127
127
  Initialize project-local storage, then create planning artifacts from explicit flags or a JSON object:
128
128
 
129
129
  ```bash
130
- planr init --name "my-project"
131
- planr epic create "Platform renewal"
132
- planr feature create "OAuth sign-in" --epic EPIC-001
133
- planr story create "Sign in with the company identity provider" --feature FEAT-001
134
- planr task create "Implement approved sign-in flow" --story US-001
135
- planr quick create "Fix the callback error"
136
- planr backlog add "Add callback rate limits" --priority high --tag security
137
- planr sprint create "Sprint 1" --duration 2w
130
+ openplanr init --name "my-project"
131
+ openplanr epic create "Platform renewal"
132
+ openplanr feature create "OAuth sign-in" --epic EPIC-001
133
+ openplanr story create "Sign in with the company identity provider" --feature FEAT-001
134
+ openplanr task create "Implement approved sign-in flow" --story US-001
135
+ openplanr quick create "Fix the callback error"
136
+ openplanr backlog add "Add callback rate limits" --priority high --tag security
137
+ openplanr sprint create "Sprint 1" --duration 2w
138
138
  ```
139
139
 
140
140
  Every planning type provides `list`, `show <id>`, and `update <id>`. Creation accepts `--title`, `--data <path>` (or `-` for stdin), the deprecated `--file` alias, and `--json`. Parent IDs may be supplied by flags or JSON:
@@ -152,24 +152,24 @@ Every planning type provides `list`, `show <id>`, and `update <id>`. Creation ac
152
152
  Use deterministic JSON when an agent or integration supplies complete fields:
153
153
 
154
154
  ```bash
155
- planr epic create --data epic.json --json
156
- planr feature create --data feature.json --json
157
- planr task create --data - --json < task.json
155
+ openplanr epic create --data epic.json --json
156
+ openplanr feature create --data feature.json --json
157
+ openplanr task create --data - --json < task.json
158
158
  ```
159
159
 
160
- `planr update <ids...>` supports bulk status changes. `--all-done` and `--all-pending` also update canonical task checkboxes for task and quick-task artifacts. Use each command's `--help` output for its exact options.
160
+ `openplanr update <ids...>` supports bulk status changes. `--all-done` and `--all-pending` also update canonical task checkboxes for task and quick-task artifacts. Use each command's `--help` output for its exact options.
161
161
 
162
- ### `planr sprint` refinement
162
+ ### `openplanr sprint` refinement
163
163
 
164
164
  The `planr:sprint` skill judges every open item and selects a sprint; these commands store what it decides. Sprint statuses are `planned`, `active` and `closed`.
165
165
 
166
166
  ```bash
167
- planr sprint create --data sprint.json --json # name, releaseCut, capacityDays, optional batches
168
- planr sprint refinement SPRINT-004 --data refinement.json # validate, store, fill the sprint body
169
- planr sprint diff SPRINT-003 SPRINT-004 # what moved between two runs
170
- planr sprint apply SPRINT-004 --dry-run # preview the status write-back
171
- planr sprint apply SPRINT-004 --yes --commit # write it as one commit
172
- planr sprint close SPRINT-004 # record leftovers for the next run
167
+ openplanr sprint create --data sprint.json --json # name, releaseCut, capacityDays, optional batches
168
+ openplanr sprint refinement SPRINT-004 --data refinement.json # validate, store, fill the sprint body
169
+ openplanr sprint diff SPRINT-003 SPRINT-004 # what moved between two runs
170
+ openplanr sprint apply SPRINT-004 --dry-run # preview the status write-back
171
+ openplanr sprint apply SPRINT-004 --yes --commit # write it as one commit
172
+ openplanr sprint close SPRINT-004 # record leftovers for the next run
173
173
  ```
174
174
 
175
175
  | Command | Behaviour |
@@ -179,34 +179,34 @@ planr sprint close SPRINT-004 # record leftovers for
179
179
  | `apply <id>` | Writes each item's `targetStatus` and `targetPriority` (backlog only) and the `blockedBy` note of blocked items to the artifacts. Statuses must belong to the type's vocabulary unless `--force`. Needs `--yes` (or `--dry-run`); with `--commit` the touched files are committed as `chore(planr): refine backlog for <id>`. |
180
180
  | `close <id>` | Sets `status: closed` and `closedAt`, and records `leftovers[]` (unchecked or unfinished `taskIds`) in `refinement.json` for the next run. |
181
181
 
182
- Every command accepts `--json`. Failures use bounded codes such as `E_SPRINT_NOT_FOUND`, `E_SPRINT_REFINEMENT_INVALID` (with `$`-rooted diagnostics), `E_SPRINT_REFINEMENT_MISSING`, `E_SPRINT_APPLY_CONFIRMATION_REQUIRED`, `E_SPRINT_APPLY_STATUS_INVALID`, `E_SPRINT_CLOSED` and `E_SPRINT_ALREADY_CLOSED`. `planr status` lists the active sprint first with its release cut and checkbox progress, and `planr status --json` exposes it as `sprint`.
182
+ Every command accepts `--json`. Failures use bounded codes such as `E_SPRINT_NOT_FOUND`, `E_SPRINT_REFINEMENT_INVALID` (with `$`-rooted diagnostics), `E_SPRINT_REFINEMENT_MISSING`, `E_SPRINT_APPLY_CONFIRMATION_REQUIRED`, `E_SPRINT_APPLY_STATUS_INVALID`, `E_SPRINT_CLOSED` and `E_SPRINT_ALREADY_CLOSED`. `openplanr status` lists the active sprint first with its release cut and checkbox progress, and `openplanr status --json` exposes it as `sprint`.
183
183
 
184
184
 
185
- ### `planr spec`
185
+ ### `openplanr spec`
186
186
 
187
187
  Spec-driven planning mode — third posture alongside agile + QT, designed for **planning *for* AI coding agents**. Each spec is a self-contained directory at `.planr/specs/SPEC-NNN-{slug}/` containing the spec doc, decomposed User Stories, decomposed Tasks, and any UI design assets. The artifact schema mirrors the [planr-pipeline](https://github.com/openplanr/OpenPlanr/tree/main/packages/pipeline) canonical protocol schemas under `schemas/v1.0.0/` — file Create/Modify/Preserve lists, Type=UI|Tech, agent assignment, DoD with build/test commands. The two products use one artifact contract; no conversion adapter ever.
188
188
 
189
189
  The generated artifact contract and command examples in this section are the
190
190
  packaged source of truth for spec-driven mode.
191
191
 
192
- #### `planr spec init`
192
+ #### `openplanr spec init`
193
193
 
194
194
  Activate spec-driven mode in the current project. Creates `.planr/specs/`. Adds `spec: SPEC` to `idPrefix` if missing. Idempotent.
195
195
 
196
196
  ```bash
197
- planr spec init
197
+ openplanr spec init
198
198
  ```
199
199
 
200
200
  ---
201
201
 
202
- #### `planr spec create`
202
+ #### `openplanr spec create`
203
203
 
204
204
  Create a new spec — a self-contained directory with `stories/`, `tasks/`, `design/` subfolders.
205
205
 
206
206
  ```bash
207
- planr spec create "Auth flow"
208
- planr spec create --title "Auth flow" --slug auth --priority P0 --milestone v1.0
209
- planr spec create "User Onboarding" --po @AsemDevs
207
+ openplanr spec create "Auth flow"
208
+ openplanr spec create --title "Auth flow" --slug auth --priority P0 --milestone v1.0
209
+ openplanr spec create "User Onboarding" --po @AsemDevs
210
210
  ```
211
211
 
212
212
  | Option | Description | Required |
@@ -222,12 +222,12 @@ planr spec create "User Onboarding" --po @AsemDevs
222
222
 
223
223
  ---
224
224
 
225
- #### `planr spec shape`
225
+ #### `openplanr spec shape`
226
226
 
227
227
  Interactive 4-question authoring of a spec's body. Walks the PO through Context, Functional Requirements, Business Rules, and Acceptance Criteria. Optionally captures Out-of-Scope items and Decomposition Notes. Updates `status: pending → shaping`.
228
228
 
229
229
  ```bash
230
- planr spec shape SPEC-001
230
+ openplanr spec shape SPEC-001
231
231
  ```
232
232
 
233
233
  **Refused in `--no-interactive` mode** — this command is interactive by design (it asks 4 sequential questions).
@@ -243,14 +243,14 @@ planr spec shape SPEC-001
243
243
 
244
244
  ---
245
245
 
246
- #### `planr spec sync`
246
+ #### `openplanr spec sync`
247
247
 
248
248
  Validate spec integrity and auto-fix safe inconsistencies. Use after manual edits, interrupted work, or when in doubt.
249
249
 
250
250
  ```bash
251
- planr spec sync # scan all specs
252
- planr spec sync SPEC-001 # scope to one spec
253
- planr spec sync --dry-run # report findings without writing fixes
251
+ openplanr spec sync # scan all specs
252
+ openplanr spec sync SPEC-001 # scope to one spec
253
+ openplanr spec sync --dry-run # report findings without writing fixes
254
254
  ```
255
255
 
256
256
  | Option | Description | Required |
@@ -266,66 +266,66 @@ planr spec sync --dry-run # report findings without writing fixes
266
266
 
267
267
  ---
268
268
 
269
- #### `planr spec list`
269
+ #### `openplanr spec list`
270
270
 
271
271
  List all specs with title, status, and decomposition counts.
272
272
 
273
273
  ```bash
274
- planr spec list
274
+ openplanr spec list
275
275
  ```
276
276
 
277
277
  ---
278
278
 
279
- #### `planr spec show`
279
+ #### `openplanr spec show`
280
280
 
281
281
  Print a spec's metadata, body summary, and the full US/Task decomposition tree.
282
282
 
283
283
  ```bash
284
- planr spec show SPEC-001
284
+ openplanr spec show SPEC-001
285
285
  ```
286
286
 
287
287
  ---
288
288
 
289
- #### `planr spec status`
289
+ #### `openplanr spec status`
290
290
 
291
291
  Decomposition state. Without args: aggregate report across all specs. With a spec ID: focused view.
292
292
 
293
293
  ```bash
294
- planr spec status # aggregate
295
- planr spec status SPEC-001 # focused
294
+ openplanr spec status # aggregate
295
+ openplanr spec status SPEC-001 # focused
296
296
  ```
297
297
 
298
298
  ---
299
299
 
300
- #### `planr spec destroy`
300
+ #### `openplanr spec destroy`
301
301
 
302
302
  Remove a spec entirely. Because each spec is a self-contained directory, this is a single `rm -rf`. Prompts for confirmation (use `--yes` to skip).
303
303
 
304
304
  ```bash
305
- planr spec destroy SPEC-001
306
- planr spec destroy SPEC-001 --yes
305
+ openplanr spec destroy SPEC-001
306
+ openplanr spec destroy SPEC-001 --yes
307
307
  ```
308
308
 
309
309
  ---
310
310
 
311
- #### `planr spec attach-design`
311
+ #### `openplanr spec attach-design`
312
312
 
313
313
  Copy PNG mockup files into the spec's `design/` subdirectory and update
314
314
  `ui_files` frontmatter on the SPEC. The `planr:plan` host skill reads these
315
315
  inputs while it builds the reviewed implementation plan.
316
316
 
317
317
  ```bash
318
- planr spec attach-design SPEC-001 --files login.png signup.png
318
+ openplanr spec attach-design SPEC-001 --files login.png signup.png
319
319
  ```
320
320
 
321
321
  ---
322
322
 
323
- #### `planr spec promote`
323
+ #### `openplanr spec promote`
324
324
 
325
325
  Validate that a spec is ready for handoff to `planr-pipeline` (has stories, tasks, non-trivial body) and print the next-step pipeline command. Updates SPEC frontmatter `status: ready-for-pipeline`.
326
326
 
327
327
  ```bash
328
- planr spec promote SPEC-001
328
+ openplanr spec promote SPEC-001
329
329
  ```
330
330
 
331
331
  After promotion, run from any configured runtime:
@@ -337,24 +337,24 @@ $planr:plan # Codex
337
337
 
338
338
  ---
339
339
 
340
- ### `planr template list`
340
+ ### `openplanr template list`
341
341
 
342
342
  List all available task templates (built-in and custom).
343
343
 
344
344
  ```bash
345
- planr template list
345
+ openplanr template list
346
346
  ```
347
347
 
348
348
  Shows template name, description, task count, and whether it's built-in or custom.
349
349
 
350
350
  ---
351
351
 
352
- ### `planr template show`
352
+ ### `openplanr template show`
353
353
 
354
354
  Preview a template's contents and variables.
355
355
 
356
356
  ```bash
357
- planr template show rest-endpoint
357
+ openplanr template show rest-endpoint
358
358
  ```
359
359
 
360
360
  | Argument | Description | Required |
@@ -363,13 +363,13 @@ planr template show rest-endpoint
363
363
 
364
364
  ---
365
365
 
366
- ### `planr template use`
366
+ ### `openplanr template use`
367
367
 
368
368
  Generate a task list from a template with variable substitution.
369
369
 
370
370
  ```bash
371
- planr template use rest-endpoint --title "User Profile API"
372
- planr template use react-component --title "Dashboard Widget"
371
+ openplanr template use rest-endpoint --title "User Profile API"
372
+ openplanr template use react-component --title "Dashboard Widget"
373
373
  ```
374
374
 
375
375
  | Argument/Option | Description | Required |
@@ -393,12 +393,12 @@ Template variables (e.g., `{{entityName}}`, `{{componentName}}`) are prompted in
393
393
 
394
394
  ---
395
395
 
396
- ### `planr template save`
396
+ ### `openplanr template save`
397
397
 
398
398
  Save an existing task list as a reusable custom template.
399
399
 
400
400
  ```bash
401
- planr template save TASK-001 --name my-pattern
401
+ openplanr template save TASK-001 --name my-pattern
402
402
  ```
403
403
 
404
404
  | Argument/Option | Description | Required |
@@ -410,12 +410,12 @@ planr template save TASK-001 --name my-pattern
410
410
 
411
411
  ---
412
412
 
413
- ### `planr template delete`
413
+ ### `openplanr template delete`
414
414
 
415
415
  Remove a custom template.
416
416
 
417
417
  ```bash
418
- planr template delete my-pattern
418
+ openplanr template delete my-pattern
419
419
  ```
420
420
 
421
421
  | Argument | Description | Required |
@@ -426,12 +426,12 @@ Prompts for confirmation before deleting. Only custom templates can be deleted.
426
426
 
427
427
  ---
428
428
 
429
- ### `planr checklist show`
429
+ ### `openplanr checklist show`
430
430
 
431
431
  Display the agile development checklist.
432
432
 
433
433
  ```bash
434
- planr checklist show
434
+ openplanr checklist show
435
435
  ```
436
436
 
437
437
  Shows the full 5-phase checklist:
@@ -444,34 +444,34 @@ Shows the full 5-phase checklist:
444
444
 
445
445
  ---
446
446
 
447
- ### `planr checklist toggle`
447
+ ### `openplanr checklist toggle`
448
448
 
449
449
  Interactively toggle checklist items. Presents a multi-select prompt where you can check/uncheck items, then writes changes back to the file with a progress summary.
450
450
 
451
451
  ```bash
452
- planr checklist toggle
452
+ openplanr checklist toggle
453
453
  ```
454
454
 
455
455
  ---
456
456
 
457
- ### `planr checklist reset`
457
+ ### `openplanr checklist reset`
458
458
 
459
459
  Reset the checklist back to its initial state.
460
460
 
461
461
  ```bash
462
- planr checklist reset
462
+ openplanr checklist reset
463
463
  ```
464
464
 
465
465
  ---
466
466
 
467
- ### `planr init`
467
+ ### `openplanr init`
468
468
 
469
- Initialize deterministic project storage in `.planr/`. Runtime installation belongs to `planr setup`.
469
+ Initialize deterministic project storage in `.planr/`. Runtime installation belongs to `openplanr setup`.
470
470
 
471
471
  ```bash
472
- planr init
473
- planr init --name my-project
474
- planr init --force
472
+ openplanr init
473
+ openplanr init --name my-project
474
+ openplanr init --force
475
475
  ```
476
476
 
477
477
  | Option | Description |
@@ -481,18 +481,18 @@ planr init --force
481
481
 
482
482
  ---
483
483
 
484
- ### `planr setup`, `planr runtime`, and `planr doctor`
484
+ ### `openplanr setup`, `openplanr runtime`, and `openplanr doctor`
485
485
 
486
486
  ```bash
487
- planr setup
488
- planr setup --runtime auto --scope user --yes
489
- planr setup --dry-run
490
- planr setup --minimal
491
- planr runtime detect
492
- planr runtime install codex --scope user
493
- planr runtime update claude --scope user
494
- planr runtime rollback
495
- planr doctor --strict
487
+ openplanr setup
488
+ openplanr setup --runtime auto --scope user --yes
489
+ openplanr setup --dry-run
490
+ openplanr setup --minimal
491
+ openplanr runtime detect
492
+ openplanr runtime install codex --scope user
493
+ openplanr runtime update claude --scope user
494
+ openplanr runtime rollback
495
+ openplanr doctor --strict
496
496
  ```
497
497
 
498
498
  Interactive setup guides coding-agent and scope selection. It installs the OpenPlanr skills bundled with the CLI. User scope is
@@ -508,7 +508,7 @@ operations. After confirmation, setup registers the generated local marketplace
508
508
  (`openplanr-local`) that ships inside the installed `openplanr` package and
509
509
  installs or updates `planr@openplanr-local` from it, so the plugin always matches
510
510
  this CLI. Setup never reads `openplanr/marketplace` for versions.
511
- `planr doctor` checks the installed plugin's version and stable manifest identity
511
+ `openplanr doctor` checks the installed plugin's version and stable manifest identity
512
512
  without mutating Claude Code, and warns about older `openplanr@…` and
513
513
  `planr-pipeline@…` plugins. `doctor --fix` preserves saved scopes and discovery
514
514
  mode while previewing owned-file, managed native plugin and stale-daemon repairs.
@@ -527,7 +527,7 @@ Use one Claude Code channel per machine; see
527
527
  Use the corresponding `planr:*` skills through the installed runtime adapter.
528
528
  Semantic workflows are not duplicated as utility CLI commands.
529
529
 
530
- ### `planr operate`
530
+ ### `openplanr operate`
531
531
 
532
532
  The public Operate namespace supports two distinct products. The installed
533
533
  `$planr-operate` skill runs a guidance-first local seven-lens review with no
@@ -535,7 +535,7 @@ named-owner, receipt, evidence-ledger, or blocking-validation prerequisite.
535
535
  Its optional note checker reports bounded structural diagnostics:
536
536
 
537
537
  ```bash
538
- planr operate validate-note <note.md> --profile advisor|challenger|chair|board-report --contract-version 2.0.0 --json
538
+ openplanr operate validate-note <note.md> --profile advisor|challenger|chair|board-report --contract-version 2.0.0 --json
539
539
  ```
540
540
 
541
541
  Diagnostics are editing help. Missing or malformed lens output remains a
@@ -543,20 +543,20 @@ visible issue with its impact and next action; it does not discard other useful
543
543
  findings or force a correction loop. `--contract-version auto` is the default;
544
544
  it detects declared or structurally identifiable v1 and v2 Markdown notes.
545
545
 
546
- The other `planr operate` commands expose the durable Protocol 2.0 stateful
546
+ The other `openplanr operate` commands expose the durable Protocol 2.0 stateful
547
547
  runtime. For that interface, first discover the installed domains. The command
548
548
  returns canonical `domainId`/`domainVersion` pairs and registered roles without
549
549
  opening project runtime storage:
550
550
 
551
551
  ```bash
552
- planr operate domains --json
552
+ openplanr operate domains --json
553
553
  ```
554
554
 
555
555
  Pass one exact returned identity to Cycle start. Do not substitute the protocol
556
556
  version for the domain version.
557
557
 
558
558
  ```bash
559
- planr operate start \
559
+ openplanr operate start \
560
560
  --scope <scopeId> \
561
561
  --domain <domainId> \
562
562
  --domain-version <domainVersion> \
@@ -569,9 +569,9 @@ Codex full setup installs every canonical, manifest-owned `planr-*` skill in the
569
569
  The durable runtime's issued executors use this file-based packet protocol only:
570
570
 
571
571
  ```bash
572
- planr operate assignment prepare <assignmentId> --actor <agentId> --runtime codex --json
573
- planr operate assignment validate <packetId> --content-file <resultPath|-> --json
574
- planr operate assignment submit <packetId> --content-file <resultPath|-> --json
572
+ openplanr operate assignment prepare <assignmentId> --actor <agentId> --runtime codex --json
573
+ openplanr operate assignment validate <packetId> --content-file <resultPath|-> --json
574
+ openplanr operate assignment submit <packetId> --content-file <resultPath|-> --json
575
575
  ```
576
576
 
577
577
  `prepare` claims idempotently and returns the exact packet paths. `validate`
@@ -584,33 +584,33 @@ Useful read-only and recovery surfaces:
584
584
 
585
585
  | Command | Purpose |
586
586
  | --- | --- |
587
- | `planr operate cycle <cycleId> --actor <humanActorId> --json` | Read the exact owner-bound Cycle experience |
588
- | `planr operate dashboard <cycleId> --actor <humanActorId>` | Open the loopback dashboard |
589
- | `planr operate recovery storage-status --json` | Inspect neutral storage and migration status |
590
- | `planr operate assignment recover --json` | Clear only runtime-confirmed abandoned packets |
587
+ | `openplanr operate cycle <cycleId> --actor <humanActorId> --json` | Read the exact owner-bound Cycle experience |
588
+ | `openplanr operate dashboard <cycleId> --actor <humanActorId>` | Open the loopback dashboard |
589
+ | `openplanr operate recovery storage-status --json` | Inspect neutral storage and migration status |
590
+ | `openplanr operate assignment recover --json` | Clear only runtime-confirmed abandoned packets |
591
591
 
592
592
  Failures from packet commands are bounded in both human and `--json` output;
593
593
  machine output contains `ok`, `code`, and `problem` without stack traces or host
594
- paths. For setup or command parity failures, run `planr doctor --strict --json`.
595
- Use `planr upgrade status`, then `planr upgrade apply` when doctor reports an
594
+ paths. For setup or command parity failures, run `openplanr doctor --strict --json`.
595
+ Use `openplanr upgrade status`, then `openplanr upgrade apply` when doctor reports an
596
596
  incompatible installed CLI. `upgrade apply` prints the new version, up to five
597
597
  highlights per release (`--notes full` prints every entry), and the command that
598
598
  updates each installed coding agent. The published compatible set is read from the npm
599
599
  registry's `latest` CLI document (its version and the exact `planr-pipeline` it
600
600
  bundles); `OPENPLANR_ECOSYSTEM_SOURCE` points the check at another URL or file.
601
601
 
602
- ### `planr artifact`
602
+ ### `openplanr artifact`
603
603
 
604
604
  Open, share, import, and export native diagrams, designs, and HTML reviews:
605
605
 
606
606
  ```bash
607
- planr artifact <file>
608
- planr artifact open <file> [--title <title>] [--root <asset-root>] [--theme auto|light|dark] [--presentation auto|document|canvas] [--port <port>] [--no-open] [--json]
609
- planr artifact share <file> [--title <title>] [--root <asset-root>] [--presentation auto|document|canvas] [--snapshot] [--short] [--ttl 1d|7d|30d] [--secret-output <private-file>] [--no-open] [--json] [--yes]
610
- planr artifact publish <diagram-manifest|diagram-bundle|design-document> [--yes] [--json]
611
- planr artifact sync <diagram-manifest|diagram-bundle|design-document> [--json]
612
- planr artifact import --secret-input <private-file|-> [--output <path>] [--allow-stale] [--json] [--yes]
613
- planr artifact export <session-id> [--format json|markdown] [--output <path>]
607
+ openplanr artifact <file>
608
+ openplanr artifact open <file> [--title <title>] [--root <asset-root>] [--theme auto|light|dark] [--presentation auto|document|canvas] [--port <port>] [--no-open] [--json]
609
+ openplanr artifact share <file> [--title <title>] [--root <asset-root>] [--presentation auto|document|canvas] [--snapshot] [--short] [--ttl 1d|7d|30d] [--secret-output <private-file>] [--no-open] [--json] [--yes]
610
+ openplanr artifact publish <diagram-manifest|diagram-bundle|design-document> [--yes] [--json]
611
+ openplanr artifact sync <diagram-manifest|diagram-bundle|design-document> [--json]
612
+ openplanr artifact import --secret-input <private-file|-> [--output <path>] [--allow-stale] [--json] [--yes]
613
+ openplanr artifact export <session-id> [--format json|markdown] [--output <path>]
614
614
  ```
615
615
 
616
616
  Diagram manifests and authoring bundles share directly to one permanent native
@@ -622,7 +622,7 @@ Native diagram sharing does not accept `--snapshot`, `--short`, or `--ttl`;
622
622
  export HTML first to choose the generic snapshot transport.
623
623
 
624
624
  When `--root` is omitted, the artifact file's directory is the asset root. This
625
- makes `planr artifact share /absolute/path/to/artifact.html` work without
625
+ makes `openplanr artifact share /absolute/path/to/artifact.html` work without
626
626
  changing directories or supplying a redundant root. Supported public HTTPS
627
627
  dependencies are bundled into the immutable artifact automatically; runtime
628
628
  network access remains blocked in the review sandbox.
@@ -650,17 +650,17 @@ invisible opaque-origin Blob sandbox; it is not standalone website publishing.
650
650
 
651
651
  ---
652
652
 
653
- ### `planr rules generate`
653
+ ### `openplanr rules generate`
654
654
 
655
655
  Generate AI agent rule files for Cursor, Claude Code, and/or Codex. Two flags: **`--target`** (which runtime) and **`--scope`** (which workflow — agile or pipeline).
656
656
 
657
657
  ```bash
658
- planr rules generate # all targets, agile scope (default)
659
- planr rules generate --target cursor # cursor only, agile scope
660
- planr rules generate --target cursor --scope pipeline # cursor pipeline rules (Cursor adapter for planr-pipeline)
661
- planr rules generate --target codex --scope pipeline # AGENTS.md with pipeline orchestration section
662
- planr rules generate --target all --scope all # everything for everyone
663
- planr rules generate --dry-run # preview without writing
658
+ openplanr rules generate # all targets, agile scope (default)
659
+ openplanr rules generate --target cursor # cursor only, agile scope
660
+ openplanr rules generate --target cursor --scope pipeline # cursor pipeline rules (Cursor adapter for planr-pipeline)
661
+ openplanr rules generate --target codex --scope pipeline # AGENTS.md with pipeline orchestration section
662
+ openplanr rules generate --target all --scope all # everything for everyone
663
+ openplanr rules generate --dry-run # preview without writing
664
664
  ```
665
665
 
666
666
  | Option | Description | Default |
@@ -682,7 +682,7 @@ planr rules generate --dry-run # preview without wri
682
682
  | `claude` × `agile` | `CLAUDE.md` (agile context-gathering protocol) |
683
683
  | `claude` × `pipeline` | `CLAUDE.md` with the pipeline block and the `## OpenPlanr capabilities` skill map |
684
684
  | `codex` × `agile` | `AGENTS.md` (agile context) |
685
- | `codex` × `pipeline` | `AGENTS.md` project policy with the `## OpenPlanr capabilities` skill map; `planr setup` installs the skills |
685
+ | `codex` × `pipeline` | `AGENTS.md` project policy with the `## OpenPlanr capabilities` skill map; `openplanr setup` installs the skills |
686
686
  | `* × all` | Both scopes side-by-side |
687
687
 
688
688
  **Cross-runtime support:** v1.0 artifacts plus v1.1 capability contracts run on
@@ -691,13 +691,13 @@ Cursor uses Composer handoff with sequential fallback.
691
691
 
692
692
  ---
693
693
 
694
- ### `planr sync`
694
+ ### `openplanr sync`
695
695
 
696
696
  Validate and repair cross-references across all artifacts.
697
697
 
698
698
  ```bash
699
- planr sync # fix broken cross-references
700
- planr sync --dry-run # preview changes without writing
699
+ openplanr sync # fix broken cross-references
700
+ openplanr sync --dry-run # preview changes without writing
701
701
  ```
702
702
 
703
703
  With the pipeline scope, `CLAUDE.md` and `AGENTS.md` also receive a generated
@@ -720,13 +720,13 @@ Handles both story-level and feature-level task relationships.
720
720
 
721
721
  ---
722
722
 
723
- ### `planr status`
723
+ ### `openplanr status`
724
724
 
725
725
  Show project planning progress with tree view, completion metrics, and color-coded progress.
726
726
 
727
727
  ```bash
728
- planr status
729
- planr status --all
728
+ openplanr status
729
+ openplanr status --all
730
730
  ```
731
731
 
732
732
  | Option | Description | Default |
@@ -743,13 +743,13 @@ planr status --all
743
743
 
744
744
  ---
745
745
 
746
- ### `planr graph`
746
+ ### `openplanr graph`
747
747
 
748
748
  Emit the OpenPlanr artifact graph. `--json` is the stable machine-readable
749
749
  contract consumed by `planr-pipeline` dashboard and ecosystem conformance.
750
750
 
751
751
  ```bash
752
- planr graph --json
752
+ openplanr graph --json
753
753
  ```
754
754
 
755
755
  | Option | Description | Default |
@@ -760,23 +760,23 @@ The JSON output follows `planr-pipeline/schemas/v1.0.0/graph.schema.json`.
760
760
 
761
761
  ---
762
762
 
763
- ### `planr config show`
763
+ ### `openplanr config show`
764
764
 
765
765
  Display the current deterministic project configuration.
766
766
 
767
767
  ```bash
768
- planr config show
768
+ openplanr config show
769
769
  ```
770
770
 
771
771
  ---
772
772
 
773
- ### `planr config set-agent`
773
+ ### `openplanr config set-agent`
774
774
 
775
775
  Set the default coding agent for task implementation guidance.
776
776
 
777
777
  ```bash
778
- planr config set-agent # interactive prompt
779
- planr config set-agent cursor # set directly
778
+ openplanr config set-agent # interactive prompt
779
+ openplanr config set-agent cursor # set directly
780
780
  ```
781
781
 
782
782
  | Argument | Description | Required |
@@ -785,25 +785,25 @@ planr config set-agent cursor # set directly
785
785
 
786
786
  ---
787
787
 
788
- ### `planr linear init`
788
+ ### `openplanr linear init`
789
789
 
790
790
  Authenticate to [Linear](https://linear.app) with a personal access token, then allow one, several, or all accessible teams. When several teams are enabled, choose the default used by commands that omit `--team`. OpenPlanr saves the allowed `linear.teams` plus the backward-compatible default `linear.teamId` and `linear.teamKey` in `.planr/config.json`. The token is stored via the credentials service (or the `PLANR_LINEAR_TOKEN` environment variable) and is never written into `config.json`.
791
791
 
792
792
  ```bash
793
- planr linear init
793
+ openplanr linear init
794
794
  ```
795
795
 
796
- `planr linear push <artifact> --team <id-or-key>` targets any team selected during init. A push always targets one team; OpenPlanr does not duplicate an artifact across every team because each artifact has one authoritative Linear linkage.
796
+ `openplanr linear push <artifact> --team <id-or-key>` targets any team selected during init. A push always targets one team; OpenPlanr does not duplicate an artifact across every team because each artifact has one authoritative Linear linkage.
797
797
 
798
- ### `planr linear sync`
798
+ ### `openplanr linear sync`
799
799
 
800
- **Two steps in one command:** (1) **bidirectional workflow status sync** for every Feature, Story, Quick task, and Backlog item with a `linearIssueId` — three-way merge between local frontmatter, Linear's workflow state, and a stored baseline; (2) run **task checklist** sync (`TASK-*.md` ↔ Linear) for all task files that share a `linearIssueId` (see `planr linear tasklist-sync`). Use `--verbose` to log per-artifact work.
800
+ **Two steps in one command:** (1) **bidirectional workflow status sync** for every Feature, Story, Quick task, and Backlog item with a `linearIssueId` — three-way merge between local frontmatter, Linear's workflow state, and a stored baseline; (2) run **task checklist** sync (`TASK-*.md` ↔ Linear) for all task files that share a `linearIssueId` (see `openplanr linear tasklist-sync`). Use `--verbose` to log per-artifact work.
801
801
 
802
802
  ```bash
803
- planr linear sync
804
- planr linear sync --dry-run
805
- planr linear sync --on-conflict linear
806
- planr --verbose linear sync
803
+ openplanr linear sync
804
+ openplanr linear sync --dry-run
805
+ openplanr linear sync --on-conflict linear
806
+ openplanr --verbose linear sync
807
807
  ```
808
808
 
809
809
  | Option | Description |
@@ -823,7 +823,7 @@ Each artifact's status decision considers three values: `local` (current frontma
823
823
  | Both diverged from `base` (or `base` missing and they disagree) | **Conflict** → resolve per `--on-conflict`. |
824
824
  | Backlog local is `promoted` | Never overwritten (`promoted` is local-only and implies a target pointer Linear can't know about). |
825
825
 
826
- `planr quick update --status <v>` and `planr backlog update --status <v>` automatically clear `linearStatusReconciled` so the next sync sees a local change and pushes it up.
826
+ `openplanr quick update --status <v>` and `openplanr backlog update --status <v>` automatically clear `linearStatusReconciled` so the next sync sees a local change and pushes it up.
827
827
 
828
828
  **Status sync coverage**
829
829
 
@@ -834,7 +834,7 @@ Each artifact's status decision considers three values: `local` (current frontma
834
834
  | backlog (`BL-`) | `open` · `closed` · `promoted` | ✅ (never auto-overwrites `promoted`) |
835
835
  | task (`TASK-`) | `pending` · `in-progress` · `done` (per-file) | ✅ push (aggregated to merged TaskList issue); pull deferred — see below |
836
836
 
837
- **TASK aggregation on push.** A single Linear TaskList issue aggregates every `TASK-NNN.md` file under one feature (one issue, multiple checkbox lists merged). `planr linear push` resolves a single workflow stateId for that issue using the rule:
837
+ **TASK aggregation on push.** A single Linear TaskList issue aggregates every `TASK-NNN.md` file under one feature (one issue, multiple checkbox lists merged). `openplanr linear push` resolves a single workflow stateId for that issue using the rule:
838
838
 
839
839
  | Local task-file statuses | Linear TaskList state |
840
840
  |---|---|
@@ -843,9 +843,9 @@ Each artifact's status decision considers three values: `local` (current frontma
843
843
  | Mix of `done` + `pending` (no in-progress) | In Progress (`started`) — work has begun |
844
844
  | All `pending` | Todo (`unstarted`) |
845
845
 
846
- The `--all-done` flag on `planr task update` (see above) is the recommended path: flipping every checkbox in a task file to `[x]` and setting `status: done` makes the next `planr linear push FEAT-XXX` move the merged TaskList issue to Done.
846
+ The `--all-done` flag on `openplanr task update` (see above) is the recommended path: flipping every checkbox in a task file to `[x]` and setting `status: done` makes the next `openplanr linear push FEAT-XXX` move the merged TaskList issue to Done.
847
847
 
848
- **Pull-side TASK propagation** (Linear → all task files under feature) is tracked separately — partial-disagreement guards aren't trivial. `planr linear tasklist-sync` continues to handle per-checkbox sync as today.
848
+ **Pull-side TASK propagation** (Linear → all task files under feature) is tracked separately — partial-disagreement guards aren't trivial. `openplanr linear tasklist-sync` continues to handle per-checkbox sync as today.
849
849
 
850
850
  **Baseline frontmatter fields** (written by sync, optional; missing = no prior sync):
851
851
 
@@ -856,7 +856,7 @@ The `--all-done` flag on `planr task update` (see above) is the recommended path
856
856
 
857
857
  **Estimate sync**
858
858
 
859
- `planr linear push` also writes an artifact's reviewed `estimatedPoints` or `storyPoints` to Linear's native Issue estimation field, per the team's configured scale:
859
+ `openplanr linear push` also writes an artifact's reviewed `estimatedPoints` or `storyPoints` to Linear's native Issue estimation field, per the team's configured scale:
860
860
 
861
861
  | Team scale | Behavior |
862
862
  |---|---|
@@ -868,11 +868,11 @@ The `--all-done` flag on `planr task update` (see above) is the recommended path
868
868
 
869
869
  Applies to FEAT / US / QT / BL pushes. TASK is intentionally out of scope — one Linear TaskList issue aggregates multiple local `TASK-*.md` files (same rationale as the TASK status deferral), so estimate aggregation rules are tracked as a follow-up.
870
870
 
871
- The team scale is auto-detected per push run and cached. Set a reviewed `estimatedPoints: <n>` in the artifact frontmatter, then `planr linear push` sends it.
871
+ The team scale is auto-detected per push run and cached. Set a reviewed `estimatedPoints: <n>` in the artifact frontmatter, then `openplanr linear push` sends it.
872
872
 
873
873
  **Status-name aliases (push side):** values like `completed`, `cancelled`, `canceled`, and `todo` on a QT/feature/story are transparently treated as `done`/`pending` so hand-edited frontmatter using Linear's native vocabulary still works.
874
874
 
875
- **Zero-config auto-derive:** on every push run, `planr linear push` fetches the team's workflow states once and auto-derives a status→stateId map from Linear's canonical state **types** (`backlog` / `unstarted` / `started` / `completed` / `canceled`). You don't need to configure anything for basic status sync to work — the first `pending`/`open` state of each canonical type becomes the default. Configure `linear.pushStateIds` only when you want non-default routing (e.g., push `done` to "Released" instead of the first `completed` state).
875
+ **Zero-config auto-derive:** on every push run, `openplanr linear push` fetches the team's workflow states once and auto-derives a status→stateId map from Linear's canonical state **types** (`backlog` / `unstarted` / `started` / `completed` / `canceled`). You don't need to configure anything for basic status sync to work — the first `pending`/`open` state of each canonical type becomes the default. Configure `linear.pushStateIds` only when you want non-default routing (e.g., push `done` to "Released" instead of the first `completed` state).
876
876
 
877
877
  **Config:** `linear.statusMap` — keys are Linear state names (e.g. `"Code Review"`), values are one of `pending`, `in-progress`, `done` for tasks/stories/features/QT, or one of `open`, `closed`, `promoted` for BL. `linear.pushStateIds` — local status → Linear workflow state UUID; takes precedence over the auto-derived defaults. For backlog, use `open`/`closed`/`promoted` keys directly (BL has no implicit coercion to the task vocabulary).
878
878
 
@@ -893,33 +893,33 @@ The team scale is auto-detected per push run and cached. Set a reviewed `estimat
893
893
  }
894
894
  ```
895
895
 
896
- ### `planr linear status`
896
+ ### `openplanr linear status`
897
897
 
898
898
  **Local only** — no Linear API. Prints a text table: OpenPlanr id, Linear identifier, URL, last-known `status` (or em dash for epics), and a note for malformed or stale `linearIssueId` values (e.g. a workflow state uuid mistaken for an issue id).
899
899
 
900
900
  ```bash
901
- planr linear status
902
- planr linear status --scope EPIC-001
901
+ openplanr linear status
902
+ openplanr linear status --scope EPIC-001
903
903
  ```
904
904
 
905
- ### `planr linear push`
905
+ ### `openplanr linear push`
906
906
 
907
- Create or update Linear entities for any planning artifact, at the smallest scope the id implies. Accepts any supported prefix — `EPIC-`, `FEAT-`, `US-`, `TASK-`, `QT-`, `BL-` — and writes `linearProject*` / `linearIssue*` / `linearMilestoneId` / `linearLabelId` / `linearProjectMilestoneId` / `linearLabelIds` / `linearTaskChecklistSyncedAt` back to artifact frontmatter. Requires `planr linear init` and a team id in config.
907
+ Create or update Linear entities for any planning artifact, at the smallest scope the id implies. Accepts any supported prefix — `EPIC-`, `FEAT-`, `US-`, `TASK-`, `QT-`, `BL-` — and writes `linearProject*` / `linearIssue*` / `linearMilestoneId` / `linearLabelId` / `linearProjectMilestoneId` / `linearLabelIds` / `linearTaskChecklistSyncedAt` back to artifact frontmatter. Requires `openplanr linear init` and a team id in config.
908
908
 
909
909
  ```bash
910
- planr linear push EPIC-001 # full subtree: project + features + stories + tasklists + linked QT/BL
911
- planr linear push FEAT-015 # just one feature + its stories + its tasklist
912
- planr linear push US-054 # just one story
913
- planr linear push TASK-015 # just one tasklist sub-issue
914
- planr linear push QT-007 # standalone quick task (or epic-linked if QT has epicId)
915
- planr linear push BL-001 # backlog item (auto `backlog` label)
916
- planr linear push EPIC-001 --dry-run # local preview only; no Linear API calls
917
- planr linear push EPIC-001 --update-only # only update existing linked entities
918
- planr linear push FEAT-015 --push-parents # if the parent epic isn't pushed yet, push it first (upward attachment only)
919
- planr linear push FEAT-015 --no-cascade # push only this feature — skip its stories and tasklist
920
- planr linear push EPIC-001 --no-cascade # push only the epic project — no features
921
- planr linear push TASK-004 --push-parents # push parent feature (no sibling stories) + this tasklist
922
- planr linear push EPIC-001 --as milestone-of:<projectId># first-time mapping strategy override
910
+ openplanr linear push EPIC-001 # full subtree: project + features + stories + tasklists + linked QT/BL
911
+ openplanr linear push FEAT-015 # just one feature + its stories + its tasklist
912
+ openplanr linear push US-054 # just one story
913
+ openplanr linear push TASK-015 # just one tasklist sub-issue
914
+ openplanr linear push QT-007 # standalone quick task (or epic-linked if QT has epicId)
915
+ openplanr linear push BL-001 # backlog item (auto `backlog` label)
916
+ openplanr linear push EPIC-001 --dry-run # local preview only; no Linear API calls
917
+ openplanr linear push EPIC-001 --update-only # only update existing linked entities
918
+ openplanr linear push FEAT-015 --push-parents # if the parent epic isn't pushed yet, push it first (upward attachment only)
919
+ openplanr linear push FEAT-015 --no-cascade # push only this feature — skip its stories and tasklist
920
+ openplanr linear push EPIC-001 --no-cascade # push only the epic project — no features
921
+ openplanr linear push TASK-004 --push-parents # push parent feature (no sibling stories) + this tasklist
922
+ openplanr linear push EPIC-001 --as milestone-of:<projectId># first-time mapping strategy override
923
923
  ```
924
924
 
925
925
  | Argument / option | Description | Required |
@@ -967,21 +967,21 @@ Quick tasks and backlog items push as top-level issues in a user-chosen standalo
967
967
 
968
968
  **Epic-linked QT / BL**
969
969
 
970
- A QT or BL file with `epicId: "EPIC-XXX"` (or legacy `parentEpic`) in frontmatter is pulled into that epic's Linear container instead of the standalone project. `planr linear push EPIC-XXX` cascades to every linked QT/BL. Unlinked ones stay in the standalone project. `planr quick create --epic` and `planr backlog add --epic` set the link at creation time.
970
+ A QT or BL file with `epicId: "EPIC-XXX"` (or legacy `parentEpic`) in frontmatter is pulled into that epic's Linear container instead of the standalone project. `openplanr linear push EPIC-XXX` cascades to every linked QT/BL. Unlinked ones stay in the standalone project. `openplanr quick create --epic` and `openplanr backlog add --epic` set the link at creation time.
971
971
 
972
- **Mapping:** Epic → Linear project (or milestone / label — see strategies above); feature → top-level issue; story → sub-issue of the feature issue; per-feature merged task list → sub-issue; linked QT/BL → top-level issue in the epic's container. Optional `linear.pushStateIds` maps `pending` / `in-progress` / `done` to Linear workflow **state id** (uuid). Optional `linear.defaultProjectLead` is the Linear user id for project `leadId`. See `planr linear sync` for pulling status **from** Linear into frontmatter.
972
+ **Mapping:** Epic → Linear project (or milestone / label — see strategies above); feature → top-level issue; story → sub-issue of the feature issue; per-feature merged task list → sub-issue; linked QT/BL → top-level issue in the epic's container. Optional `linear.pushStateIds` maps `pending` / `in-progress` / `done` to Linear workflow **state id** (uuid). Optional `linear.defaultProjectLead` is the Linear user id for project `leadId`. See `openplanr linear sync` for pulling status **from** Linear into frontmatter.
973
973
 
974
974
  **Idempotency:** Re-running the command updates the same project and issues when Linear ids are already stored in frontmatter. No duplicate creates.
975
975
 
976
976
  **Resilience:** A malformed artifact file (unparseable frontmatter, missing title, broken YAML) is skipped with a clear warning and the rest of the push proceeds — one broken file no longer aborts the whole run.
977
977
 
978
- ### `planr linear tasklist-sync`
978
+ ### `openplanr linear tasklist-sync`
979
979
 
980
980
  Bidirectionally sync **checkbox** state between local `TASK-*.md` files and the corresponding Linear **TaskList** issues (`linearIssueId` in frontmatter). OpenPlanr reuses a single Linear issue for multiple task files in the same feature by using `## TASK-...` sections; a single file maps to the whole description. A three-way merge uses `linearChecklistReconciled` in each task’s frontmatter as the last known agreement; on divergence you can be prompted, or set `--on-conflict local` or `--on-conflict linear` (e.g. in CI).
981
981
 
982
982
  ```bash
983
- planr linear tasklist-sync
984
- planr linear tasklist-sync --on-conflict linear
983
+ openplanr linear tasklist-sync
984
+ openplanr linear tasklist-sync --on-conflict linear
985
985
  ```
986
986
 
987
987
  | Argument / option | Description | Required |
@@ -990,14 +990,14 @@ planr linear tasklist-sync --on-conflict linear
990
990
 
991
991
  ---
992
992
 
993
- ### `planr github push`
993
+ ### `openplanr github push`
994
994
 
995
995
  Push planning artifacts to GitHub Issues. Requires `gh` CLI to be installed and authenticated (`gh auth login`).
996
996
 
997
997
  ```bash
998
- planr github push EPIC-001 # push a single artifact
999
- planr github push --epic EPIC-001 # push all artifacts under an epic
1000
- planr github push --all # push all artifacts
998
+ openplanr github push EPIC-001 # push a single artifact
999
+ openplanr github push --epic EPIC-001 # push all artifacts under an epic
1000
+ openplanr github push --all # push all artifacts
1001
1001
  ```
1002
1002
 
1003
1003
  | Argument/Option | Description | Required |
@@ -1016,15 +1016,15 @@ planr github push --all # push all artifacts
1016
1016
 
1017
1017
  ---
1018
1018
 
1019
- ### `planr github sync`
1019
+ ### `openplanr github sync`
1020
1020
 
1021
1021
  Bi-directional status sync between local artifacts and GitHub Issues.
1022
1022
 
1023
1023
  ```bash
1024
- planr github sync # interactive conflict resolution (both directions)
1025
- planr github sync --direction pull # GitHub → local (update local status from issue state)
1026
- planr github sync --direction push # local → GitHub (update issue state from local status)
1027
- planr github sync --direction both # both with interactive conflict resolution (default)
1024
+ openplanr github sync # interactive conflict resolution (both directions)
1025
+ openplanr github sync --direction pull # GitHub → local (update local status from issue state)
1026
+ openplanr github sync --direction push # local → GitHub (update issue state from local status)
1027
+ openplanr github sync --direction both # both with interactive conflict resolution (default)
1028
1028
  ```
1029
1029
 
1030
1030
  | Option | Description | Default |
@@ -1040,33 +1040,33 @@ planr github sync --direction both # both with interactive conflict resolut
1040
1040
 
1041
1041
  ---
1042
1042
 
1043
- ### `planr github status`
1043
+ ### `openplanr github status`
1044
1044
 
1045
1045
  Show sync status of all linked artifacts.
1046
1046
 
1047
1047
  ```bash
1048
- planr github status
1048
+ openplanr github status
1049
1049
  ```
1050
1050
 
1051
1051
  Displays a table of all artifacts that have a `githubIssue` field, showing local status vs GitHub issue state and whether they are in sync.
1052
1052
 
1053
1053
  ---
1054
1054
 
1055
- ### `planr report`
1055
+ ### `openplanr report`
1056
1056
 
1057
1057
  Generate a stakeholder report from `.planr/` artifacts and (optionally) recent
1058
1058
  GitHub activity. The commands below define the packaged reporting surface.
1059
1059
 
1060
1060
  ```bash
1061
- planr report weekly # markdown to .planr/reports/
1062
- planr report sprint --sprint SPRINT-001 # sprint summary for one sprint
1063
- planr report executive --format html # HTML wrapper around the markdown
1064
- planr report weekly --stdout # print to stdout, no file
1065
- planr report weekly --no-github # skip the gh API calls
1066
- planr report weekly --lint # run the quality linter on the output
1067
- planr report weekly --strict-evidence # fail if bullet claims lack URLs or #issue refs
1068
- planr report weekly --push slack --dry-run # show what would be posted to Slack
1069
- planr report sprint --push github # archive as a planr:report GitHub issue
1061
+ openplanr report weekly # markdown to .planr/reports/
1062
+ openplanr report sprint --sprint SPRINT-001 # sprint summary for one sprint
1063
+ openplanr report executive --format html # HTML wrapper around the markdown
1064
+ openplanr report weekly --stdout # print to stdout, no file
1065
+ openplanr report weekly --no-github # skip the gh API calls
1066
+ openplanr report weekly --lint # run the quality linter on the output
1067
+ openplanr report weekly --strict-evidence # fail if bullet claims lack URLs or #issue refs
1068
+ openplanr report weekly --push slack --dry-run # show what would be posted to Slack
1069
+ openplanr report sprint --push github # archive as a planr:report GitHub issue
1070
1070
  ```
1071
1071
 
1072
1072
  | Option | Description | Default |
@@ -1109,13 +1109,13 @@ planr report sprint --push github # archive as a planr:repor
1109
1109
 
1110
1110
  ---
1111
1111
 
1112
- ### `planr report-linter`
1112
+ ### `openplanr report-linter`
1113
1113
 
1114
- Lint an existing stakeholder markdown file (or stdin) against the same rules `planr report --lint` runs.
1114
+ Lint an existing stakeholder markdown file (or stdin) against the same rules `openplanr report --lint` runs.
1115
1115
 
1116
1116
  ```bash
1117
- planr report-linter ./drafts/weekly.md --type weekly
1118
- cat drafts/sprint.md | planr report-linter --type sprint
1117
+ openplanr report-linter ./drafts/weekly.md --type weekly
1118
+ cat drafts/sprint.md | openplanr report-linter --type sprint
1119
1119
  ```
1120
1120
 
1121
1121
  | Option | Description | Default |
@@ -1145,14 +1145,14 @@ Each `pattern` is a case-insensitive regular expression. A pattern that does not
1145
1145
 
1146
1146
  ---
1147
1147
 
1148
- ### `planr context`
1148
+ ### `openplanr context`
1149
1149
 
1150
1150
  Print the report context pack — artifacts, sprint state, GitHub signals, and the flat evidence index — as JSON for piping into other tools.
1151
1151
 
1152
1152
  ```bash
1153
- planr context --report-type weekly
1154
- planr context --report-type sprint --sprint SPRINT-001 --days 14
1155
- planr context --report-type weekly | jq '.evidence | length'
1153
+ openplanr context --report-type weekly
1154
+ openplanr context --report-type sprint --sprint SPRINT-001 --days 14
1155
+ openplanr context --report-type weekly | jq '.evidence | length'
1156
1156
  ```
1157
1157
 
1158
1158
  | Option | Description | Default |
@@ -1166,16 +1166,16 @@ The JSON payload is written to stdout; a one-line summary (`context: <n> evidenc
1166
1166
 
1167
1167
  ---
1168
1168
 
1169
- ### `planr voice standup`
1169
+ ### `openplanr voice standup`
1170
1170
 
1171
1171
  Convert a transcript file (or stdin) into structured standup markdown using a heuristic Yesterday / Today / Blockers parser. Live microphone capture and bundled speech-to-text are intentionally **not** part of v1 — pair this with any STT or OS dictation tool that produces text.
1172
1172
 
1173
1173
  ```bash
1174
- planr voice standup --file standups/2026-04-19.txt
1175
- planr voice standup --file t.txt --lint
1176
- planr voice standup --file t.txt --append-story US-029
1177
- planr voice standup --file t.txt --edit # interactive: open $EDITOR before saving
1178
- planr voice standup --file t.txt --reload-file # interactive: re-read file after editing externally
1174
+ openplanr voice standup --file standups/2026-04-19.txt
1175
+ openplanr voice standup --file t.txt --lint
1176
+ openplanr voice standup --file t.txt --append-story US-029
1177
+ openplanr voice standup --file t.txt --edit # interactive: open $EDITOR before saving
1178
+ openplanr voice standup --file t.txt --reload-file # interactive: re-read file after editing externally
1179
1179
  ```
1180
1180
 
1181
1181
  | Option | Description | Default |
@@ -1191,16 +1191,16 @@ Per-segment audio replay is reserved (`TranscriptSegment.audioOffsetMs` exists i
1191
1191
 
1192
1192
  ---
1193
1193
 
1194
- ### `planr export`
1194
+ ### `openplanr export`
1195
1195
 
1196
1196
  Generate a consolidated planning report in markdown, JSON, or HTML format.
1197
1197
 
1198
1198
  ```bash
1199
- planr export # markdown report in current directory
1200
- planr export --format html # self-contained HTML report
1201
- planr export --format json # machine-readable JSON
1202
- planr export --format html --scope EPIC-001 # only artifacts under one epic
1203
- planr export --output ./reports # custom output directory
1199
+ openplanr export # markdown report in current directory
1200
+ openplanr export --format html # self-contained HTML report
1201
+ openplanr export --format json # machine-readable JSON
1202
+ openplanr export --format html --scope EPIC-001 # only artifacts under one epic
1203
+ openplanr export --output ./reports # custom output directory
1204
1204
  ```
1205
1205
 
1206
1206
  | Option | Description | Default |
@@ -1223,29 +1223,29 @@ planr export --output ./reports # custom output directory
1223
1223
  Use the CLI to maintain deterministic repository artifacts; invoke host skills for semantic planning and implementation:
1224
1224
 
1225
1225
  ```text
1226
- planr init
1227
- └─ planr epic create "Platform renewal"
1228
- └─ planr feature create "OAuth sign-in" --epic EPIC-001
1229
- └─ planr story create "Company sign-in" --feature FEAT-001
1230
- └─ planr task create "Implement approved flow" --story US-001
1231
-
1232
- planr backlog add "Investigate callback failures" --priority high
1233
- planr backlog list
1234
- planr backlog update BL-001 --status closed
1235
-
1236
- planr sprint create "Sprint 1" --duration 2w
1237
- planr sprint list
1238
- planr sprint show SPRINT-001
1239
- planr sprint refinement SPRINT-001 --data refinement.json
1240
- planr sprint apply SPRINT-001 --yes --commit
1241
- planr sprint close SPRINT-001
1242
-
1243
- planr sync
1244
- planr status
1245
- planr rules generate
1246
- planr github push --all
1247
- planr github sync
1248
- planr export --format html
1226
+ openplanr init
1227
+ └─ openplanr epic create "Platform renewal"
1228
+ └─ openplanr feature create "OAuth sign-in" --epic EPIC-001
1229
+ └─ openplanr story create "Company sign-in" --feature FEAT-001
1230
+ └─ openplanr task create "Implement approved flow" --story US-001
1231
+
1232
+ openplanr backlog add "Investigate callback failures" --priority high
1233
+ openplanr backlog list
1234
+ openplanr backlog update BL-001 --status closed
1235
+
1236
+ openplanr sprint create "Sprint 1" --duration 2w
1237
+ openplanr sprint list
1238
+ openplanr sprint show SPRINT-001
1239
+ openplanr sprint refinement SPRINT-001 --data refinement.json
1240
+ openplanr sprint apply SPRINT-001 --yes --commit
1241
+ openplanr sprint close SPRINT-001
1242
+
1243
+ openplanr sync
1244
+ openplanr status
1245
+ openplanr rules generate
1246
+ openplanr github push --all
1247
+ openplanr github sync
1248
+ openplanr export --format html
1249
1249
  ```
1250
1250
 
1251
1251
  For semantic decomposition, invoke the installed `planr:plan` skill. After reviewing the plan, invoke `planr:ship` separately.