You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
6
6
7
7
`cardano-init` is a Rust CLI tool that scaffolds Cardano protocol projects. Users select tools for each functional role (on-chain, off-chain, infrastructure, devnet, formal-methods) and the CLI generates a working monorepo. The authoritative docs live in `docs/`: read `docs/PRD.md` (product), `docs/ARCHITECTURE.md` (system design), and `docs/TECH_SPEC.md` (contracts, schemas, edge cases) before making any significant changes; `docs/ADDING_A_TOOL.md` is the contributor guide and `docs/ROADMAP.md` is the milestone plan.
8
8
9
-
It's an early prototype: several capabilities (the dependency `doctor`, `list` /`--format json`, a hosted web builder) are**planned, not yet implemented**. `docs/ROADMAP.md` tracks what's real vs. upcoming.
9
+
It's an early prototype: the dependency `doctor`, `list`, and`--format json` are implemented, while a few capabilities (a *hosted* web builder, WASM live preview, min-version checks) remain**planned, not yet implemented**. `docs/ROADMAP.md` tracks what's real vs. upcoming.
10
10
11
11
## Commands
12
12
@@ -36,7 +36,7 @@ The codebase is a single Rust crate. The module structure is as follows (see `do
36
36
-`src/registry/`: deserializes embedded TOML tool definitions into typed structs. The `Role` enum (5 roles) is the sole source of truth for the role vocabulary; the registry only *references* roles.
-`src/contract.rs`: constants for the interface contract (canonical paths, env var names, role dirs).
41
41
42
42
**Key invariant:**`registry/`, `scaffold/`, `contract`, and the pure part of `doctor/` have zero dependency on `cli/` or `web/` (the impure edges). They are pure logic over data.
@@ -50,7 +50,7 @@ The codebase is a single Rust crate. The module structure is as follows (see `do
50
50
51
51
### Registry and templates
52
52
53
-
Tool definitions live in `registry/tools/<tool>.toml`. Templates live in `templates/<tool>/<role>/` with a `manifest.toml` listing files. Both are embedded into the binary at compile time via **rust-embed** (`#[folder = "…"]`). There is **no `build.rs`**. (Dependency install recipes will live in `registry/deps.toml`, consumed by the planned`doctor`, see `docs/TECH_SPEC.md` §9.)
53
+
Tool definitions live in `registry/tools/<tool>.toml`. Templates live in `templates/<tool>/<role>/` with a `manifest.toml` listing files. Both are embedded into the binary at compile time via **rust-embed** (`#[folder = "…"]`). There is **no `build.rs`**. (Dependency install recipes live in `registry/deps.toml`, consumed by `doctor`, see `docs/TECH_SPEC.md` §9.)
54
54
55
55
The **interface contract** (`contract.rs`) is what enables any on-chain tool to compose with any off-chain tool without per-pair logic:
56
56
- On-chain templates must produce `blueprint/plutus.json` during `build`.
These sit at different layers: `cardano-init` decides *what tools your project uses and how they compose*, while `aikup` / `cardano-up` install and manage *the toolchains and infrastructure those tools need*. The two meet at the (planned) dependency [`doctor`](docs/ROADMAP.md): when toolchains are missing, `cardano-init` advises the right installer (`aikup` for Aiken, `cardano-up` for the infrastructure role) rather than reinventing them.
98
+
These sit at different layers: `cardano-init` decides *what tools your project uses and how they compose*, while `aikup` / `cardano-up` install and manage *the toolchains and infrastructure those tools need*. The two meet at the dependency [`doctor`](docs/ROADMAP.md): when toolchains are missing, `cardano-init` advises the right installer (`aikup` for Aiken, `cardano-up` for the infrastructure role) rather than reinventing them.
99
99
100
100
By design, `cardano-init` is **not** a package or version manager: it does not pin or upgrade tool versions, manage dependencies after generation, or migrate existing projects. There is no `cardano-init update`.
-[]**`cardano-init doctor`** standalone command + check-and-advise during scaffolding (deps/installer graph, `registry/deps.toml`). *(Pulled earlier than the docs' original deferral.)*
-[x]**`cardano-init doctor`** standalone command + check-and-advise during scaffolding (deps/installer graph, `registry/deps.toml`). *(Pulled earlier than the docs' original deferral.)*
44
44
-[ ] Local web builder (`cardano-init web`), `--dry-run`, optional Nix flake.
0 commit comments