Choosing a Project Scaffold
Caatinga offers three ways to start a new project. Pick the path that matches how much UI and ZK tooling you want on day one.
Install the CLI and prerequisites first — see Getting started — Prerequisites.
Which path?
- Need a browser UI on day one? → Template or ZK template
- CLI + contract only? → Minimal
- Need Groth16 proofs on Soroban? → ZK template or ZK minimal
Paths
Template
bash
ctg init <dir>Vite + React, wallet and bindings pre-wired. No ZK.
Minimal
bash
ctg init <dir> --minimalCLI + app stub only. You pick the UI stack later.
ZK template
bash
ctg zk init <dir>zk-starter: Vite UI + verifier contract + multiplier circuit. Hybrid CLI + browser flow.
ZK minimal
bash
ctg zk init <dir> --minimalVerifier + identity circuit only. No frontend — add UI yourself.
Aliases
ctg init --emptyis the same as--minimal.ctg zk initwith no project name adds ZK files to the current directory (see ZK project).
Official templates
react-vite-counter(default) —npx ctg init my-dapp— stable; recommended for the first walkthroughzk-starter—npx ctg zk init my-zk-dapp— stable ZK example with Vite + React shell
See Templates for manifest details and package-manager notes.