prjct-cli 2.20.1 → 2.20.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prjct-cli",
3
- "version": "2.20.1",
3
+ "version": "2.20.2",
4
4
  "description": "Context layer for AI agents. Project context for Claude Code, Gemini CLI, and more.",
5
5
  "main": "dist/bin/prjct.mjs",
6
6
  "bin": {
@@ -48,7 +48,10 @@ Base memory types: `fact · decision · learning · gotcha · pattern · anti-pa
48
48
 
49
49
  ## SDD — the canonical sequence
50
50
 
51
- prjct is a Spec-Driven Development system. Substantive work flows through six stations:
51
+ prjct is Spec-Driven for *complex* work — and most changes are NOT complex. **Triage first** (one beat, before any verb): is this simple or complex?
52
+
53
+ - **Simple** — ≈1 file, known root cause, bug/config/copy/doc, reversible, clear scope, or the user says "fix"/"hoy"/"rápido"/"directo". → Go DIRECT: `prjct task` → implement → `qa`/`review` workflow → `ship`. NO spec, NO audit-spec, NO reviewer subagents.
54
+ - **Complex** — multi-file + new behavior, ambiguous scope, real stakes, irreversible, or the user frames goals/acceptance/risks. → Full SDD, the six stations:
52
55
 
53
56
  ```
54
57
  spec ─→ audit-spec ─→ task (--spec <id>) ─→ implement ─→ ship (acceptance gate)
@@ -64,7 +67,7 @@ Read the user's intent and route to the right STATION, not the first verb that f
64
67
  - **ship** — surfaces the linked spec's acceptance_criteria as a checklist in the PR description. Ship is OK iff every criterion is met (or the user explicitly overrides with `--no-spec-gate`).
65
68
  - **remember learning** — post-ship reflection. What did we learn vs. the spec? Was a criterion wrong? Capture it; the next spec is sharper.
66
69
 
67
- Bypass the SDD flow only for: routine captures, bug fixes whose root cause is already known, conversational Q&A, single-keystroke memory work. If the work is *substantive* (would touch >1 file, ship to users, or take >30 min), default to `spec` first.
70
+ Spec is the EXCEPTION, reserved for genuinely complex / high-stakes framing NOT the default. Over-routing simple changes through spec + audit-spec is the failure mode that slows ship: it burns time and tokens for zero protection on a one-file fix. When unsure, ask ONE line do not default to spec. Routine captures / conversational Q&A / single-keystroke memory: no verb ceremony at all.
68
71
 
69
72
  ## Verb intent map — recognize the user's goal, then act
70
73
 
@@ -78,7 +81,7 @@ Signals: the user describes a feature, fix, or initiative WITH goals/stakes atta
78
81
 
79
82
  What to do: SUGGEST `prjct spec "<title>"` in one line ("I'll draft a spec — Goal/Acceptance/Scope/Risks. ~30 sec, then we audit and start the task. Ok?"). On green light, create the spec and walk the forcing questions: goal, eli10, stakes, acceptance criteria, scope, out_of_scope, risks, test_plan. Persist via `prjct spec update <id> --json '{...}'`. Then suggest `prjct audit-spec <id>` to harden it before any code.
80
83
 
81
- Anti-pattern: skipping straight to `task` because the user said "let's build X". If they said it WITH stakes, the spec is what protects them from scope creep mid-implementation.
84
+ Anti-pattern (both directions): skipping `spec` for genuinely complex / high-stakes work — AND its mirror, the more common failure: forcing a one-file "fix"/"hoy" change through `spec` + `audit-spec`. If it is simple, `task` direct + `qa` is correct; spec there is pure ceremony tax.
82
85
 
83
86
  ### `audit-spec` — "lock the spec before we ship code against it"
84
87
 
@@ -90,7 +93,7 @@ What to do: run `prjct audit-spec <id>` — it emits a dispatch prompt. Then dis
90
93
 
91
94
  Signals: the user is describing a unit of work to execute — switching context, picking up an item from the queue, asking you to plan / start something not yet started. *Distinguishes from `spec`: the framing is already done (spec linked, or work is small/clear enough to skip a spec).*
92
95
 
93
- What to do: if a relevant spec exists in `prjct spec list`, run `prjct task "<concise description>" --spec <id>` so ship can gate. If no spec and the work is substantive (touches >1 file, ships to users, >30 min), pause and surface `prjct spec` as the better first step. For routine work (single-file fix, doc tweak, refactor with known scope), run `prjct task` directly without --spec. No confirmation gate; starting a task is reversible.
96
+ What to do: this is the DEFAULT path. After triage says simple, run `prjct task "<concise description>"` and go straight to implement `qa`/`review` `ship`. Only when the work is genuinely complex (multi-file + new behavior, ambiguous scope, real stakes) pause and surface `prjct spec` instead. If a relevant spec already exists, link it: `prjct task "<desc>" --spec <id>` so ship can gate. No confirmation gate; starting a task is reversible.
94
97
 
95
98
  ### `capture` — "save this thought, don't decide anything yet"
96
99