# b01t > Safe quantum programming enforcing coherence and ancilla cleanliness ## Docs - [AGENTS](https://b01t.com/AGENTS.md) - [Decorators API: coherent, primitive, parametric, adaptive](https://b01t.com/api/decorators.md): Reference for b01t's four program decorators: choose the right one to control safety certification, gate set, and whether your program can measure. - [Multi-Qubit Gates Reference](https://b01t.com/api/gates-multi-qubit.md): Complete reference for all multi-qubit gates in b01t: CNOT, CZ, SWAP, Toffoli, and multi-controlled gates with their allowed contexts. - [Single-Qubit Gates Reference](https://b01t.com/api/gates-single-qubit.md): Complete reference for all single-qubit gates in b01t: Pauli gates, Clifford gates, T gate, and parametric rotations with their allowed contexts. - [QiskitBackend: Compile to Quantum Circuits](https://b01t.com/api/kit-backend.md): Reference for QiskitBackend, which compiles a b01t IRProgram into a Qiskit QuantumCircuit ready to run on a simulator or real hardware. - [Control Flow: repeat, for_each, if_then](https://b01t.com/api/kit-control.md): Reference for b01t's build-time control flow: repeat and for_each unroll at build time, while if_then emits adaptive branching for @adaptive programs only. - [PackageRegistry: Publish and Resolve Algorithms](https://b01t.com/api/kit-registry.md): Reference for PackageRegistry and PackageMeta: publish, discover, serialize, and resolve dependencies for b01t algorithm packages. - [Ancilla Kit: Routing and Composition](https://b01t.com/api/kit-routing.md): Reference for b01t's context-aware routing combinators: ancilla, compute, phase, apply, uncompute, par, and adjoint work in both exact and broad programs. - [Serialization: Save and Load Exact Programs](https://b01t.com/api/serialization.md): Reference for b01t's exact program serialization: convert ExactProgram to JSON or dict and restore it with full structural validation on load. - [Core Types Reference](https://b01t.com/api/types.md): Reference for the core b01t types you interact with: QReg, Wire, IRProgram, ExactProgram, Certification, Effect, DSLValidationError, and utility functions. - [Ancilla discipline: the compute/phase/uncompute pattern](https://b01t.com/concepts/ancilla-discipline.md): Understand how b01t enforces ancilla cleanliness through gate restrictions, automatic uncomputation, and the CPU and CMA patterns. - [Choosing the Right b01t Decorator](https://b01t.com/concepts/decorators.md): Compare b01t's four decorators: which gates each allows, what safety level it provides, and whether to call .build_exact() or .build() to compile. - [b01t's gate set: exact gates and parametric rotations](https://b01t.com/concepts/gates.md): b01t's gate set: exact gates for @coherent, parametric rotations for @parametric and @adaptive, and which gates are allowed in compute vs phase blocks. - [b01t's safety model: proven unitary channels at build time](https://b01t.com/concepts/safety-model.md): Learn how b01t catches dirty ancillae and silent decoherence at build time, and why every well-typed @coherent program is a proven unitary channel. - [Parametric and Adaptive Quantum Programs](https://b01t.com/guides/parametric-adaptive.md): Use @parametric for coherent programs with arbitrary rotation angles, and @adaptive for measurement-based programs with classical feedback. - [Compiling b01t Programs to Qiskit Circuits](https://b01t.com/guides/qiskit-backend.md): Lower an ExactProgram to IRProgram with lower_exact_program(), then emit a QuantumCircuit with QiskitBackend — ready to simulate or run on real hardware. - [Serializing and Loading Quantum Programs](https://b01t.com/guides/serialization.md): Save ExactProgram values to JSON or dict, reload them with full structural validation, and manage collections of programs with PackageRegistry. - [Writing Certified-Safe Quantum Programs](https://b01t.com/guides/writing-coherent-programs.md): Learn how to use @coherent to write quantum programs that are proven unitary at build time, with ancilla discipline enforced by the DSL. - [b01t — Quantum Bug Detection at Build Time](https://b01t.com/index.md): b01t is a Python DSL that catches dirty ancillae, bad uncomputation, and silent decoherence at build time before you ever run a simulation. - [Install b01t: Python Quantum Safety Library](https://b01t.com/installation.md): Install b01t in your Python environment using pip or uv. Requires Python 3.11 or later and qiskit 1.0 or later for circuit compilation. - [What is b01t? Build-Time Safety for Quantum Code](https://b01t.com/introduction.md): b01t enforces ancilla cleanliness and unitary correctness at compile time. Every @coherent program is a proven unitary channel — no simulation needed. - [Quick Start: Your First Safe Quantum Program](https://b01t.com/quickstart.md): Build and certify a phase oracle with b01t in minutes. Walk through imports, the @coherent decorator, build_exact(), certification, and Qiskit compilation. - [Demo programs: complete b01t algorithm examples](https://b01t.com/zoo/demos.md): Runnable end-to-end demos showing how to build, certify, and execute quantum algorithms with b01t, from textbook circuits to full coherent pipelines. - [Grover Search: Phase Oracle and Diffusion Operator](https://b01t.com/zoo/grover.md): Build certified-safe Grover search circuits using the b01t zoo's phase oracle and diffusion operator, composable as standard @coherent building blocks. - [Algorithm Zoo: pre-built quantum modules for b01t](https://b01t.com/zoo/overview.md): The b01t algorithm zoo is a collection of certified-safe, composable quantum algorithm modules built on top of the core DSL and kit utilities. - [Quantum Fourier Transform: QFT and Inverse QFT](https://b01t.com/zoo/qft.md): Use b01t's QFT and inverse QFT as certified @parametric building blocks for phase estimation, Shor's algorithm, and any frequency-domain quantum routine.