You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore docs: drop stale migration callouts and directory-based propose/plan pointers (#138)
Remove legacy on-disk rename/mv guidance from README and CLI guide; replace
enumerated plan/propose inventories in AGENTS.md and cursor rules with
directory layout. Generalize Cursor skills to use plans/completed patterns
and placeholder PR examples instead of fixed template filenames.
Co-authored-by: Cursor <cursoragent@cursor.com>
This reference distills patterns from **merged multi-PR plans** in this repo. **Do not cache example filenames from here** — open **`plans/completed/`** (and root **`plans/`** for in-flight work) for current `PLAN-*.md` / `CURSOR-PROMPTS-*.md` examples; match their section depth and tables, not a particular PR number.
Copy file name to clipboardExpand all lines: .cursor/skills/plan-prompts/SKILL.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: plan-prompts
3
-
description: Generate per-PR Cursor execution prompts in `plans/CURSOR-PROMPTS-*.md` from an existing `plans/PLAN-*.md`. Each prompt must include `## Tests to run (iteration loop)` (pytest file subset + rationales) between Deliverables and Tests per TEST-SUITE-FAST-LOOP. Use when the user asks to split implementation into Cursor-ready PR prompts with strict in-scope/out-of-scope guardrails.
3
+
description: Generate per-PR Cursor execution prompts in `plans/CURSOR-PROMPTS-*.md` from an existing `plans/PLAN-*.md`. Each prompt must include `## Tests to run (iteration loop)` (pytest file subset + rationales) between Deliverables and Tests per the iteration convention in `tests/README.md`. Use when the user asks to split implementation into Cursor-ready PR prompts with strict in-scope/out-of-scope guardrails.
4
4
disable-model-invocation: true
5
5
---
6
6
@@ -29,9 +29,10 @@ If already present in the plan, do not ask again.
3.`README.md` for current public contract terms when prompts mention tooling/schema
32
+
1.**One** structural template from **`plans/completed/CURSOR-PROMPTS-*.md`** (pick a completed handoff similar in size or topic; if unsure, open the directory and choose any full example).
33
+
2. The target **`plans/PLAN-*.md`**
34
+
3.**`tests/README.md`** for merge gate + iteration-loop expectations
35
+
4.**`README.md`** for current public contract terms when prompts mention tooling/schema
35
36
36
37
## Output file contract
37
38
@@ -59,7 +60,7 @@ Each PR prompt must include all of:
59
60
60
61
### Tests to run (iteration loop) — required subsection
61
62
62
-
Per [`propose/completed/TEST-SUITE-FAST-LOOP-PROPOSE.md`](../../../propose/completed/TEST-SUITE-FAST-LOOP-PROPOSE.md) and [`plans/completed/PLAN-TEST-SUITE-FAST-LOOP.md`](../../../plans/completed/PLAN-TEST-SUITE-FAST-LOOP.md) PR-2:
63
+
Per **`tests/README.md`** (iteration subset + where the `## Tests to run (iteration loop)` block lives). Background design history for the fast loop lives under **`propose/completed/`** and **`plans/completed/`** — search basenames for `TEST-SUITE` if you need the original PR wording.
63
64
64
65
- Add a markdown section with the **exact heading**`## Tests to run (iteration loop)` inside the fenced **Prompt** block, **immediately after**`## Deliverables` and **before**`## Tests`.
65
66
- Content: bullet list of `tests/test_*.py` paths, each with a **one-line rationale** tied to the PR’s code paths.
Copy file name to clipboardExpand all lines: .cursor/skills/pr-open/pr-input.example.json
+11-15Lines changed: 11 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -1,39 +1,35 @@
1
1
{
2
-
"title": "feat: retarget pass6 hint recovery to Client declarations (PR-LC2)",
2
+
"title": "feat: <short scope> (PR-Xn)",
3
3
"base": "master",
4
4
"draft": false,
5
-
"scope": "Implements PR-LC2 from `plans/completed/PLAN-LIST-CLIENTS-MCP-TOOL.md` by retargeting pass6 hint recovery to caller-side `Client` declarations.",
5
+
"scope": "Implements PR-Xn from `plans/PLAN-<TOPIC>.md` (or `plans/completed/PLAN-<TOPIC>.md` if the plan landed) by <one-sentence outcome>.",
6
6
"what_changed": [
7
-
"Updated `build_ast_graph.py` pass6 fallback hint lookup to recover Feign hints from persisted `Client` rows.",
8
-
"Preserved existing `HTTP_CALLS(Symbol -> Route)` semantics and match outcomes.",
9
-
"Added `tests/test_client_hint_recovery.py` with focused continuity regressions."
7
+
"Example bullet: primary code path touched.",
8
+
"Example bullet: tests or fixtures added."
10
9
],
11
10
"semantics_non_goals": [
12
-
"No LC3 MCP surface changes in this PR.",
13
-
"No broad LC1 schema redesign beyond consuming existing `Client` rows."
Copy file name to clipboardExpand all lines: .cursor/skills/propose/examples.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,7 +77,7 @@ Add a first-class outbound declaration surface:
77
77
78
78
## PR body (proposal-only) template
79
79
## What
80
-
Adds `propose/completed/LIST-CLIENTS-MCP-TOOL-PROPOSE.md` describing outbound client declarations and a new `list_clients`MCP tool.
80
+
Adds `propose/completed/<TOPIC>-PROPOSE.md`(this sample used the list-clients topic) describing outbound client declarations and a new MCP tool surface.
81
81
82
82
## Why now
83
83
Outbound declaration discovery needs a first-class tool after direction-honest annotation reshaping.
CLI ops (`java-codebase-rag --help`), and "Re-index required" callouts.
13
13
**`ontology_version` is currently 12** (HTTP brownfield rename + `CodebaseHttpMethod` enum + inbound HTTP layer-C replace; see README graph section).
14
-
-[`docs/JAVA-CODEBASE-RAG-CLI.md`](./docs/JAVA-CODEBASE-RAG-CLI.md) — operator guide for the `java-codebase-rag` CLI (`init` / `increment` / `reprocess` / `erase`, `meta`, `tables`, `diagnose-ignore`, `analyze-pr`; one-release hidden verb alias of`reprocess` with stderr deprecation only — see that doc).
14
+
-[`docs/JAVA-CODEBASE-RAG-CLI.md`](./docs/JAVA-CODEBASE-RAG-CLI.md) — operator guide for the `java-codebase-rag` CLI (`init` / `increment` / `reprocess` / `erase`, `meta`, `tables`, `diagnose-ignore`, `analyze-pr`; hidden `refresh` alias →`reprocess` — see that doc).
15
15
-`CODEBASE_REQUIREMENTS.md` — Java-repo assumptions and tuning map.
16
-
-`propose/` and `plans/` (plus their `completed/` subdirs) —
17
-
in-flight scope and the rationale behind current design.
18
-
- Active proposes: `TIER2-INCREMENTAL-REBUILD-PROPOSE.md` (Kuzu
Copy file name to clipboardExpand all lines: README.md
+4-25Lines changed: 4 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ The system extracts a deterministic property graph from Java source (tree-sitter
15
15
16
16
For the design rationale, the GPS metaphor, and the full ontology, see [`docs/paper/paper.pdf`](./docs/paper/paper.pdf) (architecture report).
17
17
18
-
> **Stability disclaimer.** This repo does **not** promise backward compatibility. MCP tool contracts, env vars, Lance/Kuzu schemas, config files, and Python APIs may change without a deprecation period. Track `main` and re-index when the docs say to.
18
+
> **Stability disclaimer.** This repo does **not** promise backward compatibility. MCP tool contracts, env vars, Lance/Kuzu schemas, config files, and Python APIs may change without a deprecation period. Track `main` and rebuild indexes when ontology or embedding settings change (see [§6 Graph layer](#6-graph-layer)).
19
19
20
20
---
21
21
@@ -65,24 +65,7 @@ The operator-facing surface is **five** variables (plus MCP-only `JAVA_CODEBASE_
65
65
66
66
Only the names in the table above (plus `JAVA_CODEBASE_RAG_SOURCE_ROOT` for MCP hosts) are read as configuration. Project config belongs in **`.java-codebase-rag.yml`** (or `.yaml`).
67
67
68
-
### On-disk layout migration
69
-
70
-
If you still have paths or files from older layout conventions:
71
-
72
-
```bash
73
-
# Default index directory (when you intend to keep the same data)
74
-
mv lancedb_data .java-codebase-rag
75
-
76
-
# Project YAML (only `.java-codebase-rag.yml` / `.yaml` are loaded)
# Layered ignore directory (same gitignore-style rules; new location only)
81
-
mkdir -p .java-codebase-rag
82
-
mv .lancedb-mcp/ignore .java-codebase-rag/ignore # if you had a project-level ignore file
83
-
```
84
-
85
-
**Where things live today** (for scripts and operators):
68
+
**Paths and conventions** (for scripts and operators):
86
69
87
70
-**`JAVA_CODEBASE_RAG_INDEX_DIR`** — filesystem path to the index directory (not a URI). Lance opens this directory; Kuzu is always `<index-dir>/code_graph.kuzu`; cocoindex keeps **`cocoindex.db`** next to them.
88
71
-**Java tree root** — CLI: `--source-root` (else cwd). MCP stdio: set `JAVA_CODEBASE_RAG_SOURCE_ROOT` when the Java repo root differs from the server process cwd.
@@ -91,13 +74,9 @@ mv .lancedb-mcp/ignore .java-codebase-rag/ignore # if you had a project-level
**Operator note:** the hidden CLI verb **`refresh`** invokes **`reprocess`** and prints a one-line stderr deprecation; call **`reprocess`** in new scripts.
95
-
96
-
If an old on-disk index folder is wasting space, relocate or delete it after your data lives under `.java-codebase-rag/` (some installs used a top-level directory named `lancedb_data`).
A single file at the project root (the directory you pass as `--source-root`, or cwd) holds everything that isn't an environment variable. The two accepted filenames are `.java-codebase-rag.yml` and `.java-codebase-rag.yaml`; if both exist, `.yml` wins. Legacy `.lancedb-mcp.yml` is no longer read.
79
+
A single file at the project root (the directory you pass as `--source-root`, or cwd) holds everything that isn't an environment variable. The two accepted filenames are `.java-codebase-rag.yml` and `.java-codebase-rag.yaml`; if both exist, `.yml` wins.
101
80
102
81
**All keys are optional.** A project with no YAML at all uses built-in defaults plus env vars. Add only the keys you need.
103
82
@@ -300,7 +279,7 @@ Shared flags on all subcommands: `--source-root`, `--index-dir`, `--embedding-mo
0 commit comments