forgetrail 0.4.6 → 0.4.7

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/README.md CHANGED
@@ -10,31 +10,39 @@
10
10
 
11
11
  **Forge the path. Keep the trail.**
12
12
 
13
- A persistent development system for building software with AI agents.
13
+ Keep project decisions, development state, and lessons in the repository so your next AI-assisted session can continue with context.
14
+
15
+ After one sitting you should have `.forgetrail/workflow_tracking.json` with the phase you are in, a decision, and a `nextSession` line. A labeled two-session walk-through is in [`content/examples/two-session-continuity.md`](content/examples/two-session-continuity.md).
14
16
 
15
17
  **Docs:** [forgetrail.dev/docs](https://forgetrail.dev/docs) · **Site:** [forgetrail.dev](https://forgetrail.dev)
16
18
 
17
- ## Install
19
+ ## Start with Lite
18
20
 
19
- Node.js 20+. Prefer `pnpm dlx` on Windows.
21
+ You need a new empty project folder and a coding agent that can read files. Node is optional.
20
22
 
21
- ```bash
22
- pnpm dlx forgetrail install --lite --with-genesis-stub
23
- ```
23
+ 1. Write `docs/GENESIS.md` (what, not how).
24
+ 2. Copy [`content/FORGETRAIL_LITE.md`](content/FORGETRAIL_LITE.md) to `.forgetrail/FORGETRAIL_LITE.md`, or run `pnpm dlx forgetrail install --lite --with-genesis-stub` (Node.js 20+).
25
+ 3. Paste the kickoff line from [TRY_FORGETRAIL.md](TRY_FORGETRAIL.md). Approve the Phase 1 brief before any scaffold.
24
26
 
25
- or `npx forgetrail install --lite --with-genesis-stub`. MCP: `npx -y forgetrail-mcp` (set `FORGETRAIL_ROOT`). Do not add `forgetrail` to an app's `dependencies`.
27
+ The shortest supported first task is: create tracking, draft `docs/PHASE_1_BRIEF.md`, and wait for approval. You do not have to run all seven phases. Full recipe: [Try](https://forgetrail.dev/docs/try).
26
28
 
27
- ## Quick start
29
+ ## Lite, CLI, and MCP
28
30
 
29
- 1. Write a `docs/GENESIS.md` (what, not how) in a **new empty project folder**.
30
- 2. Add Lite: the command above, or copy [`content/FORGETRAIL_LITE.md`](content/FORGETRAIL_LITE.md) to `.forgetrail/FORGETRAIL_LITE.md`.
31
- 3. Paste the kickoff line from [TRY_FORGETRAIL.md](TRY_FORGETRAIL.md). Approve the Phase 1 brief before any scaffold.
31
+ | Path | Who uses it | What it is |
32
+ | --- | --- | --- |
33
+ | **Lite** | First path | One protocol file. The agent writes tracking. |
34
+ | **CLI** (`forgetrail`) | Node.js 20+ | Installer. Writes Lite or the full template tree. Does not run the agent. |
35
+ | **MCP** (`forgetrail-mcp`) | Cursor or Claude | Methodology tools. Tracking still lives in the app repo. |
36
+
37
+ ```bash
38
+ pnpm dlx forgetrail install --lite --with-genesis-stub
39
+ ```
32
40
 
33
- No Node required if you copy Lite by hand. Full recipe: [Try](https://forgetrail.dev/docs/try).
41
+ MCP: `npx -y forgetrail-mcp` with `FORGETRAIL_ROOT` set. Prefer `pnpm dlx` on Windows. Do not add `forgetrail` to an app's `dependencies`. Do not merge the two packages.
34
42
 
35
43
  ## What you get
36
44
 
37
- A 7-phase playbook, a live `.forgetrail/workflow_tracking.json`, and templates pre-loaded with production lessons. Each project leaves a trail of decisions, gotchas, and breadcrumbs that future work follows. Flags, MCP, and the phase table live in the [docs](https://forgetrail.dev/docs).
45
+ A 7-phase playbook, a live `.forgetrail/workflow_tracking.json`, and templates pre-loaded with first-party production lessons. Each project leaves a trail of decisions, gotchas, and breadcrumbs that future work follows. Those lesson notes are not independent adoption evidence. Flags, MCP, and the phase table live in the [docs](https://forgetrail.dev/docs).
38
46
 
39
47
  <!-- xfacts-nutrition-label -->
40
48
 
package/TRY_FORGETRAIL.md CHANGED
@@ -75,6 +75,7 @@ Already have a long PRD? Save it as `docs/GENESIS.md` and use the kickoff line a
75
75
  |------|------|
76
76
  | [`content/GENESIS_SPEC_PROMPT.md`](content/GENESIS_SPEC_PROMPT.md) | Prompt to paste into any LLM chat |
77
77
  | [`content/examples/GENESIS_SAMPLE_mars-habitat-roster.md`](content/examples/GENESIS_SAMPLE_mars-habitat-roster.md) | Fictional sample Genesis |
78
+ | [`content/examples/two-session-continuity.md`](content/examples/two-session-continuity.md) | Labeled two-session tracking example |
78
79
  | [`content/FORGETRAIL_LITE.md`](content/FORGETRAIL_LITE.md) | Portable agent protocol |
79
80
  | [`content/GENESIS_STUB.md`](content/GENESIS_STUB.md) | Stub written by `--with-genesis-stub` |
80
81
  | [`README.md`](README.md) | Full methodology overview |
@@ -0,0 +1,110 @@
1
+ # Two-session continuity (illustrative)
2
+
3
+ This is a labeled example. The project is fictional. It shows how ForgeTrail Lite state survives a closed chat, and how the next session is supposed to consume it. File names match ForgeTrail `0.4.6` / Lite `schemaVersion: "lite-1"`.
4
+
5
+ Nothing here is a benchmark, an adoption claim, or a client record.
6
+
7
+ ## The job
8
+
9
+ Build a local CLI, **desk-stamp**, that stamps today's date on markdown notes in the current folder. Weekend tool. No hosted database.
10
+
11
+ ## Session 1 (human + coding agent)
12
+
13
+ The human created an empty folder, wrote `docs/GENESIS.md`, and added Lite by copying [`content/FORGETRAIL_LITE.md`](../FORGETRAIL_LITE.md) to `.forgetrail/FORGETRAIL_LITE.md`. No Node was required for that copy.
14
+
15
+ The human pasted the kickoff line from [TRY_FORGETRAIL.md](../../TRY_FORGETRAIL.md). The **agent** (not the CLI) then:
16
+
17
+ 1. Created `.forgetrail/workflow_tracking.json` from the Lite starter in `FORGETRAIL_LITE.md` §11.
18
+ 2. Drafted `docs/PHASE_1_BRIEF.md`.
19
+ 3. Logged one decision and one gotcha.
20
+ 4. Stopped after the human approved the brief. No application scaffold yet.
21
+
22
+ The CLI, if used instead of a hand copy, only writes the Lite file and an optional Genesis stub. It does not update tracking, decisions, or sessions. Those writes depend on the agent following the protocol.
23
+
24
+ ### What was left unfinished
25
+
26
+ Phase 1 exit criteria `phase1BriefLocked` and `stackLocked` are true. `heroFlowAgreed` is still false. `currentPhase` is still `1`. The next session still has to agree the first stamp command, then scaffold.
27
+
28
+ ### Persisted excerpt
29
+
30
+ Labeled excerpt of `.forgetrail/workflow_tracking.json` at the end of session 1. Shape matches the Lite starter, not the MCP string-phase starter.
31
+
32
+ ```json
33
+ {
34
+ "schemaVersion": "lite-1",
35
+ "project": {
36
+ "name": "desk-stamp",
37
+ "created": "2026-09-08",
38
+ "description": "Local CLI that stamps today's date on markdown notes",
39
+ "sourceControl": "git",
40
+ "archetype": "one-shot",
41
+ "status": "active"
42
+ },
43
+ "currentPhase": 1,
44
+ "phases": {
45
+ "1": {
46
+ "name": "Plan",
47
+ "status": "in_progress",
48
+ "exitCriteria": {
49
+ "phase1BriefLocked": true,
50
+ "stackLocked": true,
51
+ "heroFlowAgreed": false,
52
+ "v1ScopeAgreed": false
53
+ }
54
+ }
55
+ },
56
+ "decisions": [
57
+ {
58
+ "date": "2026-09-08",
59
+ "phase": 1,
60
+ "decision": "TypeScript CLI, files on disk only, no hosted store",
61
+ "why": "Weekend tool. A database would be a second product.",
62
+ "alternatives": ["Python script", "SQLite index"]
63
+ }
64
+ ],
65
+ "gotchas": [
66
+ {
67
+ "date": "2026-09-08",
68
+ "phase": 1,
69
+ "gotcha": "On Windows, npm 12 npx forgetrail failed to spawn the bin",
70
+ "fix": "Use pnpm dlx forgetrail, or copy FORGETRAIL_LITE.md by hand"
71
+ }
72
+ ],
73
+ "sessions": [
74
+ {
75
+ "date": "2026-09-08",
76
+ "phase": 1,
77
+ "summary": "Genesis plus Lite in place. Phase 1 brief drafted and approved. Stack locked. Hero flow not agreed.",
78
+ "nextSession": "Agree the first stamp command, then scaffold the CLI. Do not reopen the no-database decision."
79
+ }
80
+ ]
81
+ }
82
+ ```
83
+
84
+ ## Session 2 (new chat, same repo)
85
+
86
+ The human opened a new agent chat in the same folder and said: follow `.forgetrail/FORGETRAIL_LITE.md` and continue from tracking.
87
+
88
+ The agent read `.forgetrail/workflow_tracking.json` first. Visible consequences:
89
+
90
+ - It did not re-ask whether to add a database. That decision is already in `decisions[]`.
91
+ - It used `pnpm dlx` on Windows instead of `npx forgetrail`, because `gotchas[]` already recorded the spawn failure.
92
+ - It treated `docs/PHASE_1_BRIEF.md` as locked and asked only about the unfinished hero flow, the first stamp command, before writing application code.
93
+
94
+ That is the trail: phase flags, a decision, a gotcha, and a `nextSession` line. The next chat does not have to reconstruct them from memory.
95
+
96
+ ## What persists, and who writes it
97
+
98
+ | Artifact | Who writes it | Automatic? |
99
+ | --- | --- | --- |
100
+ | `.forgetrail/FORGETRAIL_LITE.md` | Human copy, or `forgetrail install --lite` | The file copy is automatic once you run install. Following it is not. |
101
+ | `docs/GENESIS.md` | Human, or `--with-genesis-stub` plus later edits | Stub only if you asked the CLI for it. |
102
+ | `.forgetrail/workflow_tracking.json` | The agent, on first kickoff and after substantive work | No. Empty tracking after a busy session is a protocol miss. |
103
+ | `docs/PHASE_1_BRIEF.md` | The agent, then the human approves | No. |
104
+ | `decisions[]`, `gotchas[]`, `sessions[]` | The agent | No. The protocol tells the agent to append. The host does not enforce it. |
105
+
106
+ MCP tools can hand the agent the same protocol and a lessons search. They do not replace the files in the app repo.
107
+
108
+ ## Catalog excerpt
109
+
110
+ Keep project decisions, development state, and lessons in the repository so the next session can continue. After one sitting you should see `.forgetrail/workflow_tracking.json` with a phase, a decision, and a `nextSession` line. Full walk-through: this file, and the [continuity](https://forgetrail.dev/docs/continuity) page.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgetrail",
3
- "version": "0.4.6",
3
+ "version": "0.4.7",
4
4
  "private": false,
5
5
  "description": "ForgeTrail: a persistent development system for building software with AI agents. CLI, Lite protocol, and methodology templates.",
6
6
  "license": "Apache-2.0",