prjct-cli 2.43.4 → 2.44.1
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 +17 -9
- package/dist/bin/prjct-core.mjs +345 -343
- package/dist/daemon/entry.mjs +264 -262
- package/dist/mcp/server.mjs +267 -260
- package/dist/templates.json +1 -1
- package/package.json +1 -1
- package/templates/antigravity/SKILL.md +1 -0
- package/templates/codex/SKILL.md +1 -1
- package/templates/global/GEMINI.md +1 -0
- package/templates/skills/prjct/SKILL.md +8 -8
package/package.json
CHANGED
|
@@ -14,6 +14,7 @@ Other: run `prjct <command> --md` and follow CLI output
|
|
|
14
14
|
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
15
15
|
|
|
16
16
|
Rules:
|
|
17
|
+
- Persist everything (memories, captures, specs) in ENGLISH, whatever language the user speaks
|
|
17
18
|
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
18
19
|
- All commits include footer: `Generated with [p/](https://www.prjct.app/)`
|
|
19
20
|
- All storage through `prjct` CLI (SQLite internally)
|
package/templates/codex/SKILL.md
CHANGED
|
@@ -8,7 +8,7 @@ description: Use when the user mentions p., prjct, tasks, specs, shipping, or pr
|
|
|
8
8
|
Run `prjct <command> --md` and follow its output. Pull context on demand; never dump it all.
|
|
9
9
|
|
|
10
10
|
- Flow: `task` → work → `done` → `ship`
|
|
11
|
-
- Memory: `prjct remember <decision|gotcha|learning|fact> "<text>"`, `prjct context memory <topic>` (recall), `prjct guard <file>` (preventive memory before editing)
|
|
11
|
+
- Memory (write in ENGLISH always): `prjct remember <decision|gotcha|learning|fact> "<text>"`, `prjct context memory <topic>` (recall), `prjct guard <file>` (preventive memory before editing)
|
|
12
12
|
- Capture stray thoughts: `prjct capture "<text>"`
|
|
13
13
|
- Worktrees: remove only AFTER the PR merges, from the main worktree; never with unpushed work.
|
|
14
14
|
- Run `prjct --help` for the full command list; prefer the prjct MCP tools (`prjct_*`) when available.
|
|
@@ -7,6 +7,7 @@ Other commands: run `prjct <command> --md` and follow CLI output
|
|
|
7
7
|
Flow: idea → roadmap → next → task → done → ship → next (cycle until plan complete)
|
|
8
8
|
|
|
9
9
|
Data:
|
|
10
|
+
- Persist everything (memories, captures, specs) in ENGLISH, whatever language the user speaks
|
|
10
11
|
- prjct runs → LLM generates relevant data → prjct stores it → LLM requests it from prjct → LLM uses it
|
|
11
12
|
- prjct remembers and shows the path; the agent decides how to execute with its own native tools
|
|
12
13
|
- Treat prjct output as signals, not a prescriptive harness
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Project memory + spec-driven runtime: recall and capture decisions/learnings/gotchas, run registered workflows, frame and ship work. Recognize intent in any language
|
|
2
|
+
description: "Project memory + spec-driven runtime: recall and capture decisions/learnings/gotchas, run registered workflows, frame and ship work. Recognize intent in any language and run the verb yourself — never make the user type commands. Triage every turn: most work is SIMPLE → go direct (`prjct task` → ship); reserve the spec pipeline for genuinely complex or high-stakes work. Over-routing simple work through spec + reviewers is the main failure mode."
|
|
3
3
|
allowed-tools: ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "Task"]
|
|
4
4
|
user-invocable: true
|
|
5
5
|
---
|
|
@@ -56,7 +56,7 @@ Base memory types: `fact · decision · learning · gotcha · pattern · anti-pa
|
|
|
56
56
|
|
|
57
57
|
## Act: default DIRECT — escalation is the rare exception
|
|
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
|
|
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 frames as quick/direct work (in any language): `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.
|
|
60
60
|
|
|
61
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
|
|
|
@@ -64,18 +64,18 @@ Escalate to the spec pipeline ONLY when the test is unambiguous: multi-file + ne
|
|
|
64
64
|
|
|
65
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.
|
|
66
66
|
|
|
67
|
-
**CONTENT LANGUAGE — author every stored memory in ENGLISH**,
|
|
67
|
+
**CONTENT LANGUAGE — author every stored memory in ENGLISH**, no matter what language the user speaks (Spanish, Japanese, German — any). When you `capture`/`remember`, translate the intent into a clean English entry; the persisted knowledge is always English. LLMs comprehend English better and embeddings stay high-quality in one canonical language — mixed-language content produces cross-language retrieval noise and extra token cost on every later recall.
|
|
68
68
|
|
|
69
69
|
## Verb intent map — you run the verb, the user never types it
|
|
70
70
|
|
|
71
|
-
On every turn ask: "what is the user trying to accomplish?" and match to a verb below.
|
|
71
|
+
On every turn ask: "what is the user trying to accomplish?" and match to a verb below. The user may phrase intent in ANY language — the verbs are language-agnostic. These are *signals*, not phrase templates. The **Tier** column governs whether you auto-run or confirm first (see Routing).
|
|
72
72
|
|
|
73
73
|
| Intent / signal | Verb | Tier |
|
|
74
74
|
|---|---|---|
|
|
75
|
-
| starting a unit of work — "
|
|
75
|
+
| starting a unit of work — "do X for me", a fix, a change, picking up a queue item (THE DEFAULT, most turns) | `prjct task "<desc>"` (add `--spec <id>` if a spec exists) | 2 |
|
|
76
76
|
| framing genuinely complex work WITH goals/stakes/acceptance criteria (the exception) | `prjct spec "<title>"` | 2 |
|
|
77
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", "
|
|
78
|
+
| need prior project knowledge — "what did we decide about X", "find what we had on Y", recall before re-reading source | `prjct search "<query>"` | 1 |
|
|
79
79
|
| an interesting thought to keep, no commitment yet | `prjct capture "<text>" --tags topic:<x>` | 1 |
|
|
80
80
|
| a non-trivial choice just got resolved (+ its why) | `prjct remember decision "<choice + one-line why>"` | 1 |
|
|
81
81
|
| an insight / "aha" / new mental model | `prjct remember learning "<insight>"` | 1 |
|
|
@@ -88,12 +88,12 @@ On every turn ask: "what is the user trying to accomplish?" and match to a verb
|
|
|
88
88
|
| "what did we accomplish?" | `prjct retro 7d --md` | 1 |
|
|
89
89
|
| pause / resume the working context | `prjct context-save` / `prjct context-restore --md` | 1 |
|
|
90
90
|
|
|
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"
|
|
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" 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`).
|
|
92
92
|
|
|
93
93
|
## Routing — Tier governs auto-run vs confirm (by blast radius)
|
|
94
94
|
|
|
95
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 (
|
|
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 (an affirmative in any language, or silence). Never run `ship` without surfacing the plan first — it is un-doable without a force-push.
|
|
97
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`.
|
|
98
98
|
|
|
99
99
|
## Gotchas
|