Skip to content

bool create: verify runtime before scaffolding; sync template pin - #15

Merged
HomemadeToast57 merged 3 commits into
mainfrom
claude/bool-local-dev-mcp-pu8kdj
Jul 22, 2026
Merged

HomemadeToast57 merged 3 commits into
mainfrom
claude/bool-local-dev-mcp-pu8kdj

Conversation

@HomemadeToast57

@HomemadeToast57 HomemadeToast57 commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Why

bool create created the project, scaffolded all 11 files, and then fetched the connection descriptor. So when a project couldn't be developed against locally (it wasn't on the gateway runtime), the command failed only after writing a full app directory — leaving an orphaned local folder next to an orphaned project. The failure was confusing and the mess was left for the user to clean up.

What changed

  • Fail fast, scaffold nothing. bool create now fetches the connection descriptor immediately after creating the project, before writing any files. If the project can't be used for local development, it exits with the server's own reason plus a note that nothing was scaffolded. The descriptor is fetched once and reused for the link step (no extra request).
  • Template pin caught up. The scaffolded app pinned bool-sdk@0.2.0-next.16 while the latest published release is next.17. Bumped the pin to next.17 and added a comment explaining the pin tracks the latest published version (the scaffold runs npm install), which can trail this package's in-flight version by the release being cut.
  • README correctness. The admin-key note claimed private entities carry a user_id owner field and that creates must set user_id. The managed owner column is owner_id (defaulting to the signed-in user, with RLS); user_id was never right. Fixed the prose and the code example.
  • Changelog. Added the next.18 entry for this change and backfilled the missing next.17 entry.

Tests

  • New unit test: bool create aborts at the connection check when the new project isn't a gateway project — asserts the target directory is never created and neither the api-key nor entities endpoints are called.
  • bun run typecheck clean; bun test 107 pass.

claude added 3 commits July 22, 2026 22:40
`bool create` created the project, scaffolded 11 files, and only then fetched
the connection descriptor — so a project that isn't on the gateway runtime
failed after the fact, leaving an orphaned local folder. Move the connection
check ahead of the scaffold: on failure it now reports the server's reason and
writes nothing. The descriptor is fetched once and reused for the link step.

Also catch the scaffold's pinned bool-sdk version up to the latest published
release (next.16 -> next.17) and record the missing next.17 changelog entry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zKXrczjUj4pce5BH9Y1HL
The admin-key note said private entities carry a `user_id` owner field and that
creates must set `user_id`. The managed owner column is `owner_id` (defaulting
to the signed-in user, with row-level security); `user_id` was never right and
misled callers into a column that doesn't exist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zKXrczjUj4pce5BH9Y1HL
The docs list linked to /docs/local-development and /docs/sdk-reference, neither
of which exists. Point local development at the CLI guide (which now covers the
local workflow, commands, client setup, and deploy) and keep the data-model
link, dropping the two dead entries.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011zKXrczjUj4pce5BH9Y1HL
@HomemadeToast57
HomemadeToast57 marked this pull request as ready for review July 22, 2026 23:17
@HomemadeToast57
HomemadeToast57 merged commit bc3b7a6 into main Jul 22, 2026
3 checks passed
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.

2 participants