Your team writes in plain Markdown. Your agents ask questions through an open protocol. Every answer traces back to the exact line it came from — so you, and whoever you're answering to, can see where each claim was sourced.
curl -fsSL https://files.anuna.io/zetl/latest/install.sh | bash
The AI in your wiki retrieves, paraphrases, and occasionally invents. You get plausible paragraphs with no trail back to what was actually written, by whom, or when.
Notion + an AI button that fabricates when it doesn't know and cites nothing.
A RAG pipeline that retrieves chunks and lets the LLM reason freely — plausible answers, no auditable trail.
An Obsidian vault your team can't share and your agents can't see.
A shared Markdown vault. Your team edits it collaboratively. No new format, no lock-in.
Answers with receipts. Every claim cites the file and line it came from. Click through and read the source.
Contradiction detection. When two pages disagree, zetl tells you — before your agent guesses.
A session over a vault of product decisions. Ask a question, see the sources, find the contradiction.
$ zetl links "release-candidate" title: Release Candidate backlinks: Cache · Scanner · Rust for CLI · ADR-003 outlinks: good-cli-tool · docs-updated · type-safe # A normal wiki answer. Fine — but your team still needs to know why.
$ zetl reason explain graph-complete --as table Explanation for 'graph-complete': Conclusion: +D graph-complete Proof tree: graph-complete (definite) via r-graph-complete [strict] [[release-readiness]]:13 directed-graph (definite) via __fact_40 [fact] [[Link Graph]]:17 multi-hop-traversal (definite) via __fact_39 [fact] [[Link Graph]]:18 forward-links-done (definite) via __fact_9 [fact] [[Graph Queries]]:10 backlinks-done (definite) via __fact_11 [fact] [[Graph Queries]]:11 shortest-path-done (definite) via __fact_10 [fact] [[Graph Queries]]:12 # Every claim traces to a file and a line. # The proof tree IS the audit trail.
$ zetl reason conflicts 1 unresolved conflict(s) found: 1. Contested literal: cache-reasoning-results Rules for 'cache-reasoning-results': 'r-cache-theory' [Defeasible]: mtime-based-cache ⇒ cache-reasoning-results ([[Cache]]:29) Rules for '~cache-reasoning-results': 'r-recompute-theory' [Defeasible]: incremental-rebuild ⇒ ~cache-reasoning-results ([[Cache]]:34) No superiority relations between competing rules. # The vault knows where it disagrees with itself. # Before your agent picks one at random.
Every answer cites the exact Markdown lines it was drawn from. When two pages disagree, zetl surfaces the conflict instead of quietly picking a side. You can show the chain to a stakeholder, an auditor, or your future self.
Real-time co-editing over plain Markdown under git. No new format, no proprietary store. Export is cp -r.
vimClaude, Cursor, internal bots — any MCP-compatible client can ask the same questions your team asks, and get the same cited answers back.
The zetl CLI is open source. Your vault lives in plain Markdown under git. The cloud is a sync, publish, and collaboration surface on top — never a lock-in.
Every byte lives in your git repo in plain Markdown. The cloud is a mirror, never a database. Quit tomorrow and nothing breaks.
The same engine runs in the CLI, in the reader's browser, and on the edge. A question from a teammate and a question from an agent go through the same path.
Same binary, same Docker image. The cloud is optional infrastructure, never a captive dependency.
AGPL-3.0, source on Codeberg. Every feature available locally; the cloud is optional. Feature-gated capabilities (history, reasoning, MCP, semantic) compile in on demand.
[[target]], [[t|alias]], [[t#heading]], [[t^block]], ![[embed]]--at "3 days ago", --at HEAD~1zetl watch) on FS events--no-input for CI[[wikilink]] syntax.
It never modifies your files — the index and reasoning cache live in a .zetl/
folder you can gitignore. Use Obsidian for editing, zetl for team hosting and agents.
Open source, AGPL-3.0. Run it on your laptop, self-host it for your team, or use the optional cloud. The vault stays plain Markdown either way.
curl -fsSL https://files.anuna.io/zetl/latest/install.sh | bash