File versioning system. Split files into editable chunks, track changes, rebuild.
pip install -e .Dev deps:
pip install -e ".[dev]"export MUNK_DATA_ROOT=munk_data
munk-api
# → http://localhost:8000munk-tuifrom munk.store import MunkStore
from munk.models import Source
from munk.chunker import chunkify
store = MunkStore("munk_data")
# Create source, chunkify, edit chunks, assemble...- Source: Immutable file snapshot. Never changes.
- Chunk: Mutable working unit derived from source. Edit these.
- Manifest: Reconstruction plan. Defines which chunks + order for export.
- Lock: Exclusive write access to a chunk.
See UBIQUITOUS_LANGUAGE.md for full domain glossary.
| Method | Path | Description |
|---|---|---|
| POST | /sources |
Create source |
| POST | /sources/{id}/chunkify |
Split source into chunks |
| GET | /chunks/{id} |
Get chunk |
| PATCH | /chunks/{id} |
Edit chunk |
| POST | /chunks/{id}/lock |
Lock chunk |
| POST | /chunks/{id}/unlock |
Unlock chunk |
| POST | /manifests/{id}/export |
Assemble + export |
pytest # Run tests
pytest --cov=munk # Coverage
bd list # View issues (beads tracker)munk/ # Core engine
├── models.py # Domain models
├── store.py # JSON file store
├── chunker.py # File → chunks
├── editor.py # Edit chunks
├── assembler.py # Chunks → file
├── api/ # FastAPI routes
tests/ # Test suite
tui/ # Textual TUI
web/ # Web frontend
MIT