prjct-cli 2.40.0 → 2.42.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/CHANGELOG.md +44 -10
- package/README.md +7 -4
- package/dist/bin/prjct-core.mjs +483 -466
- package/dist/daemon/entry.mjs +307 -265
- package/dist/mcp/server.mjs +184 -189
- package/dist/templates.json +1 -1
- package/package.json +1 -1
- package/templates/skills/prjct/SKILL.md +12 -18
package/package.json
CHANGED
|
@@ -40,7 +40,8 @@ known gotchas). The verb intent map below applies in both states.
|
|
|
40
40
|
- `prjct audit-spec <id>` — dispatch parallel strategic/architecture/design review
|
|
41
41
|
- `prjct capture "<anything>"` — inbox dump (zero ceremony)
|
|
42
42
|
- `prjct remember <type> "<content>" [--tags]` — typed memory entry
|
|
43
|
-
- `prjct
|
|
43
|
+
- `prjct search "<query>"` — recall project memory (BM25 + semantic + recall); the verb to reach for when you need prior knowledge
|
|
44
|
+
- `prjct context memory [topic]` — same blended retrieval as `search`, plus `learnings`/`wiki` subtools
|
|
44
45
|
- `prjct guard <file>` — preventive memory recorded against a file, before you edit it
|
|
45
46
|
- `prjct workflow list` / `prjct workflow run <name>` — registered workflows
|
|
46
47
|
- `prjct seed list` — active packs (memory types + workflow slots)
|
|
@@ -53,18 +54,15 @@ Base memory types: `fact · decision · learning · gotcha · pattern · anti-pa
|
|
|
53
54
|
- `.prjct/wiki/captured/` — drop notes with frontmatter, run `prjct context wiki sync` to ingest
|
|
54
55
|
- `.prjct/prjct.config.json` — persona + active packs
|
|
55
56
|
|
|
56
|
-
##
|
|
57
|
+
## Act: default DIRECT — escalation is the rare exception
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
**The first move on almost every turn is to just do the work DIRECTLY.** A fix, a one-file change, a capture, a question, anything the user calls "fix"/"hoy"/"rápido"/"directo": `prjct task` → implement it yourself → `ship`. **NO spec, NO audit-spec, NO subagents, NO fan-out.** This is the common case and the safe default — when unsure, this is what you pick. Ask at most ONE line; never escalate just to be safe.
|
|
59
60
|
|
|
60
|
-
|
|
61
|
-
- **COMPLEX → the EXCEPTION (rare):** ONLY multi-file + new behavior AND ambiguous scope AND real/irreversible stakes, OR the user explicitly frames goals/acceptance/risks. Then, and only then, the pipeline:
|
|
61
|
+
Escalate to the spec pipeline ONLY when the test is unambiguous: multi-file + new behavior AND ambiguous scope AND real/irreversible stakes (or the user explicitly frames goals/acceptance/risks). Then, and only then: `spec ─→ audit-spec ─→ task --spec <id> ─→ implement ─→ ship ─→ remember learning`. Forcing simple work through this pipeline is the #1 perf-killer — it burns tokens for zero protection.
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
spec ─→ audit-spec ─→ task (--spec <id>) ─→ implement ─→ ship (acceptance gate) ─→ remember learning
|
|
65
|
-
```
|
|
63
|
+
**If you ever dispatch a subagent (Agent tool), set `model:` explicitly — never let it inherit yours.** Only the agent that WRITES code gets `model: "opus"`. Reviewing/judging (`review`, `security`, `investigate`, audit-spec reviewers) → `model: "sonnet"`. Pure routing/orchestration → `model: "haiku"`. A non-implementer left on the parent's max model is exactly why a task crawls and burns tokens. Not optional.
|
|
66
64
|
|
|
67
|
-
|
|
65
|
+
Heavy quality workflows (`review`, `qa`, `security`, `investigate`, `audit`, `audit-spec`), the parallel-implementer fan-out rules, decision-briefs, the `prjct prefs` protocol, the spec stations and builder ethos all live in `workflows.md` — **read it on demand when (and only when) you actually run one.** Do not preload it; do not reach for the menu on simple work.
|
|
68
66
|
|
|
69
67
|
**CONTENT LANGUAGE — author every stored memory in ENGLISH**, regardless of the conversation language. When you `capture`/`remember`, translate the intent into a clean English entry (the user may speak Spanish; the persisted knowledge is English). LLMs comprehend English better and embeddings stay high-quality in one canonical language — mixed-language content produces cross-language retrieval noise.
|
|
70
68
|
|
|
@@ -77,6 +75,7 @@ On every turn ask: "what is the user trying to accomplish?" and match to a verb
|
|
|
77
75
|
| starting a unit of work — "haceme X", a fix, a change, picking up a queue item (THE DEFAULT, most turns) | `prjct task "<desc>"` (add `--spec <id>` if a spec exists) | 2 |
|
|
78
76
|
| framing genuinely complex work WITH goals/stakes/acceptance criteria (the exception) | `prjct spec "<title>"` | 2 |
|
|
79
77
|
| harden / pressure-test an existing spec before any code | `prjct audit-spec <id>` | 2 |
|
|
78
|
+
| need prior project knowledge — "what did we decide about X", "buscá lo de Y", recall before re-reading source | `prjct search "<query>"` | 1 |
|
|
80
79
|
| an interesting thought to keep, no commitment yet | `prjct capture "<text>" --tags topic:<x>` | 1 |
|
|
81
80
|
| a non-trivial choice just got resolved (+ its why) | `prjct remember decision "<choice + one-line why>"` | 1 |
|
|
82
81
|
| an insight / "aha" / new mental model | `prjct remember learning "<insight>"` | 1 |
|
|
@@ -85,22 +84,17 @@ On every turn ask: "what is the user trying to accomplish?" and match to a verb
|
|
|
85
84
|
| about to edit a file — check for known traps | `prjct guard <file>` | 1 |
|
|
86
85
|
| work is done, push it | `prjct ship` | 2 |
|
|
87
86
|
| lifecycle change on the active task | `prjct status done\|paused\|active` | 2 |
|
|
88
|
-
| "find bugs" / "is this safe?" / "why broken?" / "ship-ready?" | `audit` / `review` / `security` / `investigate` (subagents — see `workflows.md`) | 2 |
|
|
89
87
|
| "is the codebase healthy?" | `prjct health --md` | 1 |
|
|
90
88
|
| "what did we accomplish?" | `prjct retro 7d --md` | 1 |
|
|
91
89
|
| pause / resume the working context | `prjct context-save` / `prjct context-restore --md` | 1 |
|
|
92
90
|
|
|
93
91
|
Disambiguators: the "why" separates a `decision` from an `inbox` dump — if you can't state it in one line, capture as inbox. A bare "fix X"/"hoy" is `task`, never `spec`. `audit-spec` requires an existing spec. For `ship`, if the active task has a `linked_spec_id`, ship surfaces the spec's acceptance_criteria as a PR checklist — STOP on any unmet criterion (override: `prjct ship --no-spec-gate`).
|
|
94
92
|
|
|
95
|
-
## Routing — auto-
|
|
93
|
+
## Routing — Tier governs auto-run vs confirm (by blast radius)
|
|
96
94
|
|
|
97
|
-
- **Tier 1 — auto-execute, one-line confirm.** `capture`, `tag`, `remember
|
|
98
|
-
- **Tier 2 — suggest-and-confirm, ONE line.** `task`, `spec`, `audit-spec`, `ship`, `status done|paused`, `
|
|
99
|
-
- **Tier 3 — decision-brief
|
|
100
|
-
|
|
101
|
-
## Deep methodology — pull on demand (do not preload)
|
|
102
|
-
|
|
103
|
-
When you actually run a heavy workflow (`review`, `qa`, `security`, `investigate`, `audit`, `audit-spec`) — or need the subagent-dispatch model policy, the parallel implementer fan-out rules, the decision-brief format, the `prjct prefs` protocol, the spec-pipeline stations, or the builder ethos — **read `workflows.md` in this skill directory first.** It is kept out of this file on purpose so it does not sit in your context every turn; pull it only when the task calls for it. This is the same pull-not-push rule the whole runtime follows.
|
|
95
|
+
- **Tier 1 — auto-execute, one-line confirm.** `search`, `capture`, `tag`, `remember`, `guard`, `context-save`, `health`, `retro`, `prefs check/list`. Additive/read-only: run IMMEDIATELY, emit one line (`✓ saved as decision: …`). Do not ask "want me to save that?" — just save it; the user corrects afterward. Pausing for permission on routine captures is what makes prjct useless.
|
|
96
|
+
- **Tier 2 — suggest-and-confirm, ONE line.** `task`, `spec`, `audit-spec`, `ship`, `status done|paused`, `prefs set`. State intent + blast radius in one line and wait for a green light (yes/dale/confirma/silence). Never run `ship` without surfacing the plan first — it is un-doable without a force-push.
|
|
97
|
+
- **Tier 3 — decision-brief** (hard forks costing >5 min to undo): `prjct prefs check <id>` first, then the decision-brief format. Both detailed in `workflows.md`.
|
|
104
98
|
|
|
105
99
|
## Gotchas
|
|
106
100
|
|