From 0ed030b118edac8c4c622639e8e95a1185b4d6e9 Mon Sep 17 00:00:00 2001 From: Rahul Krishna Date: Wed, 1 Jul 2026 19:03:39 -0400 Subject: [PATCH 1/2] Add supported-languages section and AGENTS.md/GEMINI.md symlinks to CLAUDE.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Document the four wired languages (java, python, typescript, c) — their CLDK.() entry points, local + Neo4j backends, and model locations — as a table in the agent guide, and note that adding a language must update it. Add AGENTS.md and GEMINI.md as relative symlinks to CLAUDE.md so every agent convention reads one source of truth. Closes #191 --- AGENTS.md | 1 + CLAUDE.md | 17 +++++++++++++++++ GEMINI.md | 1 + 3 files changed, 19 insertions(+) create mode 120000 AGENTS.md create mode 120000 GEMINI.md diff --git a/AGENTS.md b/AGENTS.md new file mode 120000 index 00000000..681311eb --- /dev/null +++ b/AGENTS.md @@ -0,0 +1 @@ +CLAUDE.md \ No newline at end of file diff --git a/CLAUDE.md b/CLAUDE.md index 1dfc8f23..ea15a2e6 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -2,6 +2,23 @@ Agent guidance for `codellm-devkit/python-sdk`. +## Supported languages + +The SDK exposes one static factory method per language on `CLDK`. Each returns a facade backed by +a per-language `AnalysisBackend` ABC, with a local codeanalyzer backend and (where available) +an optional read-only Neo4j backend — selected by the *type* of the `backend=` config object. + +| Language | Entry point | Local backend | Neo4j backend | Models | +|----------|-------------|---------------|---------------|--------| +| Java | `CLDK.java(...)` | `JCodeanalyzer` (bundled JAR, subprocess) | `JNeo4jBackend` | `cldk/models/java/` | +| Python | `CLDK.python(...)` | `PyCodeanalyzer` (in-process `codeanalyzer-python`) | `PyNeo4jBackend` | re-exported from `codeanalyzer-python` | +| TypeScript | `CLDK.typescript(...)` | `TSCodeanalyzer` (`codeanalyzer-typescript` binary, subprocess) | `TSNeo4jBackend` | `cldk/models/typescript/` | +| C | `CLDK.c(...)` | libclang (in-process, syntactic only) | — | `cldk/models/c/` | + +The legacy `CLDK(language="").analysis(...)` entry still works as a compat shim. Adding a +language means a new factory method + facade + backend ABC/impl(s) + models + tests — **update this +table in the same change**. + ## I implement features myself — you assist For feature work, **I write the implementation myself** to stay fluent in my own SDK. Act as a helper, not the author: diff --git a/GEMINI.md b/GEMINI.md new file mode 120000 index 00000000..681311eb --- /dev/null +++ b/GEMINI.md @@ -0,0 +1 @@ +CLAUDE.md \ No newline at end of file From 3f80a59878c3609988de74ea0a8ea8ae31b10a6c Mon Sep 17 00:00:00 2001 From: Rahul Krishna Date: Wed, 1 Jul 2026 19:06:24 -0400 Subject: [PATCH 2/2] Un-ignore agent guide files in local .gitignore The global ~/.gitignore_global excludes AGENTS.md; negate it locally so the CLAUDE.md/AGENTS.md/GEMINI.md guide is tracked without needing a force-add. --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index f1ef255d..b7fe8d82 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,9 @@ poetry.lock # CLDK files .codeanalyzer + +# Agent guide files — un-ignore past the global ~/.gitignore_global rule that +# excludes AGENTS.md, so the CLAUDE.md/AGENTS.md/GEMINI.md guide is tracked. +!CLAUDE.md +!AGENTS.md +!GEMINI.md