contextgit 0.1.10 → 0.2.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/README.md CHANGED
@@ -16,48 +16,74 @@ That's it. `init` registers the MCP server, updates CLAUDE.md with session instr
16
16
 
17
17
  ## How it works
18
18
 
19
- ContextGit stores structured context commits alongside your git history. Each commit captures what was done, what was decided, and what questions remain open.
19
+ Git records what changed at each commit. It does not record *why* the decision behind the change, the approach you rejected, the question the change left open. That intent lives only in the head of whoever made the commit, and it evaporates when the session ends.
20
+
21
+ ContextGit stores that missing layer. Every context save is **bound to a git commit**. The commit is a snapshot of the code; the save bound to it is a snapshot of the intent. Together they let anyone — a teammate, or you in three weeks — pull the repo at any commit and reconstruct *both*: what the code was, and what the thinking was.
20
22
 
21
23
  ```
22
- Session 1: Agent builds auth module → saves context commit
23
- Session 2: Agent loads snapshot → knows auth is done starts on the next task
24
+ Session 1: Agent builds auth module, commits → saves intent bound to that commit
25
+ Session 2: Agent loads the snapshot → knows auth is done, knows why it was
26
+ built that way → starts on the next task
24
27
  ```
25
28
 
29
+ The save's job is not to repeat the diff (git already has that). It carries what the diff cannot show: decisions, abandoned approaches, open questions, and the next concrete task.
30
+
26
31
  ## What the agent sees
27
32
 
28
33
  When an agent calls `project_memory_load`, it gets a snapshot like this:
29
34
 
30
35
  ```
31
- ## Project State
32
- Auth module complete. API routes tested. Database schema finalized.
36
+ ## Git
37
+ Branch: feature/payments | HEAD: a1b2c3d4 | 47 commits
33
38
 
34
- ## Current Branch: Context: main
35
- Implementing payment integration. Stripe SDK configured.
36
-
37
- ## Recent Activity
38
- - [2026-03-20T08:33:44Z] "Payment webhook handler done" by solo via claude-code
39
- - [2026-03-20T07:15:22Z] "Stripe SDK integration" by solo via claude-code
40
- - [2026-03-19T16:42:11Z] "Auth module complete" by solo via claude-code
39
+ ## Plan
40
+ [a1b2c3] Phase 1 Payments [1/3 done]
41
+ [d4e5f6] ✓ Stripe SDK integration
42
+ [g7h8i9] Webhook handler ← next
43
+ [j1k2l3] Invoice PDF generation
41
44
 
42
45
  ## Open Threads
43
- - [FREE] Need to add rate limiting to payment endpoints
44
- - [CLAIMED by studio-mcp-agent] Build invoice PDF generation
45
- - [FREE] Decide on webhook retry strategy
46
+ - [m4n5o6] [FREE] Need to add rate limiting to payment endpoints (opened 5/21/2026, interactive)
47
+ - [p7q8r9] [FREE] Decide on webhook retry strategy (opened 5/19/2026, interactive)
48
+ (+3 stale, +1 expired-watch call project_memory_threads to view)
49
+
50
+ ## Recent Activity
51
+ - [2026-05-22T08:33:44Z] "Payment webhook handler done" by solo via claude-code (interactive)
52
+ - [2026-05-22T07:15:22Z] "Stripe SDK integration" by solo via claude-code (interactive)
53
+ - [2026-05-21T16:42:11Z] "Auth module complete" by solo via claude-code (interactive)
46
54
 
47
55
  ## Active Claims
48
- - "Build invoice PDF generation" claimed by studio-mcp-agent (2h TTL)
56
+ (none)
49
57
  ```
50
58
 
51
59
  The agent reads this and knows exactly where the project stands without you saying a word.
52
60
 
61
+ The `## Git` line is read live from git on every load — branch, HEAD, and commit count are never cached. The `## Plan` section is the project's task hierarchy (plan → step → task); the first unfinished task is marked `← next`. The count hint under `## Open Threads` surfaces decayed entries filtered from the default load (stale open threads + expired watch notes) so the agent can drill in with `project_memory_threads` if needed.
62
+
63
+ Each line carries a short 6-character handle (`[a1b2c3]`) — used to close a thread or check off a task in one step, by handle or by subject.
64
+
65
+ ## Two structures: threads and plans
66
+
67
+ ContextGit tracks two different things, and keeps them separate because they have opposite lifecycles:
68
+
69
+ - **Threads** are unresolved questions and things to watch — "decide on the retry strategy", "watch for the rate-limit edge case". A thread is resolved by being *answered*, and it **decays**: an open thread untouched for long enough is archived (recoverably), and a `watch` note expires on a short TTL. This keeps the load free of a graveyard of dead questions.
70
+ - **Plans** are intended work — a plan → step → task hierarchy you check off as you go. A plan node is resolved by being *done*. Planning **never decays**: a planned task does not become irrelevant because time passed; it is either pending or complete.
71
+
72
+ Threads keep the question list honest; plans keep the work list durable.
73
+
53
74
  ## MCP tools
54
75
 
55
76
  These tools are exposed to the agent via MCP. The agent calls them as part of its normal workflow.
56
77
 
57
78
  | Tool | What it does |
58
79
  |------|-------------|
59
- | `project_memory_load` | Load the full project snapshot — what was built, what's decided, open threads, active claims. Call at session start. |
60
- | `project_memory_save` | Save a context commit what you did, decisions made, open questions. Call before ending a session. |
80
+ | `project_memory_load` | Load the full project snapshot — the plan, live open threads, recent activity, active claims, plus live git facts (HEAD, commit count). Call at session start. Optional `commit_window` (default 5) controls how many recent commits to include. |
81
+ | `project_memory_save` | Save a context commit, bound to the current git commit — decisions made, approaches abandoned, open questions. Call once per commit; the body carries intent, not a paraphrase of the diff. Can open threads, close threads (`closes_threads`), and check off tasks (`completes_tasks`) in the same call. Threads open as `'open'` (committed) or `'watch'` (a TTL-expiring reminder). |
82
+ | `project_memory_plan` | Create or update the plan hierarchy — lay out a whole plan → step → task tree, or update one node's status (`pending` / `in_progress` / `done`). |
83
+ | `project_memory_plans` | Read the plan tree. `--completed` shows finished plans; `--plan <handle>` drills into one. |
84
+ | `project_memory_threads` | List threads with `filter='stale' \| 'expired-watch' \| 'live' \| 'all' \| 'archived'`. Close a thread with `close=<handle>` or `close_subject=…`; restore an archived thread with `restore=<handle>`; bulk-restore everything archived as `stale-age` or `stale-distance` with `restore_all_stale=true` (recovery primitive for the decay calibration). |
85
+ | `project_memory_retrieve` | Windowed scroll-back. `tier='commits' \| 'trace'`, `window` (default 10), `offset` (default 0). The way to read past the load's recent-commits window or to read the trace tier. |
86
+ | `project_memory_trace` | Record a step-level reasoning note in the fine tier — decisions considered and rejected, dead ends. Pull-only: NEVER appears in `project_memory_load` output. |
61
87
  | `context_search` | Semantic + full-text search over past context commits. |
62
88
  | `project_task_claim` | Claim a task so other agents skip it. Claims auto-expire after 2 hours. |
63
89
  | `project_task_unclaim` | Release a claimed task. |
@@ -66,17 +92,49 @@ These tools are exposed to the agent via MCP. The agent calls them as part of it
66
92
 
67
93
  ## CLI commands
68
94
 
95
+ Most day-to-day work happens through the MCP tools; the CLI is for setup, diagnostics, and operations the MCP server doesn't surface.
96
+
97
+ **Setup + diagnostics**
98
+
99
+ ```bash
100
+ contextgit init # Initialize ContextGit in this project (registers MCP, updates CLAUDE.md)
101
+ contextgit init --hooks # Same, plus install git hooks to auto-capture context on every git commit
102
+ contextgit doctor # Check ContextGit setup and diagnose issues
103
+ ```
104
+
105
+ **Context operations**
106
+
107
+ ```bash
108
+ contextgit commit "message" # Record a context commit
109
+ contextgit context # Print the current project context snapshot
110
+ contextgit log # List context commits for the current branch
111
+ contextgit status # Show current ContextGit status
112
+ contextgit search "query" # Full-text search across context commits
113
+ ```
114
+
115
+ **Branches + multi-agent claims**
116
+
117
+ ```bash
118
+ contextgit branch <name> # Create a new context branch
119
+ contextgit merge <id> # Merge a context branch into the current branch
120
+ contextgit claim "task" # Claim a task so other agents skip it (auto-expires after 2h)
121
+ contextgit unclaim <id> # Release a previously claimed task
122
+ ```
123
+
124
+ **Remote sync (Supabase or self-hosted API)**
125
+
126
+ ```bash
127
+ contextgit set-remote # Configure remote push/pull target
128
+ contextgit remote-show # Show remote configuration and connection status
129
+ contextgit push # Push local context commits to the remote
130
+ contextgit pull # Pull context commits from the remote
131
+ ```
132
+
133
+ **Self-hosted API server**
134
+
69
135
  ```bash
70
- contextgit init # Initialize contextgit in current project
71
- contextgit init --hooks # Initialize with git hooks
72
- contextgit commit "message" # Write a context commit
73
- contextgit status # Show current project state
74
- contextgit search "query" # Search past commits
75
- contextgit claim "task" # Claim a task
76
- contextgit unclaim <id> # Release a claim
77
- contextgit branch <name> # Create a context branch
78
- contextgit merge <id> # Merge a context branch
79
- contextgit serve # Start the REST API server
136
+ contextgit serve # Start the ContextGit REST API server
137
+ contextgit keygen # Generate an API key for securing the server
80
138
  ```
81
139
 
82
140
  ## Architecture
@@ -117,7 +175,7 @@ Project config lives at `.contextgit/config.json`:
117
175
 
118
176
  ## Current status
119
177
 
120
- This is an early-stage tool. It works for solo developers using Claude Code across one or more machines. The core memory layer is solidcontext commits, branches, threads, search, and snapshots all work.
178
+ Early-stage but solid for solo developers using Claude Code across one or more machines. As of 0.2.0 the memory layer is structured into three tiers a live roadmap, commit-bound context saves, and a pull-only reasoning trace — with a plan hierarchy, automatic thread decay, and windowed retrieval. See [CHANGELOG.md](./CHANGELOG.md) for the full 0.2.0 changes.
121
179
 
122
180
  ## Known limitations
123
181
 
File without changes
@@ -1,6 +1,6 @@
1
1
  export declare const CLAUDE_MD_SENTINEL_START = "<!-- contextgit:start -->";
2
2
  export declare const CLAUDE_MD_SENTINEL_END = "<!-- contextgit:end -->";
3
- export declare const CLAUDE_MD_FRAGMENT = "\n<!-- contextgit:start -->\n## ContextGit Memory\n\nThis project uses ContextGit for persistent AI memory across sessions.\n\n## Session Start (do this every time)\n\nCall `project_memory_load` immediately.\nDo not ask questions first. Read the snapshot, then start working.\nStart the next specific task from the snapshot \u2014 not an entire feature or milestone.\nOne task per session unless it is trivially small.\n\n## When to save context\n\nCall `project_memory_save` at **session end**, always \u2014 a focused summary plus the\n3\u20135 genuinely open threads for the next session.\n\nCall `project_memory_save` mid-session **only when project state changes in a way\ngit does not capture**: a decision made, an approach abandoned, a thread opened or\nclosed, scope changed (`replan:` prefix), an architectural choice.\n\nDo **not** save merely because a git commit happened. Git is the record of what\nchanged. A context save that only paraphrases a commit message is noise.\n\n## Session End (do this every time)\n\nBefore stopping work for any reason, call `project_memory_save` with:\n- What was built this session\n- Key decisions and why\n- Open threads and blockers\n- The first concrete task for the next session\n\nDo not end a session without a context commit. The next session starts blind without it.\n\n## Before risky exploration\n\nCall `project_memory_branch` to create an isolated context workspace before trying anything uncertain.\n\n## Before starting a task (multi-agent)\n\nCall `project_task_claim` to prevent other agents from duplicating your work.\n\n## When scope changes mid-session\n\nWrite a `project_memory_save` with replan: prefix BEFORE building new scope:\n`project_memory_save \"replan: <what changed and why>\"`\nThen build the new scope. Then write a normal context commit when done.\n<!-- contextgit:end -->\n";
3
+ export declare const CLAUDE_MD_FRAGMENT = "\n<!-- contextgit:start -->\n## ContextGit Memory\n\nThis project uses ContextGit for persistent AI memory across sessions.\n\n## Session Start (do this every time)\n\nCall `project_memory_load` immediately.\nDo not ask questions first. Read the snapshot, then start working.\nStart the next specific task from the snapshot \u2014 not an entire feature or milestone.\nOne task per session unless it is trivially small.\n\n## When to save context\n\nSave once per commit. Every git commit deserves a paired `project_memory_save`.\nSkipping commits leaves their history blind \u2014 the diff survives, the *reason*\ndoes not. The save's body is what makes the commit binding worth pulling in\nthree weeks.\n\nWhat the save body carries:\n- The **decision** behind the change \u2014 why this approach, not the other.\n- Any **approach abandoned** along the way (use `replan:` prefix if scope shifted).\n- The **open question** the commit raises \u2014 what is still unresolved.\n\nThe body is NOT a restatement of the diff. Git already has the diff.\n\nBad save: \"Implemented apiFetch wrapper\" \u2014 paraphrases the commit; git has it.\n\nGood save: \"apiFetch wrapper \u2014 chose X-User-Id header over cookie auth because\nthe extension can't share the host session cookie. Open: needs 401 handling.\"\n\n## Before risky exploration\n\nCall `project_memory_branch` to create an isolated context workspace before trying anything uncertain.\n\n## Before starting a task (multi-agent)\n\nCall `project_task_claim` to prevent other agents from duplicating your work.\n\n## When scope changes mid-session\n\nWrite a `project_memory_save` with replan: prefix BEFORE building new scope:\n`project_memory_save \"replan: <what changed and why>\"`\nThen build the new scope. Then write a normal context commit when done.\n<!-- contextgit:end -->\n";
4
4
  /**
5
5
  * Write the ContextGit CLAUDE.md fragment into the given directory.
6
6
  * Idempotent: skips if sentinel already present.
@@ -10,7 +10,7 @@ export declare function writeClaude(projectDir: string): {
10
10
  status: 'written' | 'already-present' | 'error';
11
11
  reason?: string;
12
12
  };
13
- export declare const CONTEXT_COMMIT_SKILL = "---\nname: context-commit\ndescription: \"Save project memory when project state changes in a way git does not capture: a key decision made, an approach abandoned, a thread opened or closed, scope changed (replan: prefix), or at session end. Do not save merely because a git commit happened \u2014 git is the record of what changed; a context save that only paraphrases a commit message is noise. Triggers: session ending, decision made, approach abandoned, thread opened or closed, scope changed, architectural choice.\"\n---\n\n# ContextGit \u2014 Context Commit Discipline\n\n## When to save context\n\nCall `project_memory_save` at **session end**, always \u2014 a focused summary plus the\n3\u20135 genuinely open threads for the next session.\n\nCall `project_memory_save` mid-session **only when project state changes in a way\ngit does not capture**: a decision made, an approach abandoned, a thread opened or\nclosed, scope changed (`replan:` prefix), an architectural choice.\n\nDo **not** save merely because a git commit happened. Git is the record of what\nchanged. A context save that only paraphrases a commit message is noise.\n\n## What makes a good commit message\n\nA context commit message is a future-you briefing. Write it so the next agent session (or the next developer) can pick up exactly where this one left off.\n\nStructure:\n```\n<one-line summary of what was done>\n\nWhat was decided: <the decision and why>\nWhat was built: <files changed, approach taken>\nOpen questions: <anything unresolved>\nNext task: <the first concrete thing the next session should do>\nGit: <branch> | <commit hash if available>\n```\n\n## How to call it\n\nUse the `project_memory_save` MCP tool (alias: `context_commit`). Pass the full message as the `message` argument.\n\nDo not skip this step when the work feels small. Small decisions compound. The next session starts blind without them.\n";
13
+ export declare const CONTEXT_COMMIT_SKILL = "---\nname: context-commit\ndescription: \"Save project memory once per git commit. Every commit deserves a paired save; the body carries what git cannot reconstruct \u2014 the decision behind the change, any approach abandoned (use replan: prefix), the open question the commit raises. The body is never a paraphrase of the diff.\"\n---\n\n# ContextGit \u2014 Context Commit Discipline\n\n## When to save context\n\nSave once per commit. Every git commit deserves a paired `project_memory_save`.\nSkipping commits leaves their history blind \u2014 the diff survives, the *reason*\ndoes not. The save's body is what makes the commit binding worth pulling in\nthree weeks.\n\nWhat the save body carries:\n- The **decision** behind the change \u2014 why this approach, not the other.\n- Any **approach abandoned** along the way (use `replan:` prefix if scope shifted).\n- The **open question** the commit raises \u2014 what is still unresolved.\n\nThe body is NOT a restatement of the diff. Git already has the diff.\n\nBad save: \"Implemented apiFetch wrapper\" \u2014 paraphrases the commit; git has it.\n\nGood save: \"apiFetch wrapper \u2014 chose X-User-Id header over cookie auth because\nthe extension can't share the host session cookie. Open: needs 401 handling.\"\n\n## What makes a good commit message\n\nA context commit message is a future-you briefing. Write it so the next agent session (or the next developer) can pick up exactly where this one left off.\n\nStructure:\n```\n<one-line summary of what was done>\n\nWhat was decided: <the decision and why>\nWhat was built: <files changed, approach taken>\nOpen questions: <anything unresolved>\nNext task: <the first concrete thing the next session should do>\nGit: <branch> | <commit hash if available>\n```\n\n## How to call it\n\nUse the `project_memory_save` MCP tool (alias: `context_commit`). Pass the full message as the `message` argument.\n\nDo not skip this step when the work feels small. Small decisions compound. The next session starts blind without them.\n";
14
14
  export declare const CONTEXT_BRANCH_SKILL = "---\nname: context-branch\ndescription: \"Create an isolated context branch before risky or experimental work. Use this skill when the agent is about to explore something uncertain, experimental, or potentially breaking \u2014 trying an approach that might not work, refactoring something risky, exploring an architectural alternative, or doing anything that should be isolatable and reversible. Triggers on: 'let me try', 'what if we', 'I want to explore', 'let's experiment', 'alternative approach', or any phrasing that signals exploration rather than execution.\"\n---\n\n# ContextGit \u2014 Context Branch Discipline\n\n## When to branch context\n\nCall `project_memory_branch` (MCP tool) before:\n- Trying an approach you're not sure will work\n- Refactoring something that touches many files\n- Exploring an architectural alternative to the current plan\n- Doing anything you'd want to be able to roll back semantically (not just via git)\n\n## Why this matters\n\nA context branch creates an isolated snapshot workspace. If the exploration fails, you can return to the main branch context without polluting the session history with dead-end decisions.\n\nIt's cheap. It takes one tool call. The cost of not doing it is re-explaining to the next session why you abandoned the approach you just spent an hour on.\n\n## How to call it\n\nUse the `project_memory_branch` MCP tool (alias: `context_branch`). Pass a short descriptive name:\n\n```\nproject_memory_branch name=\"explore-queue-based-concurrency\"\n```\n\nWhen the exploration concludes:\n- If it worked: `project_memory_save` your findings and merge back\n- If it failed: `project_memory_save` a brief note (\"explored X, abandoned because Y\") and switch back to main branch\n\nThe failure note is as valuable as the success note. The next session needs to know not to try the same dead end.\n";
15
15
  /**
16
16
  * Register contextgit-mcp in ~/.claude.json under mcpServers.
@@ -1 +1 @@
1
- {"version":3,"file":"init-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/init-helpers.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AACnE,eAAO,MAAM,sBAAsB,4BAA4B,CAAA;AAE/D,eAAO,MAAM,kBAAkB,u0DAiD9B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtE;AAID,eAAO,MAAM,oBAAoB,s3DAuChC,CAAA;AAED,eAAO,MAAM,oBAAoB,y0DAkChC,CAAA;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,cAAc,SAAqC,GAClD;IAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAYlD;AAwBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBtE;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAA;CAAE,CAiBjG"}
1
+ {"version":3,"file":"init-helpers.d.ts","sourceRoot":"","sources":["../../src/lib/init-helpers.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,wBAAwB,8BAA8B,CAAA;AACnE,eAAO,MAAM,sBAAsB,4BAA4B,CAAA;AAE/D,eAAO,MAAM,kBAAkB,ozDA8C9B,CAAA;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtE;AAID,eAAO,MAAM,oBAAoB,s/DA8ChC,CAAA;AAED,eAAO,MAAM,oBAAoB,y0DAkChC,CAAA;AAID;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,cAAc,SAAqC,GAClD;IAAE,MAAM,EAAE,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBzE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAYlD;AAwBD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GACjB;IAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoBtE;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAA;CAAE,CAiBjG"}
@@ -20,25 +20,22 @@ One task per session unless it is trivially small.
20
20
 
21
21
  ## When to save context
22
22
 
23
- Call \`project_memory_save\` at **session end**, always a focused summary plus the
24
- 3–5 genuinely open threads for the next session.
23
+ Save once per commit. Every git commit deserves a paired \`project_memory_save\`.
24
+ Skipping commits leaves their history blind — the diff survives, the *reason*
25
+ does not. The save's body is what makes the commit binding worth pulling in
26
+ three weeks.
25
27
 
26
- Call \`project_memory_save\` mid-session **only when project state changes in a way
27
- git does not capture**: a decision made, an approach abandoned, a thread opened or
28
- closed, scope changed (\`replan:\` prefix), an architectural choice.
28
+ What the save body carries:
29
+ - The **decision** behind the change why this approach, not the other.
30
+ - Any **approach abandoned** along the way (use \`replan:\` prefix if scope shifted).
31
+ - The **open question** the commit raises — what is still unresolved.
29
32
 
30
- Do **not** save merely because a git commit happened. Git is the record of what
31
- changed. A context save that only paraphrases a commit message is noise.
33
+ The body is NOT a restatement of the diff. Git already has the diff.
32
34
 
33
- ## Session End (do this every time)
35
+ Bad save: "Implemented apiFetch wrapper" paraphrases the commit; git has it.
34
36
 
35
- Before stopping work for any reason, call \`project_memory_save\` with:
36
- - What was built this session
37
- - Key decisions and why
38
- - Open threads and blockers
39
- - The first concrete task for the next session
40
-
41
- Do not end a session without a context commit. The next session starts blind without it.
37
+ Good save: "apiFetch wrapper chose X-User-Id header over cookie auth because
38
+ the extension can't share the host session cookie. Open: needs 401 handling."
42
39
 
43
40
  ## Before risky exploration
44
41
 
@@ -82,22 +79,29 @@ export function writeClaude(projectDir) {
82
79
  // ── Skills ────────────────────────────────────────────────────────────────────
83
80
  export const CONTEXT_COMMIT_SKILL = `---
84
81
  name: context-commit
85
- description: "Save project memory when project state changes in a way git does not capture: a key decision made, an approach abandoned, a thread opened or closed, scope changed (replan: prefix), or at session end. Do not save merely because a git commit happened git is the record of what changed; a context save that only paraphrases a commit message is noise. Triggers: session ending, decision made, approach abandoned, thread opened or closed, scope changed, architectural choice."
82
+ description: "Save project memory once per git commit. Every commit deserves a paired save; the body carries what git cannot reconstruct the decision behind the change, any approach abandoned (use replan: prefix), the open question the commit raises. The body is never a paraphrase of the diff."
86
83
  ---
87
84
 
88
85
  # ContextGit — Context Commit Discipline
89
86
 
90
87
  ## When to save context
91
88
 
92
- Call \`project_memory_save\` at **session end**, always a focused summary plus the
93
- 3–5 genuinely open threads for the next session.
89
+ Save once per commit. Every git commit deserves a paired \`project_memory_save\`.
90
+ Skipping commits leaves their history blind — the diff survives, the *reason*
91
+ does not. The save's body is what makes the commit binding worth pulling in
92
+ three weeks.
93
+
94
+ What the save body carries:
95
+ - The **decision** behind the change — why this approach, not the other.
96
+ - Any **approach abandoned** along the way (use \`replan:\` prefix if scope shifted).
97
+ - The **open question** the commit raises — what is still unresolved.
98
+
99
+ The body is NOT a restatement of the diff. Git already has the diff.
94
100
 
95
- Call \`project_memory_save\` mid-session **only when project state changes in a way
96
- git does not capture**: a decision made, an approach abandoned, a thread opened or
97
- closed, scope changed (\`replan:\` prefix), an architectural choice.
101
+ Bad save: "Implemented apiFetch wrapper" paraphrases the commit; git has it.
98
102
 
99
- Do **not** save merely because a git commit happened. Git is the record of what
100
- changed. A context save that only paraphrases a commit message is noise.
103
+ Good save: "apiFetch wrapper chose X-User-Id header over cookie auth because
104
+ the extension can't share the host session cookie. Open: needs 401 handling."
101
105
 
102
106
  ## What makes a good commit message
103
107
 
@@ -1 +1 @@
1
- {"version":3,"file":"init-helpers.js","sourceRoot":"","sources":["../../src/lib/init-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-helpers.js","sourceRoot":"","sources":["../../src/lib/init-helpers.ts"],"names":[],"mappings":"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"}
@@ -140,13 +140,40 @@ describe('patchClaudeSettings', () => {
140
140
  });
141
141
  // ── save-rhythm content checks ────────────────────────────────────────────────
142
142
  describe('save-rhythm content', () => {
143
- it('CLAUDE_MD_FRAGMENT does not contain "Every git commit"', () => {
144
- expect(CLAUDE_MD_FRAGMENT).not.toContain('Every git commit');
143
+ it('CLAUDE_MD_FRAGMENT contains "Save once per commit" (commit-binding model)', () => {
144
+ expect(CLAUDE_MD_FRAGMENT).toContain('Save once per commit');
145
145
  });
146
146
  it('CONTEXT_COMMIT_SKILL description does not contain "Do not batch"', () => {
147
147
  expect(CONTEXT_COMMIT_SKILL).not.toContain('Do not batch');
148
148
  });
149
149
  });
150
+ // ── save-rhythm commit-binding model (03 DELTA Fix 3) ─────────────────────────
151
+ describe('save-rhythm commit-binding model (03 DELTA Fix 3)', () => {
152
+ it('CLAUDE_MD_FRAGMENT states save-per-commit + body-carries-intent', () => {
153
+ expect(CLAUDE_MD_FRAGMENT).toContain('Save once per commit');
154
+ expect(CLAUDE_MD_FRAGMENT).toContain('Bad save:');
155
+ expect(CLAUDE_MD_FRAGMENT).toContain('Good save:');
156
+ expect(CLAUDE_MD_FRAGMENT).toContain('decision');
157
+ expect(CLAUDE_MD_FRAGMENT).toContain('open question');
158
+ });
159
+ it('CLAUDE_MD_FRAGMENT no longer contains the 02-rhythm text', () => {
160
+ expect(CLAUDE_MD_FRAGMENT).not.toContain('3–5 genuinely open threads');
161
+ expect(CLAUDE_MD_FRAGMENT).not.toContain('only when project state changes in a way');
162
+ expect(CLAUDE_MD_FRAGMENT).not.toContain('Do not save merely because a git commit happened');
163
+ });
164
+ it('CONTEXT_COMMIT_SKILL states save-per-commit + body-carries-intent', () => {
165
+ expect(CONTEXT_COMMIT_SKILL).toContain('Save once per commit');
166
+ expect(CONTEXT_COMMIT_SKILL).toContain('Bad save:');
167
+ expect(CONTEXT_COMMIT_SKILL).toContain('Good save:');
168
+ });
169
+ it('CONTEXT_COMMIT_SKILL description embodies commit-binding (not the 02 rhythm)', () => {
170
+ expect(CONTEXT_COMMIT_SKILL).toMatch(/description:\s*"[^"]*once per git commit/);
171
+ expect(CONTEXT_COMMIT_SKILL).not.toContain('Do not save merely because a git commit happened');
172
+ });
173
+ it('CONTEXT_COMMIT_SKILL no longer contains the 02-rhythm text', () => {
174
+ expect(CONTEXT_COMMIT_SKILL).not.toContain('3–5 genuinely open threads');
175
+ });
176
+ });
150
177
  // ── patchGitignore ────────────────────────────────────────────────────────────
151
178
  describe('patchGitignore', () => {
152
179
  it('creates .gitignore when none exists', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"init-helpers.test.js","sourceRoot":"","sources":["../../src/lib/init-helpers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-helpers.test.js","sourceRoot":"","sources":["../../src/lib/init-helpers.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contextgit",
3
- "version": "0.1.10",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "contextgit": "./bin/run.js",
@@ -33,10 +33,10 @@
33
33
  "typecheck": "tsc --noEmit"
34
34
  },
35
35
  "dependencies": {
36
- "@contextgit/core": "0.1.10",
37
- "@contextgit/store": "0.1.10",
38
- "@contextgit/api": "0.1.10",
39
- "@contextgit/mcp": "0.1.10",
36
+ "@contextgit/core": "0.2.1",
37
+ "@contextgit/store": "0.2.1",
38
+ "@contextgit/api": "0.2.1",
39
+ "@contextgit/mcp": "0.2.1",
40
40
  "@oclif/core": "^3.27.0",
41
41
  "nanoid": "^5.0.0",
42
42
  "simple-git": "^3.27.0"