# Tacit > Voice-authored, source-bound, versioned project knowledge for humans and coding agents. Maintainers explain why code works the way it does; Tacit binds the explanation to exact files and a pushed commit, publishes it only after explicit human confirmation, and serves it read-only to teammates and coding agents (CLI and MCP). Code shows what a system does, but not why. The reasoning behind a rule, like "a job result can only be published while the worker still holds a valid lease", usually lives in someone's head, an old chat thread, or a PR comment nobody can find. New teammates have to ask around, and coding agents just guess from the code, which is how they confidently break rules nobody wrote down. Tacit gives that reasoning a proper home. A maintainer explains intent out loud (or in text), Tacit ties it to the exact files and commit it's about, and after a human reviews and confirms it, it becomes versioned knowledge that learners and coding agents can query later. Agents can read it but never write it. Key facts: - Self-hosted and open source: https://github.com/nexxucc/Tacit. Python 3.12-3.14, PostgreSQL, a GitHub App; no hosted service yet. - Agents are always read-only. MCP exposes six tools: list_workspaces, list_repositories, get_context, ask_repository, evaluate_scenario, get_decision_history. - Exact reads make zero speech or model calls. Typed rules (scheduler-v1) evaluate to permitted, forbidden, unknown or conflict. - Optional providers: Gnani Prisma (speech-to-text), Evon (grounded reasoning), Gnani Timbre (speech). Keys stay on the backend. ## Docs - [README.md](https://github.com/nexxucc/Tacit/blob/main/README.md) - [SYSTEM_DESIGN.md](https://github.com/nexxucc/Tacit/blob/main/SYSTEM_DESIGN.md) - [GETTING_STARTED.md](https://github.com/nexxucc/Tacit/blob/main/GETTING_STARTED.md) - [PLATFORM_SETUP.md](https://github.com/nexxucc/Tacit/blob/main/PLATFORM_SETUP.md) - [TEACHING.md](https://github.com/nexxucc/Tacit/blob/main/TEACHING.md) - [VOICE.md](https://github.com/nexxucc/Tacit/blob/main/VOICE.md) - [ACCESS_AND_APPROVALS.md](https://github.com/nexxucc/Tacit/blob/main/ACCESS_AND_APPROVALS.md) - [EDITOR_INTEGRATION.md](https://github.com/nexxucc/Tacit/blob/main/EDITOR_INTEGRATION.md) - [MCP.md](https://github.com/nexxucc/Tacit/blob/main/MCP.md) - [SNAPSHOTS_AND_OFFLINE.md](https://github.com/nexxucc/Tacit/blob/main/SNAPSHOTS_AND_OFFLINE.md) - [DEPLOYMENT.md](https://github.com/nexxucc/Tacit/blob/main/DEPLOYMENT.md) - [VERIFICATION.md](https://github.com/nexxucc/Tacit/blob/main/VERIFICATION.md) - [protocol-compatibility.md](https://github.com/nexxucc/Tacit/blob/main/protocol-compatibility.md) ## Full text - [llms-full.txt](/llms-full.txt): the guides above concatenated