mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-13 16:38:56 +02:00
Brain-init (Paths 1/2/3/4 bodies), engine remediation, transcript gate, and CLAUDE.md persist load on demand — at most one install route ever runs. Skeleton 75.3KB -> 57.0KB; the Step 1 detect and Step 2 path dispatch stay always-loaded. New buildSetupGbrainFixture helper gives the periodic E2Es extract-don't-copy fixtures with a non-empty guard; the voyage-code-3 gate counts scan the tmpl union (the third init site lives in engine-remediation). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
80 lines
3.3 KiB
Markdown
80 lines
3.3 KiB
Markdown
<!-- AUTO-GENERATED from claude-md-persist.md.tmpl — do not edit directly -->
|
|
<!-- Regenerate: bun run gen:skill-docs -->
|
|
Find-and-replace (or append) the section. Block format depends on mode:
|
|
|
|
### Path 4 (Remote MCP)
|
|
|
|
```markdown
|
|
## GBrain Configuration (configured by /setup-gbrain)
|
|
- Mode: remote-http
|
|
- MCP URL: {MCP_URL}
|
|
- Server version: gbrain v{SERVER_VERSION} (from Step 4c verify)
|
|
- Setup date: {today}
|
|
- MCP registered: yes (user scope)
|
|
- Token: stored in ~/.claude.json (do not commit; never written to CLAUDE.md)
|
|
- Artifacts repo: {gstack_artifacts_remote URL or "none"}
|
|
- Artifacts sync: {off|artifacts-only|full}
|
|
- Current repo policy: {read-write|read-only|deny|unset}
|
|
```
|
|
|
|
The bearer token is **never** written to CLAUDE.md (CLAUDE.md is checked
|
|
in to git in many projects). It lives only in `~/.claude.json` where
|
|
`claude mcp add` placed it.
|
|
|
|
### Paths 1, 2a, 2b, 3 (Local stdio)
|
|
|
|
```markdown
|
|
## GBrain Configuration (configured by /setup-gbrain)
|
|
- Mode: local-stdio
|
|
- Engine: {pglite|postgres}
|
|
- Config file: ~/.gbrain/config.json (mode 0600)
|
|
- Setup date: {today}
|
|
- MCP registered: {yes/no}
|
|
- Artifacts sync: {off|artifacts-only|full}
|
|
- Current repo policy: {read-write|read-only|deny|unset}
|
|
```
|
|
|
|
**After Step 9 (smoke test) passes, also write the `## GBrain Search Guidance`
|
|
block** so the coding agent learns when to prefer `gbrain` over Grep. This
|
|
block is gated on the smoke test passing — write the Configuration block
|
|
first (so the user knows what state they're in even if the smoke test fails),
|
|
then return here after Step 9 and write the guidance block only if smoke
|
|
test succeeded.
|
|
|
|
When Step 9 passes, find-and-replace (or append) this block. Use HTML-comment
|
|
delimiters so removal regex is unambiguous and never eats user content. The
|
|
block content is machine-AGNOSTIC — no engine type, no page counts, no
|
|
last-sync time. Machine state stays in the Configuration block above.
|
|
|
|
```markdown
|
|
## GBrain Search Guidance (configured by /sync-gbrain)
|
|
<!-- gstack-gbrain-search-guidance:start -->
|
|
|
|
GBrain is set up and synced on this machine. The agent should prefer gbrain
|
|
over Grep when the question is semantic or when you don't know the exact
|
|
identifier yet. Two indexed corpora available via the `gbrain` CLI:
|
|
- This repo's code (registered as `gstack-code-<repo>` source).
|
|
- `~/.gstack/` curated memory (registered as `gstack-brain-<user>` source via
|
|
the existing federation pipeline).
|
|
|
|
Prefer gbrain when:
|
|
- "Where is X handled?" / semantic intent, no exact string yet:
|
|
`gbrain search "<terms>"` or `gbrain query "<question>"`
|
|
- "Where is symbol Y defined?" / symbol-based code questions:
|
|
`gbrain code-def <symbol>` or `gbrain code-refs <symbol>`
|
|
- "What calls Y?" / "What does Y depend on?":
|
|
`gbrain code-callers <symbol>` / `gbrain code-callees <symbol>`
|
|
- "What did we decide last time?" / past plans, retros, learnings:
|
|
`gbrain search "<terms>" --source gstack-brain-<user>`
|
|
|
|
Grep is still right for known exact strings, regex, multiline patterns, and
|
|
file globs. The brain auto-syncs incrementally on every gstack skill start.
|
|
Run `/sync-gbrain` to force-refresh, `/sync-gbrain --full` for full reindex.
|
|
|
|
<!-- gstack-gbrain-search-guidance:end -->
|
|
```
|
|
|
|
If Step 9 smoke test fails, skip the guidance block write entirely. The user's
|
|
next `/sync-gbrain` run will re-evaluate capability and write the block when
|
|
the round-trip works.
|