Skip to content

init: add a place without a terminal, and init --json - #86

Merged
LDGerrits merged 3 commits into
refactorfrom
init-place-without-terminal
Oct 3, 2026
Merged

LDGerrits merged 3 commits into
refactorfrom
init-place-without-terminal

Conversation

@LDGerrits

Copy link
Copy Markdown
Owner

Summary

  • A place without a terminal: pressing Enter at every question is meant to write what an init without a terminal writes, but beside an existing default.rogen.json the two disagreed. Enter adds a place; the run that can't ask wrote a standalone config. Now rogen init lobby --no-input adds the place lobby in places/lobby, with Darklua's lobby-sync.rogen.json or roblox-ts's tsconfig.lobby.json.
    • A bare init there says to run rogen init <name>.
    • A default place folder that overlaps default's root dirs fails with init.invalidPlaceFolder instead of being written.
    • A taken file that isn't a config is now init.fileExists, which doesn't tell the user to delete it.
  • init --json: like build, where and list, it never asks and prints one document. It holds the files written (absolute, in order), the notes, and the next steps as setup, run, darklua and edits. A write that fails partway still lists the files written before it.
  • Skill and docs:
    • The agent skill adds a place with rogen init <name> --json and makes the edits in nextSteps.setup.
    • cli.mdx and multi-place.mdx describe both ways to add a place, and cli.mdx documents init --json.
    • REFERENCE.md no longer claims rogen build warns about a capital-letter route suffix such as HttpClient.luau.

Test plan

  • Unit tests for the place default, the bare-init message, the folder check, init.fileExists and init --json, including a write that fails partway
  • e2e: init/add-place-no-input, add-place-darklua-no-input, add-place-roblox-ts-no-input (each runs init lobby, then build --all, and Rojo reads every output), init/init-json, and the updated already-exists-error and help-for-command
  • Full suite (2,021 tests), lint, typecheck

🤖 Generated with Claude Code

LDGerrits and others added 3 commits October 3, 2026 17:56
…ace, as Enter does

Pressing Enter at every question is meant to write what an init without a
terminal writes, but beside an existing default.rogen.json the two disagreed:
Enter adds a place, and the run that can't ask wrote a standalone config. Now
`rogen init lobby --no-input` adds the place lobby in places/lobby, with the
files Darklua or roblox-ts need for it, so a script or a coding agent can add a
place without hand-writing them. A bare init there says to name the place, a
default place folder that overlaps default's root dirs fails instead of being
written, and a taken file that isn't a config is reported as init.fileExists
without telling the user to delete it. The skill and the docs say how to add a
place this way.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ith rogen where

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
init takes --json like build, where and list: it never asks, and prints one
document with the files it wrote (absolute, in order), its notes and its next
steps grouped as setup, run, darklua and edits. A failure is the usual
{ diagnostics } or { error } document, and a write that fails partway still
lists the files written before it. The skill now adds a place with
`rogen init <name> --json` and has the agent make the edits in
nextSteps.setup.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
rogen Ready Ready Preview Oct 3, 2026 4:09pm UTC

@LDGerrits
LDGerrits merged commit 1b6382e into refactor Oct 3, 2026
3 checks passed
@LDGerrits
LDGerrits deleted the init-place-without-terminal branch October 3, 2026 16:33

This branch was successfully deployed

1 active deployment
Preview — 3633dc4f Deployed Oct 3, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant