feat: new — the scaffold front door (wraps create-rome-app) - #26
Merged
Conversation
rome new <app-name> [--chain <chain>]: shell out to the canonical
create-rome-app scaffolder, then add what it can't know — the chain,
resolved from the registry and pre-wired into the app's .env — and
return the lifecycle next-steps in the CLI's own commands (fund →
deploy → demo → verify). Validates name/chain and refuses an existing
target BEFORE any npx spend.
Keyless action: CLI-only (MCP never writes to disk) but requires no
signing key — mkCap gains an explicit requiresKey override, and the
actions invariant is TIGHTENED (the keyless set must equal exactly
{new.new}).
Works-gate (live): scaffold on martius → CHAIN_ID=121214 pre-wired →
npm install → gen-config resolves chain 121214 from the registry →
vite build green. Driving this gate surfaced + fixed two shipped
create-rome-app bugs upstream (#3 npx empty-scaffold, #4 CHAIN_ID
ignored). 115 unit tests; GUIDES "Start an app" + ARCHITECTURE rows.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
rome new <app-name> [--chain <chain>]— the scaffold front door for the bring-your-idea path.What it does
create-rome-app(ORCHESTRATE per the SPEC — wrap, never rebuild).--chainthrough the registry (default hadrian) and writes the app's.envwithCHAIN_IDset (previously a hand-edit).rome fund→npm run deploy→npm run demo→rome verify.Fails fast (name validation, unknown chain, existing target) before any npx spend.
Capability model
newis CLI-only (MCP never writes to disk) but keyless — it signs nothing.mkCapgains an explicitrequiresKeyoverride, and the actions invariant is tightened: the keyless set must equal exactly{new.new}(any other keyless action fails the suite).Validation
rome new final-app --chain martius→ scaffold via npx→main →CHAIN_ID=121214in.env+.gitignorepresent →npm install→gen-configresolveschain 121214from the live registry →vite buildgreen.CHAIN_IDsilently ignored).newabsent from MCP.Docs
GUIDES "Start an app (
rome new)" section + MCP actions blurb · ARCHITECTURE catalog row + file tree + actions banner.Feature PR, no version bump — next tag pins it. Follow-up (recorded): pin the scaffolder ref once create-rome-app starts tagging.