Zero-token polyglot codebase knowledge graph generator
Project description
ReadMenator
A token-free, offline, production-grade polyglot codebase knowledge graph generator.
No LLMs. No tokens. No cloud costs. Pure static analysis via AST + regex.
Stop uploading proprietary code to the cloud just to understand it. ReadMenator builds production-grade codebase knowledge graphs 100% offline—with zero LLMs, zero token costs, and absolute data privacy.
Supported Languages (13)
C, C++, Python, Go, Rust, JavaScript, TypeScript, Java, C#, Shell, PHP, Dart, GDScript, Nim, Assembly.
Accelerate developer onboarding without compromising your security. ReadMenator uses pure static analysis to map architectures and trace dependencies locally, giving you a complete codebase knowledge base for free.
Tired of burning LLM tokens to navigate legacy code? ReadMenator generates full Mermaid dependency graphs and answers architectural queries right from your terminal, completely offline and with zero cloud costs.
Installation
pip install .
Or run directly:
python -m readmenator /path/to/project
Usage
Generate knowledge base
python -m readmenator /path/to/project
Creates KNOWLEDGE_BASE.md in the project root with a Mermaid dependency graph and full architecture reference.
Force regeneration
python -m readmenator /path/to/project --rebuild
Query the knowledge base
python -m readmenator /path/to/project query "What classes handle HTTP?"
Explain a symbol
python -m readmenator /path/to/project explain Database
Trace dependency path
python -m readmenator /path/to/project path SymbolA SymbolB
Show summary
python -m readmenator /path/to/project summary
Run tests
python -m readmenator --test
Backward Compatibility
The existing readmenator.py wrapper preserves the original CLI interface:
python readmenator.py /path/to/project
python readmenator.py --test
Architecture
ReadMenator follows a contract-based design with strict separation of concerns:
| Contract | File | Responsibility |
|---|---|---|
| Config | _config.py |
Immutable centralized configuration |
| Models | _models.py |
Symbol, Node, Edge data types |
| Parsers | _parsers.py |
13 language parsers + factory (Strategy pattern) |
| Scanner | _scanner.py |
Secure directory walking and file processing |
| Mermaid | _mermaid.py |
Mermaid graph rendering |
| Documentation | _documentation.py |
KNOWLEDGE_BASE.md generation |
| Query | _query.py |
Interactive query/explain/path engine |
| Application | _app.py |
Application orchestrator |
| CLI | __main__.py |
CLI entry point and argument dispatch |
Security
- Symlinks are rejected
- File size capped at 10 MB
- Directory depth limited to 20
- Binary/unreadable files are silently skipped
- No absolute paths in code; no external network calls
- All exceptions during parsing are caught
Self-Documentation
This repository is documented using ReadMenator itself. See KNOWLEDGE_BASE.md -- the tool analyzing its own codebase.
License
AGPL-3.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file readmenator-1.0.0.tar.gz.
File metadata
- Download URL: readmenator-1.0.0.tar.gz
- Upload date:
- Size: 41.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5417801e293e392270f1b5a0676f4d0b354bac06566c623a10f60ca675c98201
|
|
| MD5 |
9b8015a64691ebb23d3495281bc984a2
|
|
| BLAKE2b-256 |
4382024ea9126368b539b59ecaa6eb730f9ef621c6ecaf6a80e76d8dd75954f8
|
File details
Details for the file readmenator-1.0.0-py3-none-any.whl.
File metadata
- Download URL: readmenator-1.0.0-py3-none-any.whl
- Upload date:
- Size: 34.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8796fe8d6fdea3964e9185f4adfabc2a5c0093f6bbe93763d58f4b054362fc7d
|
|
| MD5 |
92cb5eaf2430607217109791277d7a30
|
|
| BLAKE2b-256 |
da5c0e51639e1a82587faac85a476b9c337573bad2ee9424493db0a524b6f59a
|