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 +10 -0
- package/README.md +85 -466
- package/dist/cli/commands/spec.d.ts +0 -2
- package/dist/cli/commands/spec.d.ts.map +1 -1
- package/dist/cli/commands/spec.js +0 -2
- package/dist/cli/commands/spec.js.map +1 -1
- package/dist/models/types.d.ts +2 -3
- package/dist/models/types.d.ts.map +1 -1
- package/docs/ARTIFACT_REVIEW.md +2 -2
- package/docs/CLI.md +8 -8
- package/docs/CROSS_RUNTIME_SETUP.md +33 -26
- package/docs/TROUBLESHOOTING.md +44 -38
- package/lib/host-packages/adapter-registry.json +5 -5
- package/lib/host-packages/capability-map.json +1 -1
- package/lib/host-packages/claude/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +1 -1
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +2 -2
- package/lib/host-packages/cursor/openplanr/.openplanr-content.json +2 -2
- package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
- package/lib/host-packages/openai/.claude-plugin/marketplace.json +2 -2
- package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +1 -1
- package/lib/host-packages/openai/openplanr/.openplanr-content.json +2 -2
- package/package.json +2 -2
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
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
91
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
planr
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
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
|
|
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)
|