{"id":50614288,"url":"https://github.com/algodesigner/codeloom","last_synced_at":"2026-06-06T07:00:54.428Z","repository":{"id":358206529,"uuid":"1240477265","full_name":"algodesigner/codeloom","owner":"algodesigner","description":"Your AI agent's map of the codebase. Local-first, hybrid-search code graph for 17+ laguages. MCP sever included. 100% private.","archived":false,"fork":false,"pushed_at":"2026-06-06T02:41:06.000Z","size":786,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-06T04:13:03.993Z","etag":null,"topics":["agent-tools","ai-coding-agents","ai-tools","code-analysis","code-graph","code-intelligence","code-search","graphing","hybrid-search","knowledge-graph","local-first","machine-learning","mcp-server","mode-context-protocol","privacy-first","python","static-analysis","tree-sitter","vector-search"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/algodesigner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-16T07:13:59.000Z","updated_at":"2026-06-06T02:22:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/algodesigner/codeloom","commit_stats":null,"previous_names":["algodesigner/codeloom"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/algodesigner/codeloom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algodesigner%2Fcodeloom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algodesigner%2Fcodeloom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algodesigner%2Fcodeloom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algodesigner%2Fcodeloom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/algodesigner","download_url":"https://codeload.github.com/algodesigner/codeloom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algodesigner%2Fcodeloom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33972398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-06T02:00:07.033Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-tools","ai-coding-agents","ai-tools","code-analysis","code-graph","code-intelligence","code-search","graphing","hybrid-search","knowledge-graph","local-first","machine-learning","mcp-server","mode-context-protocol","privacy-first","python","static-analysis","tree-sitter","vector-search"],"created_at":"2026-06-06T07:00:53.309Z","updated_at":"2026-06-06T07:00:54.410Z","avatar_url":"https://github.com/algodesigner.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003ch1 align=\"center\"\u003ecodeloom\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    \"With codeloom, your coding agent knows what to read.\"\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/algodesigner/codeloom/actions\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/algodesigner/codeloom/ci.yml?branch=main\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/codeloom/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/codeloom?cache_bust=2\" alt=\"PyPI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/algodesigner/codeloom/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/algodesigner/codeloom?cache_bust=2\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/python-3.10%2B-blue\" alt=\"Python 3.10+\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-green\" alt=\"MIT\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/codeloom.jpeg\" alt=\"codeloom visualization\" width=\"800\"\u003e\n\u003c/p\u003e\n\n---\n\nAI coding agents are powerful but fundamentally blind to your codebase structure. When your agent edits `validate_token()`, it has no idea that 47 callers depend on its return type. When it searches for \"database connection\", it greps blindly through every file. Without a code graph, your agent works like a surgeon operating without an X-ray, skilled but guessing at what's inside.\n\n**codeloom** builds a queryable code graph from your entire codebase — extracting structure from **55 languages and formats**, every function, class, import, call, and document — and exposes it to your AI agent. One install, and your agent stops grepping and starts understanding.\n\n## Quick Start\n\n```bash\npip install codeloom\n\ncd your-project/\ncodeloom opencode install    # for OpenCode\n# or: codeloom claude install  # for Claude Code\n```\n\nThen tell your agent:\n\n\u003e \"Build a code graph for this project\"\n\nThat's it. The graph auto-rebuilds when your session ends. No extra tokens, no extra commands, everything runs 100% locally.\n\n---\n\n## What Changes\n\n| Before (grep) | After (codeloom) |\n|---|---|\n| Finds exact strings, misses semantic connections | Finds conceptually related code via vector + keyword + graph |\n| Returns a flat list of file matches | Returns seeds **plus a subgraph** showing how they connect |\n| No way to know what depends on what | `codeloom impact \"validate_token\"`, finds all 47 callers instantly |\n| Agent operates blind, guesses at relationships | Agent sees the full picture before making edits |\n\nEvery search returns results like this:\n\n```\nseeds:\ncodeloom/core/pipeline.py:71\n  │ def run_pipeline(source_dir: Path, ...) -\u003e PipelineResult:\n  │     \"\"\"Run the full code graph build pipeline.\"\"\"\nstorage/store.py:20\n  │ class KnowledgeStore:\n\nedges:\ncodeloom/core/pipeline.py:71 -calls-\u003e storage/store.py:20\ncodeloom/core/pipeline.py:0 -defines-\u003e codeloom/core/pipeline.py:71\n```\n\nSeeds tell you *where* relevant code lives. Edges tell you *how it connects*. Together they give your agent the full picture, no separate Read calls needed.\n\n---\n\n## 15 MCP Tools at a Glance\n\nThree categories, one MCP server.\n\n### Search\n| Tool | What it does |\n|------|-------------|\n| `search` | 5-signal HybridRAG, vector + keyword + graph + community fused into one ranking |\n| `search_keyword` | FTS5 keyword-only (BM25), instant results for known names |\n| `search_vector` | Semantic vector-only, finds conceptually similar code |\n\n### Analysis\n| Tool | What it does |\n|------|-------------|\n| `impact` | Blast radius, every caller that depends on a symbol |\n| `dependencies` | Upstream deps, what a symbol needs to function |\n| `context` | 360-degree view of a symbol, metadata, community, all edges, source snippet |\n| `detect_changes` | Map unstaged git changes to affected graph nodes |\n| `explain_flow` | Trace execution path through call chains |\n| `stats` | Node/edge counts, kind distribution, god nodes |\n| `communities` | Browse functional clusters (Leiden communities) |\n| `node` | Details on a specific symbol with fuzzy name matching |\n\n### Refactoring \u0026 Admin\n| Tool | What it does |\n|------|-------------|\n| `rename` | Find every location and reference for safe multi-file rename |\n| `export_subgraph` | Export focused subgraph around a symbol as D3.js JSON |\n| `list_repos` | List available code graphs with staleness status |\n| `build` | Build or rebuild the code graph |\n\nAll tools are available via MCP (stdin/stdout), no HTTP server, no network, no configuration.\n\n---\n\n## Languages \u0026 Formats\n\n### Structural extraction (functions, classes, calls, imports)\n\nFull tree-sitter tags.scm-based resolution for 17+ core languages. All 55 languages get module-level indexing, source snippets, and embeddings — structural detail depends on optional `tree-sitter-\u003clang\u003e` packages.\n\n| | | | | | | | |\n|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|\n| Ada | C | C# | C++ | Common Lisp | Elixir | Fortran | Go |\n| Groovy | Haskell | Java | JavaScript | Julia | Kotlin | Lua | Nix |\n| Objective-C | OCaml | Perl | PHP | PowerShell | Python | R | Ruby |\n| Rust | Scala | Shell | Solidity | Swift | Terraform | TypeScript | Zig |\n\n### Document \u0026 config extraction\n\n| | | | | | |\n|:---:|:---:|:---:|:---:|:---:|:---:|\n| CMake | CSV | CSS | DjVu | Dockerfile | DOCX |\n| GraphQL | HCL | HTML | JSON | Make | Markdown |\n| ODP | ODS | ODT | Org | PDF | RST |\n| SQL | TOML | XLSX | XML | YAML | |\n\nPlus **100+ natural languages** for search queries via multilingual-e5-small embeddings. Search in any language, find results in any language.\n\n---\n\n## AI Agent Integrations\n\nOne command per platform:\n\n| Agent | Install |\n|-------|---------|\n| **Claude Code** | `codeloom claude install` |\n| **OpenCode** | `codeloom opencode install` |\n| **Codex CLI** | `codeloom codex install` |\n| **Gemini CLI** | `codeloom gemini install` |\n| **Cursor IDE** | `codeloom cursor install` |\n| **Windsurf IDE** | `codeloom windsurf install` |\n| **Cline** | `codeloom cline install` |\n| **Aider CLI** | `codeloom aider install` |\n| **Any MCP client** | `claude mcp add codeloom -- codeloom mcp` |\n\nEach `install` writes context rules and registers hooks where supported. For OpenCode, it also installs a plugin that **automatically injects graph context before grep/glob calls**, your agent gets results without having to ask. Remove with `codeloom \u003cplatform\u003e uninstall`.\n\n---\n\n## Features\n\n### Search Before Grepping\n5-signal HybridRAG fuses code vector search, text vector search, graph expansion, FTS5 keyword, and community signals into one ranked result set with subgraph edges. `--kind`, `--file`, and `--include-tests` filters narrow results without re-running.\n\n### Edit With Confidence\nRun `impact` before editing to find every caller. Run `context` for a full symbol overview, community, all relationships, source snippet. Run `detect_changes` after edits to see which nodes are affected.\n\n### Auto-Context (OpenCode)\nThe OpenCode plugin hooks into grep/glob calls, runs `codeloom search` with the query, and injects results directly into the agent's session, graph context appears automatically, no explicit invocation needed.\n\n### Auto-Rebuild\nStop/SessionEnd hooks detect changed files via `git diff` and trigger an incremental rebuild. Lock files prevent concurrent rebuilds. Zero manual intervention, the graph stays fresh after every session.\n\n### Incremental \u0026 Fast\nSHA-256 content hashing skips unchanged files. Hot-start PageRank reuses previous importance scores. Typical incremental build: **~0.4s for no changes, ~4s for changes**, 95%+ faster than a full rebuild.\n\n### 100% Local + MIT\nNo cloud services, no API keys, no telemetry. SQLite + FAISS for storage, sentence-transformers for embeddings. All data stays on your machine. MIT licence, no commercial restrictions, no licensing friction.\n\n---\n\n## Performance\n\nBenchmarks on codeloom's own codebase (~3,500 lines, 90 files, 1,300 nodes):\n\n| Operation | Time |\n|-----------|------|\n| Full build | ~14s |\n| Incremental (changes) | ~4s |\n| Incremental (no changes) | ~0.4s |\n| Cold search (dual model) | ~2.8s |\n| Cold search (`--fast`) | ~0.2s |\n| Warm search | ~0.08s |\n| Cached search | \u003c1ms |\n\n- **Embedding models**: ~180MB, downloaded once to `~/.codeloom/models/`\n- **Database**: ~2MB (SQLite + FTS5 + FAISS indices)\n\n---\n\n## Full CLI Reference\n\nAll commands output compact text by default (designed for AI agent consumption).\n\n### CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `build \u003cdir\u003e` | Build code graph (`--incremental`, `--git`) |\n| `watch \u003cdir\u003e` | Real-time file system monitor |\n| `search \u003cquery\u003e` | 5-signal HybridRAG with subgraph + snippets |\n| `search-keyword \u003cquery\u003e` | FTS5 keyword matching only |\n| `search-vector \u003cquery\u003e` | Vector similarity only |\n| `search-graph \u003cquery\u003e` | Graph expansion only (BFS from vector seeds) |\n| `search-community \u003cquery\u003e` | Community cluster matching only |\n| `stats` | Graph statistics |\n| `node \u003cid\u003e` | Node details with fuzzy matching |\n| `communities` | List or search communities |\n| `query` | Interactive search REPL |\n| `export` | Export as JSON, GraphML, or D3.js |\n| `visualize` | Interactive HTML visualization |\n| `setup [platform]` | One-step setup for all detected agents |\n| `uninstall [platform]` | Remove integration for a given platform |\n| `doctor` | Check installation health |\n| `clean` | Remove `.codeloom/` database |\n| `mcp` | Start MCP server |\n| `\u003cplatform\u003e install\\|uninstall` | Manage agent integration |\n\n### MCP-Only Tools\n\nThese are available via `codeloom mcp` — see the [MCP tools section](#15-mcp-tools-at-a-glance) above:\n\n`impact` · `dependencies` · `context` · `detect_changes` · `rename` · `explain_flow` · `export_subgraph` · `list_repos`\n\n---\n\n## Requirements\n\n- Python 3.10+\n- ~180MB disk for embedding models (cached on first use)\n\n```bash\n# Optional: PDF, DOCX, XLSX, ODF extraction\npip install codeloom[docs]\n```\n\n## Development\n\n```bash\npip install -e \".[dev]\"\npytest\nruff check codeloom/\n```\n\n## License\n\nMIT License. See [LICENSE](LICENSE) for details.\n\n## Contributing\n\nContributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgodesigner%2Fcodeloom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falgodesigner%2Fcodeloom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgodesigner%2Fcodeloom/lists"}