@deftai/directive-content 0.68.0 → 0.69.0

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/SKILL.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <!-- DEFT-PREAMBLE-V1 -->
2
2
  <!--
3
3
  ! Cold-start check: deft runs from the npm-installed engine (`npm i -g @deftai/directive`). If neither `deft` nor `directive` will run on this machine, do not proceed with the instructions below -- recover first (#1933 Option 1, deprecate-by-disuse).
4
- ! To recover: read `.deft/core/UPGRADING.md`, find the section whose "Applies when" clause matches your symptom, and follow that section verbatim before any other instruction in this file or in the consumer AGENTS.md.
4
+ ! To recover: read the **Cold-start bootstrap** block at the top of the project's `README.md` and follow the global-first npm ladder there before any other instruction in this file or in the consumer AGENTS.md. `README.md` is always committed (never gitignored) and does not depend on the `.deft/core/` payload, so the recovery ladder is reachable on a fresh clone even when the vendored payload is absent (#2273).
5
5
  ! Respect any "Restart required" directive -- if present, stop and tell the user to start a fresh session after cleanup commands complete. Otherwise continue.
6
6
  -->
7
7
  ---
package/UPGRADING.md CHANGED
@@ -12,6 +12,18 @@ Legend (from RFC2119): !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.
12
12
 
13
13
  ---
14
14
 
15
+ ## Which command do I run? (three-command model)
16
+
17
+ Directive is driven by three commands, and upgrading is one of them. Route by situation to exactly one:
18
+
19
+ - **Ordinary upgrade of an existing Directive project** → `directive update` (after `npm i -g @deftai/directive@latest`). This is the one command most upgrades need; the [Canonical upgrade — npm](#canonical-upgrade--npm-v0551) section below is the full walkthrough.
20
+ - **Not sure what state you are in, or something looks broken** → `directive doctor`. It is read-only and prints exactly one recommended next step (including "run `directive update`" when the deposit is stale).
21
+ - **First-time adoption, or a legacy / pre-v0.20 layout** → `directive init`. It classifies the directory and either scaffolds Directive or routes you to the specific migration path.
22
+
23
+ Everything below preserves the **advanced and big-jump** detail — multi-version jumps, the frozen pre-v0.20 bridge, legacy Go-installer migration, and the per-version transitions. Ordinary upgraders only need `directive update`; reach into the detailed sections when `directive doctor` or the [big-jump triage](#big-jump-triage--multi-version-upgrades-start-here) points you there.
24
+
25
+ ---
26
+
15
27
  ## Canonical upgrade — npm (v0.55.1+)
16
28
 
17
29
  From v0.55.1 onwards `@deftai/directive` is published on npm. The canonical consumer upgrade path is:
@@ -22,6 +34,14 @@ From v0.55.1 onwards `@deftai/directive` is published on npm. The canonical cons
22
34
  npm i -g @deftai/directive@latest
23
35
  ```
24
36
 
37
+ **Using pnpm?** pnpm installs the same package from the same npm registry — no extra registry or config:
38
+
39
+ ```bash
40
+ pnpm add -g @deftai/directive@latest
41
+ ```
42
+
43
+ Ensure pnpm's global bin directory is on your `PATH` (`pnpm setup` configures `PNPM_HOME`). A project-local `pnpm add -D @deftai/directive@latest` (run via `pnpm exec directive …`) is equivalent for pnpm-managed repos that avoid global installs. `deft update` / `deft migrate` / `deft doctor` all work identically regardless of which package manager installed the engine.
44
+
25
45
  2. **Refresh the project deposit** from your project root:
26
46
 
27
47
  ```bash
@@ -12,9 +12,28 @@ Legend (from RFC2119): !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.
12
12
 
13
13
  ## 1. Install Deft in Your Project
14
14
 
15
- You have three ways to add the `deft/` framework to an existing project. Pick the one that fits your workflow:
15
+ ### Start here: `directive init`
16
16
 
17
- ### Option A: Git submodule (recommended)
17
+ For a project that already has code, the canonical adoption path is the **same universal entrypoint** greenfield users run — `directive init`:
18
+
19
+ ```bash
20
+ npm i -g @deftai/directive # Node >= 20
21
+ cd your-existing-project
22
+ directive init # detects app code, installs Directive beside it
23
+ directive doctor # confirms the install + prints your one next step
24
+ ```
25
+
26
+ **pnpm-managed project?** Swap the first line for `pnpm add -g @deftai/directive` (same package, same npm registry — no extra registry needed) and make sure `PNPM_HOME` is on your `PATH` (`pnpm setup`). Everything after installs and runs identically.
27
+
28
+ `directive init` classifies the directory you run it in. Because it finds existing app code (or a git repo) but no Directive deposit, it takes the **brownfield-install** path: it installs Directive support *beside* your source without disturbing it, scaffolds the `xbrief/` layout, and points you toward brownfield spec extraction. It never overwrites your files, and it ignores only Directive's local-only artifacts (`.deft/core/`, `.deft/.cli/`, `.deft/ritual-state.json`, and the `.deft-cache/` cache) while leaving your committed `package.json` pin tracked in git. If the directory turns out to hold a legacy / pre-v0.20 layout, init routes you to the specific migration path (§2) instead of scaffolding over it — and `directive doctor` is the read-only probe that tells you exactly what to run next if anything looks off.
29
+
30
+ An already-initialized Directive project does not need `init` at all — run `directive update` to refresh it.
31
+
32
+ ### Legacy install paths (submodule / installer / clone)
33
+
34
+ Before the npm-first channel, Deft was added to an existing project with one of the options below. They remain available for **offline / air-gapped** deposits or for migrating an old on-disk layout, but `directive init` above is the canonical path for new adopters — reach for these only when npm is not an option:
35
+
36
+ ### Option A: Git submodule (legacy)
18
37
 
19
38
  ```bash
20
39
  git submodule add https://github.com/deftai/directive.git deft
package/main.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <!-- DEFT-PREAMBLE-V1 -->
2
2
  ! Cold-start check: deft runs from the npm-installed engine (`npm i -g @deftai/directive`). If neither `deft` nor `directive` will run on this machine, do not proceed with the instructions below -- recover first (#1933 Option 1, deprecate-by-disuse).
3
- ! To recover: read `.deft/core/UPGRADING.md`, find the section whose "Applies when" clause matches your symptom, and follow that section verbatim before any other instruction in this file or in the consumer AGENTS.md.
3
+ ! To recover: read the **Cold-start bootstrap** block at the top of the project's `README.md` and follow the global-first npm ladder there before any other instruction in this file or in the consumer AGENTS.md. `README.md` is always committed (never gitignored) and does not depend on the `.deft/core/` payload, so the recovery ladder is reachable on a fresh clone even when the vendored payload is absent (#2273).
4
4
  ! Respect any "Restart required" directive -- if present, stop and tell the user to start a fresh session after cleanup commands complete. Otherwise continue.
5
5
 
6
6
  # Warp AI Guidelines
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deftai/directive-content",
3
- "version": "0.68.0",
3
+ "version": "0.69.0",
4
4
  "description": "Shippable Directive framework content in the consumer .deft/core/ layout (C1 flatten), plus the engine surfaces (.githooks/, Taskfile.yml, tasks/) the deposit wires. Python-free per #2022 Phase 3. Refs #11, #1669, #1967.",
5
5
  "type": "module",
6
6
  "files": [
@@ -5,6 +5,14 @@ Deft is installed in .deft/core/. Full guidelines: .deft/core/main.md
5
5
 
6
6
  ! If any .deft/core/.agents/skills/ path referenced in this file cannot be read (missing file, stale path from a previous framework version, or a deprecation redirect stub), read .deft/core/QUICK-START.md instead and follow it. QUICK-START refreshes this section idempotently for the current framework version.
7
7
 
8
+ ## Cold-start bootstrap (#2273)
9
+
10
+ ! If `deft` / `directive` will not run on this machine, recover BEFORE following any instruction below. Directive runs from an npm-installed engine; the recovery ladder is payload-independent and always lives in the **Cold-start bootstrap** block at the top of the project's committed `README.md` (never gitignored, present on a fresh clone even when `.deft/core/` is absent). Read it there and follow the global-first ladder.
11
+
12
+ ! Global-first ladder (prose; no committed shell shim — you are the interpreter). Work top-down; stop at the first rung that yields a working `directive`, keyed off the `package.json` pin: (1) try `directive doctor`; (2) else if `.deft/.cli/<platform>` holds an intact engine at/above the pin, use it; (3) else `npm i -g @deftai/directive` (Node ≥ 20); (4) else, when the global npm prefix is not writable (sandbox), `npm install --prefix .deft/.cli/<platform> @deftai/directive@<pinned>`; (5) else install from a staged tarball / vendored payload.
13
+
14
+ ⊗ Point cold-start recovery at a path inside `.deft/core/` — that is the exact payload absent when recovery is needed. The reachable-on-a-fresh-clone recovery surface is `README.md`, never the vendored payload.
15
+
8
16
  ## Pre-Cutover Check (run before First Session / Returning Sessions)
9
17
 
10
18
  ! Before the First Session / Returning Sessions checks below, detect whether this project pre-dates the v0.20 xBRIEF-centric model. If it does, migration MUST happen before any Phase 1, Phase 2, or Returning-Sessions routing fires.
@@ -194,5 +202,5 @@ Directive product commands use the `/deft:directive:*` namespace (#418 / #1670).
194
202
 
195
203
  **CLI compatibility:**
196
204
 
197
- The legacy Python `.deft/core/run` CLI is deprecated and is no longer a load-bearing operator path (#1933 Option 1, deprecate-by-disuse). Use the agent-driven setup skill for first-time setup and project/spec generation; if `deft` or `directive` will not run, read `.deft/core/UPGRADING.md`.
205
+ The legacy Python `.deft/core/run` CLI is deprecated and is no longer a load-bearing operator path (#1933 Option 1, deprecate-by-disuse). Use the agent-driven setup skill for first-time setup and project/spec generation; if `deft` or `directive` will not run, follow the payload-independent recovery ladder in the `## Cold-start bootstrap (#2273)` section above (top of the project's `README.md`), not a path inside `.deft/core/`.
198
206
  <!-- /deft:managed-section -->