docs: pip-first README + new docs/CONFIGURATION.md#208
Conversation
The previous README (785 lines) doubled as the PyPI long_description AND the full operator manual. With v0.1.0 on PyPI, newcomers landing on the PyPI page or GitHub README first saw a 'cd /path; venv; pip install -r requirements.txt' block that contradicted the 'pip install' they just ran, then a wall of YAML, brownfield overrides, and graph ontology before they had indexed anything. This PR rewrites README.md as a pip-first landing page (~185 lines) and moves reference content to docs/CONFIGURATION.md (~582 lines). README.md (new structure): - Intro (kept verbatim — sets correct GPS-not-reasoning-engine expectations) - Install: 'pip install java-codebase-rag' as the headline - 5-minute walkthrough on tests/bank-chat-system: init, meta, python -m search_lancedb (proves Lance), then --graph-expand (proves Kuzu) - Wire to Claude Code / Claude Desktop using the new 'java-codebase-rag-mcp' console script (no .venv/server.py paths) - Five-tool cheat sheet (required args only — full schemas in AGENT-GUIDE) - Configuration: 6-row pointer table into docs/CONFIGURATION.md sections - CLI cheat sheet (subcommand groups, deeper detail in JAVA-CODEBASE-RAG-CLI.md) - Further reading - Install from source (contributors) — demoted from the headline - Roadmap docs/CONFIGURATION.md (new file, 582 lines): - §1 Environment variables - §2 Project YAML reference (full annotated example) - §3 Graph layer (node kinds, edges, call-graph notes, injection, chunk enrichment, module vs microservice, re-index callouts for ontology 12-15, capabilities, ranking, context-debugging) - §4 Brownfield overrides (config, cross-service resolution, source stubs, caller-side, limitations, Lance/Kuzu consistency) - §5 Ignore patterns Cross-reference fixes: - mcp.json.example: lead with 'java-codebase-rag-mcp' console script (was '/ABSOLUTE/PATH/TO/.venv/bin/python server.py') - AGENTS.md: 'where to look' bullet for README rewritten + new CONFIGURATION.md bullet - CODEBASE_REQUIREMENTS.md: 4 'see README' / 'see README §3a/b/c' refs retargeted to docs/CONFIGURATION.md sections - docs/AGENT-GUIDE.md: maintenance rules updated (re-index callout now lives in docs/CONFIGURATION.md §3, not README) - docs/MANUAL-VERIFICATION-CHECKLIST.md: 'see README CLI reference' retargeted to docs/JAVA-CODEBASE-RAG-CLI.md Content shrinkage: README 785 -> 185 lines (76% reduction). Total content roughly preserved; CONFIGURATION.md inherits §2/§6/§7/§8 and the YAML reference from §1. No code changes. No test changes. PyPI long_description (readme = 'README.md' in pyproject.toml) automatically picks up the new landing on next release.
Review: pip-first README + CONFIGURATION.mdClean docs refactor — content is faithfully migrated, cross-references are consistent, and the new README hits the right depth for a PyPI landing page. A few items worth confirming before merge: Worth checking
Minor nits (non-blocking)
Otherwise looks good — ship-ready after the two checks above. |
|
Thanks for the careful read. Checked all four items: 1. Hints contract — already in AGENT-GUIDE.md ✅Not orphaned.
The old README §4 paragraph was a duplicate of what AGENT-GUIDE already owned. The propose-doc pointers ( 2.
|
Source-build contributors lost this implicit info when the long-form env-var table moved into docs/CONFIGURATION.md. One-line pointer keeps them oriented without re-inlining the full reference. Addresses review feedback on #208.
|
All four items resolved — LGTM, ready to merge.
Ship it. |
Motivation
We just shipped
java-codebase-ragto PyPI as v0.1.0 (PR #205). That makes the README the package'slong_description— the first thing a newcomer sees on https://pypi.org/project/java-codebase-rag/ before they decide whether topip install.The old README was a 785-line operator manual. It led with "Install from source:
git clone ... && pip install -e ." even though the package is now on PyPI, and required scrolling through six sections of env vars, graph layer internals, brownfield mode, and ignore-pattern semantics before reaching anything resembling a quickstart. Great as a reference once you're already onboarded; intimidating as a landing page.What changes
README.md: 785 → 185 lines. Rewritten as a pip-first landing:pip install java-codebase-rag+ Python 3.11+ + early-stage disclaimertests/bank-chat-systemfixture),java-codebase-rag init,meta,python -m search_lancedbfor vector search, then--graph-expandto prove Kuzu is wiredjava-codebase-rag-mcpconsole script, plus Claude Desktop inline JSONsearch/find/describe/resolve/neighborswith required args onlydocs/CONFIGURATION.md§1–§5 +CODEBASE_REQUIREMENTS.mddocs/CONFIGURATION.md(new, 582 lines) absorbs the long-form material that used to live inREADME.md§2/§6/§7/§8:.java-codebase-rag.yml, path expansion, gotchas)mcp.json.example: leads with"command": "java-codebase-rag-mcp"(the console script entry point frompyproject.toml) instead of the old/ABSOLUTE/PATH/.venv/bin/python server.pyinvocation.Cross-ref sweep
Fixed every stale README anchor that survived the rewrite:
AGENTS.md— "where to look" bullets retargetedCODEBASE_REQUIREMENTS.md— 4 refs (README §3a/b/c, "see README graph section") retargeted todocs/CONFIGURATION.md §3/ §4.3docs/AGENT-GUIDE.md— maintenance re-index callout retargeteddocs/MANUAL-VERIFICATION-CHECKLIST.md— "see README CLI reference" →JAVA-CODEBASE-RAG-CLI.mdHistorical refs in
propose/completed/andplans/completed/are intentionally left alone (out of scope, snapshots of past state).What this does NOT touch
src/,server.py, CLI behaviour, build, tests — all untouched).pyproject.tomlchange. The next PyPI release will pick up the newlong_descriptionautomatically.docs/skills/java-codebase-explore.md:208(says ontology 14, actual is 15) is out of scope for this PR.Verification
README.mdresolve.docs/CONFIGURATION.mdresolve.pyproject.tomlentry points (no fictionalmcpsubcommand;python -m search_lancedbworks becausesearch_lancedbis a top-level py-module shipped in the wheel).Draft for now — happy to take review on framing, table shapes, and whether the 5-minute walkthrough hits the right depth.