Metadata-Version: 2.4
Name: docodex
Version: 0.1.0
Summary: A Python library that compiles scattered docs into a unified knowledge base using LLMs. Crawls multiple documentation sources and synthesizes them into a single coherent reference — no matter where your docs live.
Author: Rohit Sharma
License: MIT
Keywords: compilation,documentation,knowledge-base,llm,markdown,wiki
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing :: Markup :: Markdown
Requires-Python: >=3.12
Requires-Dist: aiofiles<24.0.0,>=23.0.0
Requires-Dist: aiohttp[speedups]<4.0.0,>=3.9.0
Requires-Dist: anthropic<1.0.0,>=0.18.0
Requires-Dist: gitpython<4.0.0,>=3.1.0
Requires-Dist: openai<2.0.0,>=1.0.0
Requires-Dist: pydantic-settings<3.0.0,>=2.0.0
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: python-dotenv<2.0.0,>=1.0.0
Requires-Dist: python-frontmatter<2.0.0,>=1.0.0
Requires-Dist: pyyaml<7.0,>=6.0
Requires-Dist: rich<14.0.0,>=13.0.0
Requires-Dist: tenacity<9.0.0,>=8.0.0
Provides-Extra: azure
Requires-Dist: azure-devops<8.0.0,>=7.0.0; extra == 'azure'
Provides-Extra: dev
Requires-Dist: black<25.0.0,>=23.0.0; extra == 'dev'
Requires-Dist: isort<6.0.0,>=5.12.0; extra == 'dev'
Requires-Dist: mypy<2.0.0,>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio<1.0.0,>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov<5.0.0,>=4.0.0; extra == 'dev'
Requires-Dist: pytest<8.0.0,>=7.0.0; extra == 'dev'
Requires-Dist: ruff<1.0.0,>=0.1.0; extra == 'dev'
Requires-Dist: safety<4.0.0,>=2.0.0; extra == 'dev'
Requires-Dist: types-aiofiles>=23.0.0; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
Provides-Extra: visualization
Requires-Dist: jinja2<4.0.0,>=3.1.0; extra == 'visualization'
Requires-Dist: matplotlib<4.0.0,>=3.7.0; extra == 'visualization'
Requires-Dist: networkx<4.0.0,>=3.0.0; extra == 'visualization'
Description-Content-Type: text/markdown

# Docodex

**An LLM-powered library that compiles scattered documentation into a unified, queryable knowledge base.**

Inspired by Andrej Karpathy's approach to building personal knowledge bases with LLMs.

## What It Does

```
Raw docs (GitHub, Azure Wiki, local files)
    ↓
Ingest → Extract & Store
    ↓
Compile → LLM generates summaries, concepts, relationships
    ↓
Wiki (markdown files in Git)
    ↓
Visualize → Graphs, timelines, clusters
```

## Philosophy

- **Simple & Transparent**: Human-readable markdown, not opaque databases
- **Git-Native**: Version control for your knowledge
- **LLM as Compiler**: AI extracts and organizes, humans review
- **No Vector DB**: LLM-maintained indexes beat RAG at this scale (100-10K docs)
- **Compounding Intelligence**: Every query enhances the wiki

## Architecture

Clean Architecture with SOLID principles:
- **Domain Layer**: Entities, protocols
- **Application Layer**: Use cases (Ingest, Compile, Visualize)
- **Infrastructure Layer**: Adapters (GitHub, Azure Wiki), LLM providers

## Phase 1 Goals

✅ Ingest from GitHub repos, Azure Wiki, local files  
✅ LLM compilation (summaries, concepts, relationships, timelines)  
✅ Git-based storage (markdown with YAML frontmatter)  
✅ Visualizations (knowledge graph, timeline, clusters)  
✅ Incremental updates (only recompile changed docs)  
✅ View in Obsidian or any markdown viewer  

## Project Structure

```
docodex/
├── .claude/              # Claude Code context and skills
├── docs/                 # Architecture and design docs
├── src/docodex/      # Main library code
├── tests/                # Test suite
└── examples/             # Usage examples
```

## Getting Started

See [QUICK_START.md](docs/QUICK_START.md) for development setup.

## Documentation

- [Architecture Overview](docs/ARCHITECTURE.md)
- [Domain Models](docs/DOMAIN_MODELS.md)
- [Protocols & Interfaces](docs/PROTOCOLS.md)
- [Use Cases](docs/USE_CASES.md)
- [Design Decisions](docs/DESIGN_DECISIONS.md)

## Tech Stack

- Python 3.11+
- Pydantic v2 for models/DTOs
- Anthropic SDK (with adapters for other LLMs)
- Git for storage
- Markdown + YAML frontmatter

## License

MIT

## Author

Rohit

---

**Note**: This project uses AI assistance for development, but all code, commits, and releases are authored solely by the human developer.
