Zenbukko is a local course archive and study-material processing toolkit. It downloads accessible NNN course lessons and materials, can transcribe media with whisper.cpp, and can extract text from PDFs into Markdown.
Documentation lives in docs/. Start there for architecture, usage, feature behavior, API contracts, and development rules.
npm install
npm run type-check
npm run lint
npm test
docker compose config
docker compose build zenbukko-api zenbukko-web- CLI:
zenbukko auth,zenbukko list-courses,zenbukko download,zenbukko download-all,zenbukko ocr-materials,zenbukko build-report-prompt,zenbukko setup-whisper,zenbukko transcribe. - Servers:
zenbukko apifor Core API andzenbukko webfor static UI/proxy. - Web UI: run
zenbukko apiandzenbukko web, ordocker compose --profile cpu up zenbukko-web. - Docker data: bind
./datato/data; session defaults to/data/session.json; downloads default to/data/downloads.
docs/architecture/: module layout and data flow.docs/llm/: LLM-friendly index for cross-references and schema contracts.docs/usage/: CLI, web UI, Docker Compose, and outputs.docs/features/: sessions, chapter selection, materials, OCR, transcription, and report prompts.docs/decisions/: accepted behavior decisions.docs/reference/: configuration, API, file layout, troubleshooting.docs/development/: coding rules, tests, commits, verification.