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
{{ message }}
Repository navigation
Commit 15f93b7
Browse filesBrowse the repository at this point in the historyBrowse files
docs: sync CLAUDE.md and architecture.md with the branch
Claims that this branch made wrong:
- stacks were said to declare a "ref strategy (tag-latest vs branch)".
refType is gone; a stack declares an optional ref and is cloned at its
newest tag without one
- the interactive step order read "install then cleanup". It is clone,
cleanup, install, post-install
- installPackages was said to use pnpm or npm. It is pnpm only
- Confirmation was said to show a one-line summary. It shows one line per
setting
Also adds ink-spinner to the styling row, CantonPostInstall.tsx to the
structure tree, and the stack badge to the MainTitle description.
Copy file name to clipboardExpand all lines: CLAUDE.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,8 @@
10
10
11
11
A CLI installer tool for dAppBooster projects. It supports two **stacks** and two **modes**:
12
12
13
-
-**Stacks:**`evm` (the original dAppBooster for EVM chains) and `canton` (dAppBooster for Canton: Daml ledger, off-chain services). Each stack declares its own source repository, ref strategy (tag-latest vs branch), package manager, env files, an optional `prepare` step, and features. Only EVM has features; Canton has none, so it takes neither `--mode` nor `--features`, and the wizard asks it nothing but the project name.
14
-
-**Interactive** (default): React + Ink TUI that prompts for the project name first, then the stack, then — for a stack that has features — the installation mode, the optional packages and a review step, then install → cleanup → post-install. The stack prompt is skipped when `--canton`, `--evm`, or `--stack` is supplied.
13
+
-**Stacks:**`evm` (the original dAppBooster for EVM chains) and `canton` (dAppBooster for Canton: Daml ledger, off-chain services). Each stack declares its own source repository, an optional `ref` to clone (without it the newest tag wins), package manager, env files, an optional `prepare` step, and features. Only EVM has features; Canton has none, so it takes neither `--mode` nor `--features`, and the wizard asks it nothing but the project name.
14
+
-**Interactive** (default): React + Ink TUI that prompts for the project name first, then the stack, then — for a stack that has features — the installation mode, the optional packages and a review step, then clone → cleanup → install → post-install. The stack prompt is skipped when `--canton`, `--evm`, or `--stack` is supplied.
15
15
-**Non-interactive**: Flag-driven (`--ni` or auto-detected when not a TTY) for AI agents and CI. Outputs JSON to stdout. Run `--info` for stack + feature discovery, then `--canton`/`--evm` (or `--stack`) + `--name`, plus `--mode`[+ `--features`] when the stack's `modes` list is not empty. Omitting a stack flag in non-interactive mode defaults to `evm` for backward compatibility.
cleanupFiles.ts Applies stack.prepare, removes deselected features, patches package.json — all before the install
36
36
createInitialCommit.ts Commits the finished scaffold (stacks that ask for it)
37
37
installGuard.ts Removes the partial project dir if interrupted mid-scaffold
@@ -48,9 +48,10 @@ source/
48
48
StepProgress.tsx Shared runner for the operation steps: progress, errors, guard
49
49
PostInstall.tsx Renders the stack's postInstallComponent, or its postInstall lines
50
50
EvmPostInstall.tsx The EVM closing screen, including the subgraph warning
51
+
CantonPostInstall.tsx The Canton closing screen, including the dev-stack steps
51
52
Ask.tsx Text input with validation
52
53
Divider.tsx Section divider
53
-
MainTitle.tsx Gradient title banner
54
+
MainTitle.tsx Gradient title banner, with a badge for the chosen stack
54
55
Multiselect/ Checkbox multiselect component
55
56
types/
56
57
types.ts Shared TypeScript types
@@ -240,7 +241,7 @@ The last bracketed group is dropped for a stack whose `getInstallationModes` lis
240
241
241
242
Each operation step renders through the shared `StepProgress` component, which owns the step list, the running/done/error display and the failure path (`abortInstall`), so every step reports a failure the same way. `Install` covers env files, the package install and the baseline commit, and calls `completeInstall` when the scaffold is finished.
242
243
243
-
`Confirmation` shows a one-line plan summary (`describeInstallPlan`) and is the last side-effect-free step. **Yes** starts the operations; **No** loops back to the first question (state is reset and the question steps are re-keyed so they re-mount fresh). When `cli.tsx` resolves a stack flag, it passes `preselectedStack` to `<App>`, which skips the `StackSelection` step.
244
+
`Confirmation` shows the plan as oneline per setting (`describeInstallPlan`), each value highlighted, and is the last side-effect-free step. **Yes** starts the operations; **No** loops back to the first question (state is reset and the question steps are re-keyed so they re-mount fresh). When `cli.tsx` resolves a stack flag, it passes `preselectedStack` to `<App>`, which skips the `StackSelection` step.
244
245
245
246
Nothing is lost by dropping `Confirmation` for a featureless stack: the project name is validated as it is typed, and an interrupt or a failure during the operations removes the partial directory (see installGuard below).
0 commit comments