| Crates.io | cza |
| lib.rs | cza |
| version | 0.1.0-alpha.5 |
| created_at | 2025-08-06 09:50:36.02164+00 |
| updated_at | 2025-09-10 17:05:38.907576+00 |
| description | CLI tool for scaffolding zero-knowledge application projects |
| homepage | |
| repository | https://github.com/sripwoud/cza |
| max_upload_size | |
| id | 1783603 |
| size | 137,204 |
A CLI tool for scaffolding zero-knowledge application projects with modern development tooling and best practices built-in.
cza (create-zk-app) is like create-react-app but for zero-knowledge applications. It provides curated, opinionated project templates that combine ZK frameworks with modern frontend stacks, complete with development tooling and CI/CD setup.
cargo install cza
# List available templates
cza list
# Create a new Noir + Vite project
cza new noir-vite my-zk-app
# Navigate and start developing
cd my-zk-app
mise run dev
Templates are hosted at cza-templates.
| Template | Description | ZK Framework | Frontend |
|---|---|---|---|
cairo-vite |
Cairo Program running in the browser (wasm web worker) with modern frontend stack | Cairo | Vite + React + TanStack |
noir-vite |
Noir Program running in the browser (wasm web worker) with modern frontend stack | Noir | Vite + React + TanStack |
More templates coming soon: Cairo, Risc0, o1js, and more!
# List all available templates with details
cza list --detailed
# Create a project with a specific template
cza new noir-vite awesome-zk-project
# The generated project includes:
# ├── circuit/ # Noir ZK circuit code
# ├── web/ # Vite React frontend
# ├── mise.toml # Development environment
# ├── hk.pkl # Git hooks configuration
# └── .github/ # CI/CD workflows
cza is built in Rust and uses:
Each template is a complete, working project that includes:
Templates come pre-configured with:
| Feature | Tool | Purpose |
|---|---|---|
| Build | vite | Fast frontend build tool |
| CSS | tailwind | Utility-first CSS framework |
| Continuous Integration | GitHub Actions | Automated testing, formatting, and releases |
| Conventional Commits | convco | Semantic versioning and changelog generation |
| Conventional PR Titles | amannn/action-semantic-pull-request | Enforce semantic PR titles for squash merges |
| Deployment | GitHub Pages | Static site hosting and deployment |
| Environment, Runtime & Task Management | mise | Tool and language version management |
| Formatting | dprint | Consistent code formatting across languages |
| Git Hooks | hk | Automated code quality checks |
| Import Aliases | typescript paths | Clean import paths with @ prefixes |
| Linting | biome | Fast linting and formatting for JS/TS |
| Routing | @tanstack/react-router | Type-safe React routing |
| Runtime | bun | Fast JavaScript runtime and package manager |
| State | jotai | Atomic state management for React |
| Typings | typescript | Static type checking for JavaScript |