Imported from Dhruvmehta18/archon (
AGENTS.md). Install upstream withnpx skills add Dhruvmehta18/archon. Copyright stays with the author.
Learned User Preferences
- Prefer NetworkX over Neo4j for graph storage — JSON-native, easier to pass as LLM context
- Prefer grep/pattern-based indexing over language-specific AST parsers for language-agnostic exploration
- Validate with cloud APIs (Gemini/OpenAI) first, then use local Ollama models
- Prefer low-cost best-for-job models: Gemini Flash for extraction, Ollama for embeddings
- Only true statements — distinguish Archon-generated answers from agent analysis; cross-verify claims against source code when accuracy matters
- Run experiments in separate git branches; store experiment results in the learnings/ folder
- Fix issues at the root cause, not the symptom (e.g. fix LiteLLM debug noise at source, not suppress it)
- Commit in logical parts (chore/feat/fix), not single large commits
- Use directory name as canonical service name, not artifact/internal names (e.g. dmoney not jarvis)
- Architecture evaluation should use architecture-level facts (service boundaries, integrations), not implementation-level keywords
- Vector store behind an abstraction so backend can be swapped without architecture change
- Nested subdirectories with service markers (e.g. faq_test, config_test) should not be treated as separate services
Learned Workspace Facts
- Archon is a Python CLI tool using Graph-RAG with architecture extraction, not plain RAG
- Tech stack: NetworkX (graph), ChromaDB/sqlite-vec (vectors), LiteLLM + Instructor (LLM), Typer (CLI)
- Map-Reduce LLM pipeline for architecture extraction with Pydantic models for structured output
- File prioritization tiers: infra > controllers > configs > events > domain
- Primary test codebase: dmoney-lending at ~/IdeaProjects/dmoney-lending (Java, Vert.x, Guice, RxJava, MySQL, Redis)
- Default Ollama models: qwen2.5-coder:14b (completion), mxbai-embed-large (embeddings); Gemini 2.5 Flash for cloud
- User has M4 MacBook with 36GB RAM, 1TB disk
- dmoney and dmoney-crm-backend are separate repos in ~/IdeaProjects
- Usage statistics stored in archon.usage.json; exposed via archon usage CLI and GET /api/usage
- Archon's differentiator is cross-repo service topology and PR blast-radius analysis, not single-repo code Q&A
- Competitors: Glean (enterprise docs/knowledge), Unblocked (context layer for AI dev), Cursor (codebase indexing), Augment Code (codebase context)
- Embedding experiment proved mxbai-embed-large + top_k=20 is optimal; snowflake-arctic-embed unsuitable for code
- Project goal is learning-first with business as secondary upside; multi-repo topology chosen as next direction