Discipline layer for AI coding agents
A local Python framework that gates Claude Code, Cursor, Qwen, and Windsurf at the two points where AI agents lie most: starting a task without a goal, and claiming completion without proof. Three messages cover the full cycle.
The problem · The mechanism
Enforcement, not suggestion. The agent literally cannot bypass the gate — the hook process blocks Write/Edit before the tool call lands.
Verifiable trust · the differentiator
This is what separates TAUSIK from every prompt-based ruleset. The green isn't a claim you take on faith — it's an ed25519-signed receipt bound to the exact gate and the HEAD commit. Forge-proof, replay-proof, verifiable offline.
Format tausik-signed/v1, ed25519, bound to the gate signature and the HEAD commit sha.
A green that wasn't actually produced — or was produced for a different commit — fails QG-2.
Export one and verify it offline: no SDK, a stateless HTTP endpoint or the no-SDK example.
Skill and stack installs verify the signature before writing a byte to disk.
When an agent tells you the build is green, you don't have to believe it. You hold a receipt that proves it — or proves it lied.
Task lifecycle
You describe what you want. The framework forces the steps you skip when you trust the agent too much.
Opens session, loads handoff from the last one, refreshes the CLAUDE.md memory tail.
Interviews you on edge cases, creates a task with acceptance criteria, writes the code, runs tests + lint + 6 parallel review agents, verifies each AC has evidence in the DB.
Runs tausik verify (cached 10 min), passes QG-2, commits, asks before pushing.
What you get
The framework is small on purpose. Every piece exists to enforce one specific behavior.
QG-0 blocks task start without goal + AC. QG-2 blocks task done without verify evidence.
SQLite + FTS5 for patterns, gotchas, decisions, dead-ends. Re-injected at session start.
Heavy tests on a separate verify step, cached for 10 minutes; closing a task is millisecond.
Task gate, bash firewall, push gate, auto-format, memory audits — block bad actions before they happen.
Full programmatic access to the project DB. Works the same in Claude Code, Cursor, Qwen Code, Windsurf.
Notion-mirrored decisions, patterns, gotchas with privacy-preserving project hashes.
Quick start — 10 minutes (after your AI IDE is set up)
Bootstrap auto-detects your stack (Python, TS, Rust, Go) and enables matching quality gates.
# 1 · go to your project
$ cd your-project
# 2 · add tausik-core as a submodule
$ git submodule add https://github.com/Kibertum/tausik-core .tausik-lib
# 3 · bootstrap (detects stack, wires hooks)
$ python .tausik-lib/bootstrap/bootstrap.py --init
# 4 · ignore local state
$ echo ".tausik/" >> .gitignoreRestart your IDE — done. Bootstrap auto-detects your stack and enables matching quality gates.
Dogfooding
Every feature, every refactor, every bug fix went through the same gates that ship with the framework. The numbers below are the dogfood project's own state.
Snapshot at v1.5.0. Live numbers via tausik metrics.
Supported IDEs & agents
105 MCP tools and the 12 core skills work everywhere. Real-time hooks live in Claude Code and Qwen Code today; Cursor and Windsurf get the same enforcement at QG-0 and QG-2 task transitions.
Clarity
Setting expectations before you install.
Landscape
Same row → same capability. Empty cell → the tool does not address it natively.
| Capability | TAUSIK | Aider | Cursor Rules | Continue | Claude Skills |
|---|---|---|---|---|---|
| Enforced task model (goal + AC) | ✓ QG-0 hook blocks edits | — | — | — | — |
| Signed verify receipts (ed25519) | ✓ tausik-signed/v1 | — | — | — | — |
| Verify cache decoupled from close | ✓ 10-min TTL | — | — | — | — |
| Tracked decisions / dead-ends | ✓ SQLite + FTS5 | — | — | — | — |
| Cross-project memory (opt-in) | ✓ Notion-backed brain | — | — | — | — |
| Stack-aware verify suites | ✓ 25 stacks | single-language | — | — | — |
| Multi-IDE same surface | ✓ MCP + skills | CLI only | Cursor only | Continue only | Claude only |
| Editor-agnostic install | ✓ Python script | ✓ | — | — | — |
Answers
No. TAUSIK never calls any LLM directly. The agent (Claude Code / Cursor / Qwen / Windsurf) uses the API key you already configured for that IDE.
No. Everything is local: SQLite under .tausik/, hooks under .claude/. The optional Shared Brain only writes to your own Notion workspace if you wire it up.
Yes, via the optional Shared Brain. Per-project hashes keep names private; the cross-project content goes through a scrubbing linter before it lands in Notion.
Yes. The CLI ships .tausik/tausik.cmd for PowerShell/cmd. A few hooks (pre-commit shell, push gate) prefer Git Bash or WSL; the rest of the pipeline runs natively.
TAUSIK manages a small dynamic block inside CLAUDE.md (session + counts). Your existing instructions in CLAUDE.md or AGENTS.md stay intact; TAUSIK reads them, doesn't overwrite them.
Foundation
TAUSIK implements SENAR — an open engineering standard for AI-assisted development. Quality gates, session management, metrics, verification checklists — all defined in SENAR. See senar.tech for the spec.