Unify agent guidance: merge CLAUDE.md into AGENTS.md, symlink CLAUDE.md
ober
0595c393e339a6fbf4d9aa36b375233c44912087
--- a/AGENTS.md +++ b/AGENTS.md @@ -341,7 +341,7 @@ When working in a Jerboa project, **ONLY modify files in the current repo** unle Common sibling repos that exist but must NOT be touched without explicit instruction: - `~/mine/jerboa-emacs` — **NEVER touch**. Another model owns it. -- `~/mine/jerboa-mcp` — Only modify when user explicitly says to work there. +- `~/mine/jerboa-mcp` — Legacy node MCP, superseded. The active MCP server now lives in THIS repo at `mcp/` + `data/`. Don't modify the legacy repo unless told. - `~/mine/jerboa-shell` — Only modify when user explicitly says to work there. - `~/mine/gerbil-mcp` — **NEVER touch**. Deprecated. - `~/mine/gerbil-orig` — Read-only reference for upstream Gerbil. Never modify. @@ -362,6 +362,22 @@ find lib -name "*.so" -delete && find lib -name "*.wpo" -delete && make build ``` Run `jerboa_stale_static` to detect stale `.so` files before debugging "why doesn't my edit work?". +## Pre-commit Requirements + +**ALWAYS** run a clean build **before** committing any code to this repository. Pick the right target for the *current* platform: + +- **Linux**: run `make docker-build` — the Docker image must build cleanly against the full musl-static release pipeline. +- **macOS / FreeBSD / other**: run `make binary` — the native local build must succeed. Do **not** run `make docker-build` here; Docker on non-Linux hosts is slow and not the canonical pipeline for those platforms. + +Do not commit if the build fails. + +## Act First, Read Less + +When making changes, read only what you need to make the edit, then make it. +Do not read more than 3 files before acting. Do not re-read files you already +read. Do not verify things you already know. If you have enough context to make +a change, make it. The user will interrupt you if you are wrong. + ## Jerboa MCP Tools — MANDATORY Usage Jerboa is a niche Scheme dialect with limited training data. **Never guess — always verify** with MCP tools. Tool descriptions are available at runtime via the MCP server; this section covers **when** and **why** to use each tool. @@ -410,6 +426,8 @@ Jerboa is a niche Scheme dialect with limited training data. **Never guess — a - **`jerboa_howto_run`** / **`jerboa_howto_verify`**: Validate recipes still work - **`jerboa_error_fix_add`**: Save error→fix mappings for common mistakes +**The knowledge base is `data/*.sexp` in THIS repo**, embedded into `jmcp` at build time. The write tools above edit it live — the server reads `data/` from disk first, with the embedded copy as fallback (`JERBOA_MCP_REPO` points every client at this repo). When you add a stdlib/language feature, also update `data/` (a cookbook recipe + `api-signatures.sexp` + `changelog.sexp`) and **commit it**. Run `make jmcp` (or `make jmcp-portable`) only to refresh the embedded copy shipped in portable binaries. + ### Code Generation & Refactoring `jerboa_rename_symbol`, `jerboa_balanced_replace`, `jerboa_wrap_form`, `jerboa_splice_form`, `jerboa_scaffold_test`, `jerboa_generate_module`, `jerboa_translate_scheme`, `jerboa_project_template`, `jerboa_httpd_handler_scaffold`, `jerboa_db_pattern_scaffold`, `jerboa_actor_ensemble_scaffold` deleted file mode 100644 --- a/CLAUDE.md +++ /dev/null @@ -1,16 +0,0 @@ -## Pre-commit Requirements - -**ALWAYS** run a clean build **before** committing any code to this repository. Pick the right target for the *current* platform: - -- **Linux**: run `make docker-build` — the Docker image must build cleanly against the full musl-static release pipeline. -- **macOS / FreeBSD / other**: run `make binary` — the native local build must succeed. Do **not** run `make docker-build` here; Docker on non-Linux hosts is slow and not the canonical pipeline for those platforms. - -Do not commit if the build fails. - -## Act First, Read Less - -When making changes, read only what you need to make the edit, then make it. -Do not read more than 3 files before acting. Do not re-read files you already -read. Do not verify things you already know. If you have enough context to make -a change, make it. The user will interrupt you if you are wrong. - new file mode 120000 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file