openplanr 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.2.2
4
+ ### Patch Changes
5
+
6
+ - 81e1a1d: Rewrite the package README and shipped guides around the product as it ships today: install and quick start for Claude Code, Codex, and Cursor, the command groups, the skills each host installs, and current troubleshooting. Retired commands, plugin identities, and provider language are removed.
7
+
8
+ ## 2.2.1
9
+ ### Patch Changes
10
+
11
+ - bfb0d6a: Stamp the generated Claude, Codex and Cursor plugin manifests, the local marketplaces and the host adapter registry with the CLI package version instead of a fixed `0.1.0`, so `planr runtime update` and the host plugin panels see a real version change on every release.
12
+
3
13
  ## 2.2.0
4
14
  ### Minor Changes
5
15
 
package/README.md CHANGED
@@ -1,481 +1,100 @@
1
- <div align="center">
2
-
3
- # OpenPlanr
4
-
5
- ### Dedicated planning CLI and cross-runtime workflow control plane
6
-
7
- **Plan continuously. Route feature delivery anywhere.**
8
- Certified first for **Claude Code**, **Cursor**, and **Codex** through Protocol
9
- v1.0 artifacts plus additive runtime contracts.
10
-
11
- [![npm version](https://img.shields.io/npm/v/openplanr.svg?style=flat-square&color=cb3837&logo=npm)](https://www.npmjs.com/package/openplanr)
12
- [![node](https://img.shields.io/node/v/openplanr.svg?style=flat-square&color=339933&logo=node.js&logoColor=white)](https://nodejs.org)
13
- [![license](https://img.shields.io/npm/l/openplanr.svg?style=flat-square&color=blue)](https://github.com/openplanr/OpenPlanr/blob/main/LICENSE)
14
- [![protocol](https://img.shields.io/badge/protocol-v1.7.0-7c3aed?style=flat-square)](https://github.com/openplanr/OpenPlanr/tree/main/packages/pipeline/docs/protocol)
15
- [![runtimes](https://img.shields.io/badge/runtimes-Claude%20Code%20%7C%20Cursor%20%7C%20Codex-f97316?style=flat-square)](https://github.com/openplanr/OpenPlanr/blob/main/packages/pipeline/docs/compatibility-matrix.md)
16
-
17
- **[Website](https://openplanr.dev)** · **[Setup guide](docs/CROSS_RUNTIME_SETUP.md)** · **[Artifact review](docs/ARTIFACT_REVIEW.md)** · **[Compatibility matrix](https://github.com/openplanr/OpenPlanr/blob/main/packages/pipeline/docs/compatibility-matrix.md)** · **[Protocol spec](https://github.com/openplanr/OpenPlanr/tree/main/packages/pipeline/docs/protocol)** · **[CLI reference](docs/CLI.md)**
18
-
19
- </div>
20
-
21
- ---
22
-
23
- OpenPlanr is the public planning and project-management CLI package. It owns
24
- epics, features, stories, tasks, specs, sprints, backlog, reports,
25
- integrations, and artifact lifecycle. The public `planr-pipeline` package owns
26
- the PO → Design → Review → DEV → QA workflow. Their package boundaries remain
27
- independent, while their sources and shared contracts now live in the same
28
- OpenPlanr workspace.
1
+ <p align="center">
2
+ <img alt="OpenPlanr" width="72" src="https://raw.githubusercontent.com/openplanr/OpenPlanr/main/docs/assets/brand/openplanr-mark.svg">
3
+ </p>
4
+
5
+ <h1 align="center">openplanr</h1>
6
+
7
+ <p align="center">
8
+ The <code>planr</code> CLI: planning files, validation, diagrams, host setup, diagnostics, and tracker sync for OpenPlanr.<br>
9
+ Close the loop from intent to delivery with Claude Code, Codex, and Cursor.
10
+ </p>
11
+
12
+ <p align="center">
13
+ <a href="https://www.npmjs.com/package/openplanr"><img alt="npm version" src="https://img.shields.io/npm/v/openplanr?style=flat-square&labelColor=08080C&color=237A72&label=openplanr"></a>
14
+ <a href="https://www.npmjs.com/package/openplanr"><img alt="npm downloads" src="https://img.shields.io/npm/dm/openplanr?style=flat-square&labelColor=08080C&color=237A72"></a>
15
+ <a href="https://github.com/openplanr/OpenPlanr/actions/workflows/ci.yml"><img alt="Workspace CI" src="https://img.shields.io/github/actions/workflow/status/openplanr/OpenPlanr/ci.yml?branch=main&style=flat-square&labelColor=08080C&color=237A72&label=CI"></a>
16
+ <a href="https://nodejs.org"><img alt="Node.js 20 or later" src="https://img.shields.io/node/v/openplanr?style=flat-square&labelColor=08080C&color=237A72"></a>
17
+ <a href="https://github.com/openplanr/OpenPlanr/blob/main/LICENSE"><img alt="MIT license" src="https://img.shields.io/badge/license-MIT-237A72?style=flat-square&labelColor=08080C"></a>
18
+ </p>
19
+
20
+ OpenPlanr gives your coding agent 27 skills for specifying, planning, reviewing, designing,
21
+ diagramming, shipping, and operating work from plans stored in your repository under
22
+ `.planr/`. This package is the deterministic half: the `planr` command that stores and
23
+ validates those files, renders diagrams and reports, installs the skills into each host,
24
+ diagnoses the installation, and syncs with GitHub Issues and Linear. It never calls a
25
+ model. Reasoning happens in the agent; the CLI keeps the record straight.
26
+
27
+ ## Install
29
28
 
30
29
  ```bash
31
- curl -fsSL https://openplanr.dev/install.sh | sh
32
- # Windows: irm https://openplanr.dev/install.ps1 | iex
33
-
34
- cd my-project
35
- planr setup
36
- planr doctor
37
- planr init
30
+ npm install -g openplanr
31
+ planr --version
38
32
  ```
39
33
 
40
- Create a spec locally, then invoke the `planr:plan` skill in your coding host.
41
-
42
- No global install is also supported: `npx openplanr@latest setup`. Planning-only
43
- installations use `--minimal`; the full pipeline is the default.
44
-
45
- ---
46
-
47
- ## Why OpenPlanr?
48
-
49
- AI coding agents are powerful but lack structured planning context. Without a clear plan, they generate code that drifts from requirements, churn on the same problem across sessions, and can't be audited. OpenPlanr fixes this with four properties:
50
-
51
- 1. **Markdown artifacts in your repo** — plans live next to your code, version-controlled, gittable, gradable. No external SaaS, no DB.
52
- 2. **One contract, every runtime** — Claude Code, Cursor, and Codex consume the same planning artifacts while locks and provenance retain explicit additive contracts.
53
- 3. **Three planning postures** — agile, quick task, or spec-driven planning, independent from the pipeline's feature-local PO phase.
54
- 4. **Safe runtime migration** — setup previews exact changes, preserves hand-written content, records ownership, backs up exact bytes, and supports rollback.
55
-
56
- ---
57
-
58
- ## Three planning postures
59
-
60
- | Posture | Best for | Output |
61
- |---|---|---|
62
- | **Agile** | Real teams, sprints, multi-stakeholder work | `.planr/{epics,features,stories,tasks,sprints}/*.md` + Gherkin |
63
- | **Quick task** | Solo dev, one-off chores, no ceremony | `.planr/quick/QT-NNN-*.md` (a single checklist file) |
64
- | **Spec-driven** | Handing a feature to an AI agent factory | `.planr/specs/SPEC-NNN-{slug}/{stories,tasks,design}/` |
65
-
66
- Pick one per project, mix per task. The spec-driven posture is the bridge to the [planr-pipeline](https://github.com/openplanr/OpenPlanr/tree/main/packages/pipeline) — same artifact contract, no conversion adapter.
67
-
68
- ---
69
-
70
- ## Cross-runtime support
71
-
72
- `planr setup` detects installed runtimes and installs portable adapters. `planr init`
73
- remains project initialization; it is no longer overloaded with user installation.
74
-
75
- | Runtime | What gets installed | How the workflow activates |
76
- |---|---|---|
77
- | **Claude Code** | Official `planr@openplanr` unified marketplace plugin | Native `/planr:*` skills and packaged role agents |
78
- | **Cursor** | Portable project rules plus nine generated role files using relative paths | Composer handoff with sequential fallback |
79
- | **Codex** | User-scope skills; `AGENTS.md` contains only project policy and artifact pointers | Skills, native subagents when available, sequential fallback otherwise |
80
-
81
- Same artifacts (`.planr/specs/SPEC-NNN-{slug}/`). Same `.pipeline-shipped` proof markers. Cross-runtime spec portability works out of the box. See the [compatibility matrix](https://github.com/openplanr/OpenPlanr/blob/main/packages/pipeline/docs/compatibility-matrix.md) for per-capability parity.
82
-
83
- ---
34
+ Also available as `openplanr` and `opr`. Alternatives: `npx openplanr@latest setup`, or
35
+ the installers `curl -fsSL https://openplanr.dev/install.sh | sh` and
36
+ `irm https://openplanr.dev/install.ps1 | iex`. Requires Node.js 20 or later.
84
37
 
85
38
  ## Quick start
86
39
 
87
- ### Install and setup
88
-
89
40
  ```bash
90
- curl -fsSL https://openplanr.dev/install.sh | sh
91
- cd my-project
92
- planr setup
93
- planr doctor
94
- ```
95
-
96
- The installer installs the CLI only. Guided setup detects coding agents and
97
- prompts for workflow mode, runtimes, and scope; user scope is the safe default.
98
- Use `planr setup --dry-run` to preview, `planr setup --minimal` for planning
99
- only, and `planr runtime rollback` to restore exact pre-migration bytes. When
100
- Claude Code is selected, confirmed setup also refreshes the official
101
- OpenPlanr marketplace and installs or updates its compatible plugins. Restart
102
- Claude Code when setup reports that runtime packages changed.
103
-
104
- ### Run an Operate cycle with Codex
41
+ planr setup --runtime claude --scope user
42
+ # Codex: planr setup --runtime codex --scope user --skill-mode unified-plugin
43
+ # Cursor: planr setup --runtime cursor --scope project
105
44
 
106
- Full Codex setup installs one globally owned, digest-verified bundle containing
107
- every canonical `planr-*` skill in the Protocol registry. The Operate set is
108
- `planr-operate` plus the seven
109
- `planr-{ceo,cto,cpo,cmo,coo,challenger,chair}-review` executors. Setup
110
- copies every manifest-owned asset in each skill tree; `planr doctor --strict
111
- --json` checks the installed files and their declared CLI requirements.
112
-
113
- Invoke `$planr-operate` directly for a local seven-lens review. It infers a
114
- current-snapshot periodic review when the request is clear, asks one native
115
- question only when a consequential choice is genuinely ambiguous, and returns a
116
- concise board report with decisions, actions, risks, coverage, and issues.
117
-
118
- The note checker is optional editing help. It reports bounded structural
119
- diagnostics, but a missing or imperfect lens does not discard the useful review
120
- or create a workflow gate:
121
-
122
- ```bash
123
- planr operate validate-note <note.md> --profile advisor|challenger|chair|board-report --contract-version 2.0.0 --json
124
- ```
125
-
126
- Use `--contract-version auto` (the default) to detect current v2 notes and
127
- historical v1 Markdown notes by declaration or structure.
128
-
129
- The durable Operate runtime is a separate stateful interface. Discover its exact
130
- registered domain identity before starting a durable Cycle; a domain version is
131
- not the Protocol version and is never guessed:
132
-
133
- ```bash
134
- planr operate domains --json
135
- ```
136
-
137
- Issued durable assignments use the packet workflow below. The returned
138
- `resultPath` is the file to author; no base64 or private runtime-store reads are
139
- required.
140
-
141
- ```bash
142
- planr operate assignment prepare <assignmentId> --actor <agentId> --runtime codex --json
143
- planr operate assignment validate <packetId> --content-file <resultPath> --json
144
- planr operate assignment submit <packetId> --content-file <resultPath> --json
145
- ```
146
-
147
- If setup, domain discovery, or a packet command fails, run
148
- `planr doctor --strict --json`. Re-run `planr setup` to repair only known owned
149
- skill bytes; modified or unknown files are preserved and reported as conflicts.
150
- Use `planr upgrade status`, then the explicit `planr upgrade apply` command when
151
- doctor reports an incompatible installed CLI. See the
152
- [setup and troubleshooting guide](docs/CROSS_RUNTIME_SETUP.md)
153
- and [CLI reference](docs/CLI.md#planr-operate).
154
-
155
- ### Initialise a project
156
-
157
- ```bash
158
- cd my-project
45
+ cd your-project
159
46
  planr init
160
- # Creates deterministic project-local planning storage
161
- ```
162
-
163
- Non-interactive variants:
164
-
165
- ```bash
166
- planr init --name "My project" # create deterministic project storage
167
- planr setup --dry-run # preview host adapter installation
168
- ```
169
-
170
- ### Pick a posture and start
171
-
172
- **Agile:**
173
-
174
- ```bash
175
- planr epic create
176
- planr feature create --epic EPIC-001
177
- planr story create --feature FEAT-001
178
- planr task create --feature FEAT-001
179
- # Use the planr:plan host skill when semantic decomposition is needed.
180
- ```
181
-
182
- **Quick task:**
183
-
184
- ```bash
185
- planr quick create "add OAuth login"
186
- ```
187
-
188
- **Spec-driven (with the pipeline plugin):**
189
-
190
- ```bash
191
- planr spec create "Auth flow" --slug auth
192
- planr spec shape SPEC-001 # 4 questions, no $EDITOR
193
- planr spec promote SPEC-001 # validate and print the host handoff
47
+ planr rules generate --target claude # adds the skill map to CLAUDE.md (or codex → AGENTS.md)
194
48
  ```
195
49
 
196
- In Claude Code invoke `/planr:plan`; in Codex invoke `$planr:plan`. After
197
- reviewing the plan, invoke the matching `planr:ship` skill explicitly.
198
-
199
- ### Review and privately share any HTML artifact
200
-
201
- ```bash
202
- planr artifact ./artifact.html
203
- # Add pins, threads, and an Approve or Request changes decision.
204
-
205
- planr artifact share ./artifact.html --secret-output ./room.private.json --no-open # live encrypted room (default)
206
- planr artifact share ./artifact.html --snapshot # explicit immutable snapshot
207
- planr artifact open ./artifact.html --presentation canvas # optional spatial view
208
- planr artifact import "<returned-review-url>"
209
- ```
210
-
211
- Generic artifacts render edge-to-edge in the headless document presentation;
212
- design boards retain the zoomable canvas. Authored `design-document.json` files
213
- open the Design studio through `planr artifact open design-document.json`, with
214
- Canvas, Prototype and Walkthrough views of the same source, responsive frames,
215
- variant selection and persistent pinned feedback. The design skills also bundle
216
- the same local utilities for installations without a global CLI. Browser
217
- readiness and visual verification are reported separately; a design without
218
- browser evidence remains unverified. Complete local HTML/CSS/JavaScript is
219
- bundled into an opaque-origin sandbox, so private review is not standalone site
220
- hosting.
221
-
222
- Sharing is explicit. A new generic share creates one stable encrypted live room:
223
- anyone with its review URL can comment. Owner decisions require a distinct
224
- owner-verdict URL plus the matching private P-256 signer in the mode-0600
225
- `--secret-output` file. A third management URL can pause/reopen comments or
226
- delete the room, but cannot set a verdict. Before any room request, the CLI
227
- prepares one room identity and durably writes its exact three URLs plus owner
228
- signer to the private recovery file. A lost response retries that same prepared
229
- creation once without rotating secrets or creating a second room. A definite
230
- rejection revokes the file; an ambiguous outcome preserves it and reports a
231
- bounded recovery error. Immutable fragments and encrypted short links remain
232
- available with `--snapshot`; the service never receives the private signer.
233
- See the [artifact review and privacy guide](docs/ARTIFACT_REVIEW.md).
234
-
235
- ---
236
-
237
- ## Commands
238
-
239
- ### Spec-driven mode
240
-
241
- Third planning posture for handing reviewed features to coding hosts. Specs contain
242
- User Stories and Tasks with explicit Create / Modify / Preserve lists, `Type: UI |
243
- Tech`, ownership, and build/test completion criteria. Canonical schemas live in
244
- [`packages/protocol`](https://github.com/openplanr/OpenPlanr/tree/main/packages/protocol).
245
-
246
- | Command | Description |
247
- |---|---|
248
- | `planr spec init` | Activate spec-driven mode (creates `.planr/specs/`) |
249
- | `planr spec create "Auth flow"` | Create a self-contained `SPEC-NNN-{slug}/` directory |
250
- | `planr spec shape <id>` | Interactive 4-question authoring (Context, Functional Reqs, Business Rules, Acceptance) |
251
- | `planr spec sync [<id>]` | Validate integrity (orphans, missing `specId`, schema drift); auto-fixes safe issues |
252
- | `planr spec list` | List all specs with status + decomposition counts |
253
- | `planr spec show <id>` | Print a spec + its US/Task tree |
254
- | `planr spec status [<id>]` | Decomposition state across one/all specs |
255
- | `planr spec destroy <id>` | Remove a spec entirely |
256
- | `planr spec attach-design <id> --files <png>...` | Attach UI mockups for the designer-agent |
257
- | `planr spec promote <id>` | Validate + print the pipeline handoff command |
258
-
259
- ### Agile hierarchy
260
-
261
- | Command | Description |
262
- |---|---|
263
- | `planr epic create` | Create a new epic (supports `--file <path>` for PRDs) |
264
- | `planr feature create --epic <ID>` | Create features from an epic |
265
- | `planr story create --feature <ID>` | Create user stories from a feature |
266
- | `planr task create --story <ID>` | Create a task from flags or deterministic JSON for one story |
267
- | `planr task create --feature <ID>` | Create a task from flags or deterministic JSON for one feature |
268
- | `planr epic list` / `planr feature list` / `planr story list` / `planr task list` | List artifacts |
269
-
270
- ### Quick tasks & templates
271
-
272
- | Command | Description |
273
- |---|---|
274
- | `planr quick create "description"` | Create a standalone task list |
275
- | `planr quick create --file spec.md` | Task list from a PRD or spec file |
276
- | `planr quick show <ID>` / `planr quick update <ID>` | Inspect or update a quick task |
277
- | `planr template list` | List built-in and custom templates |
278
- | `planr template use rest-endpoint --title "User API"` | Generate tasks from a template |
279
- | `planr template save TASK-001 --name my-pattern` | Save existing tasks as template |
280
-
281
- Built-in templates: `rest-endpoint`, `react-component`, `database-migration`, `api-integration`, `auth-flow`.
282
-
283
- ### Backlog & Sprint
284
-
285
- | Command | Description |
286
- |---|---|
287
- | `planr backlog add "desc" --priority high --tag bug` | Capture a backlog item |
288
- | `planr backlog list` / `show <id>` / `update <id>` | Inspect or update backlog items |
289
- | `planr sprint create "Sprint 1" --duration 2w` | Create a time-boxed sprint |
290
- | `planr sprint list` / `show <id>` / `update <id>` | Inspect or update sprints |
291
-
292
- ### Planning tools
293
-
294
- | Command | Description |
295
- |---|---|
296
- | `planr search <query>` | Full-text search across all artifacts |
297
- | `planr sync` | Validate and fix cross-references |
298
- | `planr status [scope]` | Whole-project delivery report — status + GitHub/Linear cross-ref + outstanding work (`--md` / `--json` / `--github` / `--linear`) |
299
-
300
- ### AI agent rules
301
-
302
- | Command | Description |
303
- |---|---|
304
- | `planr rules generate` | Generate rule files for all configured runtimes (default scope: agile) |
305
- | `planr rules generate --target cursor --scope pipeline` | Cursor + pipeline workflow rules |
306
- | `planr rules generate --target all --scope all` | Everything for every runtime |
307
- | `planr rules generate --dry-run` | Preview without writing |
308
-
309
- `--scope agile` writes agile workflow rules. `--scope pipeline` writes the
310
- project policy for the [planr-pipeline](https://github.com/openplanr/OpenPlanr/tree/main/packages/pipeline)
311
- two-phase flow. `--scope all` produces both.
312
-
313
- ### Integrations
314
-
315
- | Command | Description |
316
- |---|---|
317
- | `planr github push [ID]` | Push artifacts to GitHub Issues |
318
- | `planr github sync` | Bi-directional status sync with GitHub |
319
- | `planr github status` | Show sync status of linked artifacts |
320
- | `planr linear init` | Configure Linear (allowed teams + default + token) |
321
- | `planr linear push <id>` | Epic → Linear project; features / stories / tasks → issues |
322
- | `planr linear sync` | Pull Linear workflow state into artifact `status` |
323
- | `planr export --format html` | Export planning report (markdown / JSON / HTML) |
324
-
325
- ### Stakeholder reports
326
-
327
- | Command | Description |
328
- |---|---|
329
- | `planr report <type>` | Generate a report (`sprint`, `weekly`, `executive`, `standup`, `retro`, `release`) |
330
- | `planr report-linter [file]` | Lint a markdown report (vague language, evidence density) |
331
- | `planr context --report-type weekly` | Print the report context pack as JSON |
332
- | `planr voice standup --file transcript.txt` | Convert a transcript into a structured standup |
333
-
334
- Output: Markdown + HTML written to `.planr/reports/`. `--push slack` posts via webhook; `--push github` opens an issue. `--strict-evidence` fails on bullets without URLs / `#issue` refs.
335
-
336
- ### Setup & config
337
-
338
- | Command | Description |
339
- |---|---|
340
- | `planr setup` | Detect and install runtime adapters with preview, backup, and locking |
341
- | `planr runtime detect/list/install/update/remove/rollback/doctor` | Manage adapter lifecycle |
342
- | `planr doctor [--strict] [--fix] [--json]` | Unified ecosystem health checks |
343
- | `planr init` | Initialise project (creates `.planr/`, generates rules for all runtimes by default) |
344
- | `planr config show` | Display current configuration + spec-driven readiness |
345
- | `planr config set-agent` / `set-upgrade-policy` | Manage deterministic host and upgrade preferences |
346
- | `planr checklist show/toggle/reset` | Agile development checklist |
347
-
348
- See [docs/CLI.md](docs/CLI.md) for the full reference with every flag.
349
-
350
- ---
351
-
352
- ## Project structure
353
-
354
- After `planr init` and creating artifacts:
355
-
356
- ```text
357
- my-project/
358
- ├── .planr/
359
- │ ├── config.json # Project configuration
360
- │ ├── epics/ # EPIC-001-*.md
361
- │ ├── features/ # FEAT-001-*.md
362
- │ ├── stories/ # US-001-*.md + US-001-gherkin.feature
363
- │ ├── tasks/ # TASK-001-*.md
364
- │ ├── quick/ # QT-001-*.md
365
- │ ├── specs/ # SPEC-NNN-{slug}/ (spec-driven mode)
366
- │ ├── backlog/ # BL-001-*.md
367
- │ ├── sprints/ # SPRINT-001-*.md
368
- │ ├── adrs/ # Architecture Decision Records
369
- │ ├── reports/ # Stakeholder reports
370
- │ └── checklists/ # Agile development checklist
371
- ├── .cursor/rules/
372
- │ ├── agile-checklist.mdc # Agile workflow rules
373
- │ ├── planr-pipeline.mdc # Pipeline rules (default-on)
374
- │ └── agents/ # 8 subagent body files
375
- ├── CLAUDE.md # Claude Code rules
376
- ├── planr-pipeline.md # Pipeline reference card (Claude Code)
377
- └── AGENTS.md # Codex rules + pipeline orchestration
378
- ```
379
-
380
- ---
381
-
382
- ## Configuration
383
-
384
- `.planr/config.json` is created by `planr init`:
385
-
386
- ```json
387
- {
388
- "projectName": "my-project",
389
- "targets": ["cursor", "claude", "codex"],
390
- "outputPaths": {
391
- "agile": ".planr",
392
- "cursorRules": ".cursor/rules",
393
- "claudeConfig": ".",
394
- "codexConfig": "."
395
- },
396
- "idPrefix": {
397
- "epic": "EPIC", "feature": "FEAT", "story": "US",
398
- "task": "TASK", "quick": "QT", "backlog": "BL",
399
- "sprint": "SPRINT", "spec": "SPEC"
400
- }
401
- }
402
- ```
403
-
404
- ---
405
-
406
- ## Ecosystem
407
-
408
- The source ecosystem is consolidated under the OpenPlanr npm workspace:
409
-
410
- | Workspace path | Role |
411
- |---|---|
412
- | `packages/cli` | Public `openplanr` authoring and setup package |
413
- | `packages/pipeline` | Public feature-delivery engine and compatibility projections |
414
- | `skills/` and `agents/` | Canonical workflow and role sources |
415
- | `packages/protocol` | Schemas, registries, and public contracts |
416
- | `adapters/` | Generated Claude Code, Codex, and Cursor projections |
417
- | `.claude-plugin/` | Generated workspace marketplace metadata |
418
-
419
- `openplanr-web` remains an independently deployed external repository. Package
420
- publication and hosted deployment are separate from local workspace
421
- development.
422
-
423
- ---
424
-
425
- ## Development
426
-
427
- ```bash
428
- cd /path/to/OpenPlanr
429
- npm ci
430
- npm run generate
431
- npm run build
432
- npm run test:focused
433
- npm run lint
434
-
435
- # Optional: expose the local public binaries on PATH
436
- npm link --workspace=planr-pipeline
437
- npm link --workspace=openplanr
438
- ```
439
-
440
- Use Node 20 or 22; no specific Node version manager is required. Run workspace
441
- commands from the repository root so npm uses the single root lockfile. See the
442
- root README for link detection, Codex adapter refresh, and a first-project
443
- walkthrough.
444
-
445
- ---
446
-
447
- ## Contributing
448
-
449
- Contributions welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).
450
-
451
- 1. Fork the repository
452
- 2. Create your feature branch (`git checkout -b feat/amazing-feature`)
453
- 3. Commit your changes
454
- 4. Push to the branch
455
- 5. Open a Pull Request
456
-
457
- ---
50
+ Restart the coding agent, then ask for a specification: `/planr:spec "…"` in Claude Code,
51
+ `$planr:spec "…"` in Codex, or mention the `planr-spec` rule in Cursor. Continue with
52
+ `plan` to decompose it into stories and tasks and `ship` to implement one task. Plan and
53
+ ship stay separate steps that you invoke.
54
+
55
+ `planr setup --dry-run` previews every file before anything is written; existing files
56
+ are backed up byte for byte and `planr runtime rollback` restores them. See the
57
+ [setup guide](docs/CROSS_RUNTIME_SETUP.md).
58
+
59
+ ## What the CLI does
60
+
61
+ | Group | Commands | Purpose |
62
+ | --- | --- | --- |
63
+ | Planning files | `spec`, `epic`, `feature`, `story`, `task`, `quick`, `backlog`, `sprint`, `template`, `checklist`, `update`, `search`, `graph` | Create, validate, and query artifacts under `.planr/` in three postures: spec-driven (`SPEC-NNN-{slug}/`), agile hierarchy, and quick tasks |
64
+ | Hosts | `setup`, `runtime`, `rules generate`, `doctor`, `upgrade` | Install and update the skills for Claude Code, Codex, and Cursor; generate host guidance; diagnose drift; compare with the published set |
65
+ | Delivery | `status`, `sync`, `land`, `export`, `report`, `dashboard` | Delivery status across specs and backlog, cross-reference repair, landing plans, stakeholder reports, and the loopback-only planning dashboard |
66
+ | Design and diagrams | `artifact`, `diagram` | Review any HTML artifact with pins and decisions; render and verify diagrams offline across 39 grammars |
67
+ | Operations and trackers | `operate`, `github`, `linear`, `company` | Run durable Operate cycles; two-way sync with GitHub Issues and Linear; publish selected artifacts to a company workspace |
68
+
69
+ Every command supports `--yes` for non-interactive use and most support `--json`. The
70
+ [CLI reference](docs/CLI.md) documents every command and flag.
71
+
72
+ ## Skills run in your agent
73
+
74
+ The skills (`spec`, `plan`, `plan-review`, `sprint`, `ship`, `browser-qa`, `design`,
75
+ `design-loop`, `design-review`, `diagram`, `artifact`, `land`, `release`, `doctor`,
76
+ `investigate`, `status`, `sync`, `dashboard`, `openplanr`, `operate`, and the seven Operate
77
+ reviews) ship inside this package and are installed by `planr setup`. The
78
+ [skill catalog](https://github.com/openplanr/OpenPlanr/blob/main/docs/generated/skills.md)
79
+ lists each skill's triggers, deferrals, and packaged references.
80
+
81
+ | Host | Install | Invoke |
82
+ | --- | --- | --- |
83
+ | Claude Code | `planr setup --runtime claude --scope user` | `/planr:<skill>`; `ship` dispatches nine role agents |
84
+ | Codex | `planr setup --runtime codex --scope user --skill-mode unified-plugin` | `$planr:<skill>` |
85
+ | Cursor | `planr setup --runtime cursor --scope project` | mention the `planr-<skill>` rule in Composer |
86
+
87
+ ## Documentation
88
+
89
+ - [CLI reference](docs/CLI.md)
90
+ - [Cross-runtime setup, migration, and rollback](docs/CROSS_RUNTIME_SETUP.md)
91
+ - [Troubleshooting](docs/TROUBLESHOOTING.md)
92
+ - [Artifact review and private sharing](docs/ARTIFACT_REVIEW.md)
93
+ - [Project documentation](https://github.com/openplanr/OpenPlanr/blob/main/docs/README.md),
94
+ [getting started](https://github.com/openplanr/OpenPlanr/blob/main/docs/getting-started.md),
95
+ and [support](https://github.com/openplanr/OpenPlanr/blob/main/SUPPORT.md)
458
96
 
459
97
  ## License
460
98
 
461
- [MIT](LICENSE)
462
-
463
- ### Design review handoffs
464
-
465
- `planr artifact handoff <design-document.json>` prepares a deterministic review
466
- handoff beside the design specification. Refine the proposed text in the active
467
- Claude/Codex session, then review and approve it in the attached studio. This
468
- command never invokes Plan, Ship, or publication. Approved handoffs are bound to
469
- the exact design and feedback snapshot; subsequent changes require a new review.
470
-
471
- Verified diagram manifests open the native Diagram studio:
472
-
473
- ```sh
474
- planr artifact diagrams/application-flow/application-flow.manifest.json
475
- ```
476
-
477
- The drawing uses one SVG canvas with an outline, search, pan, pointer-centered
478
- zoom, Fit, Fit width, and presentation mode. Comments stay attached to diagram
479
- coordinates. Export offers the verified drawing/source files and a JSON review
480
- handoff containing timestamps, source identity, scene dimensions, and pins.
481
- The diagram studio is local; existing hosted design boards are unchanged.
99
+ [MIT](LICENSE). The OpenPlanr name and logo are covered by the
100
+ [trademark policy](https://github.com/openplanr/OpenPlanr/blob/main/TRADEMARKS.md).
@@ -8,8 +8,6 @@
8
8
  * with build/test commands). Pairs with the pipeline plugin via shared
9
9
  * schema — no conversion layer ever.
10
10
  *
11
- * See `docs/proposals/spec-driven-mode.md` for the full design.
12
- *
13
11
  * Subcommands:
14
12
  * - planr spec init Activate spec-driven mode
15
13
  * - planr spec create <title> Create a new SPEC artifact (self-contained dir)
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAgBL,KAAK,gBAAgB,EAMtB,MAAM,gCAAgC,CAAC;AA0BxC,4FAA4F;AAC5F,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAiB,GACxD,OAAO,CAAC,gBAAgB,CAAC,CAiE3B;AAyED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAmdnD"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,EAgBL,KAAK,gBAAgB,EAMtB,MAAM,gCAAgC,CAAC;AA0BxC,4FAA4F;AAC5F,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAiB,GACxD,OAAO,CAAC,gBAAgB,CAAC,CAiE3B;AAyED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAmdnD"}
@@ -8,8 +8,6 @@
8
8
  * with build/test commands). Pairs with the pipeline plugin via shared
9
9
  * schema — no conversion layer ever.
10
10
  *
11
- * See `docs/proposals/spec-driven-mode.md` for the full design.
12
- *
13
11
  * Subcommands:
14
12
  * - planr spec init Activate spec-driven mode
15
13
  * - planr spec create <title> Create a new SPEC artifact (self-contained dir)