Choose a starter
| Starting point | Use it for | Context to read |
|---|---|---|
| Agentic template | A full-stack Rust + React app, or source-grounded architecture and debugging questions | Root instructions plus both pinned subprojects |
| Project template | Rust contracts, MockChain assertions and a client counter example | Contract README, toolchain files and integration tests |
| Frontend template | A browser app consuming existing contracts | Project instructions and installed npm SDK guidance |
| Agent tools | Shared ecosystem knowledge in an existing project | Selected skills and command prompt files |
For the full-stack path:
git clone --recurse-submodules https://github.com/0xMiden/agentic-template.git
cd agentic-template
git submodule status --recursive
For a clone missing submodules, initialize its checked-in pins with git submodule update --init --recursive. Avoid --remote during onboarding: it changes the source baseline. Compare the checkout with Release and agent context before installing.
Inspect setup.sh before running it. The existing script can install prerequisites, fetch dependencies and build contracts; check whether its selected channel and lockfile behavior match your intended release. Use the subprojects' pinned installation instructions if they do not. The release-pinned setup and stage runner are implemented in template PR #24 but remain gated on code PR integration.
Once Rust/rustup, a manifest-compatible midenup, Node.js 20.19.0 or newer within the 20.x line, and Yarn Classic 1 are available, the reviewed pins support explicit setup. Node 20.19.0 matches the tested baseline and the frontend test runner's requirements; inspect package engines if selecting another Node release:
(cd project-template && midenup install 0.17.0)
(cd frontend-template && yarn install --frozen-lockfile)
The first command downloads the pinned channel; the checked-in project toolchain selects it. The second installs frontend dependencies without updating the lockfile and may run the package's configured preparation scripts. Verify installed SDK context afterward. If your pins differ, read their toolchain and package files before using this baseline.
After template PR #24 is integrated into your checkout, its root setup path is:
bash scripts/journey.sh doctor
bash setup.sh
doctor checks prerequisites and source pins; it does not build or run a node. The revised setup uses the checked-in Miden channel and frozen frontend lockfile and explicitly runs SDK skill sync so prepare cannot hide a sync failure. Root installed-package pointers still need the consumer-context check; matching pins and successful sync alone do not close that gate.
For explanation or planning, ask the agent to cite source files and stop before installation or transaction execution. For implementation, use the first-app flow and record each stage's result.