Code generation
- Generated projects now start with canvases, Bricks, and Data collapsed by default while preserving explicit expanded-state settings.
- Generated Items Brick projects preserve item fields such as frame type and detail / list press behaviors.
MCP server
- Simulator MCP output now points agents to the Preview DevTools /
bricks devtoolsinspection loop after successful compiles. See MCP server.
Code generation
- Generated projects serialize array data values correctly.
- Data Calculation sandbox output no longer accumulates extra
{ }blocks on each compile. - Other generated-project stability fixes.
Pull app
bricks ctor pull-app— creates missing parent directories and respects the selected starting branch.
Code generation
- Generated projects preserve conditional jumps whose target case id is dynamic, instead of silently dropping them during compile.
- Generator code generation no longer produces duplicate variable declarations when entity aliases collide.
- Generated projects no longer lose a Data Calculation when one alias collides with another’s fallback file name.
Automation tests
- Legacy automation tests now migrate into per-test files instead of being dropped and replaced with empty placeholders.
MCP
- A malformed MCP config no longer wipes your other configured MCP servers during project setup.
Codex
- Generated projects pre-approve the bricks-ctor MCP tools for Codex, so Codex CLI sessions can call them without stalled approval prompts.
Claude Code
- Claude Code projects seed local auto-mode trusted BRICKS infrastructure without enabling auto mode automatically.
Compile validation
- Generated project compile checks catch Data Calculation cycles and broken PROPERTY_BANK_EXPRESSION strings earlier.
Compile validation
bricks app check-config --validate-automation— surfaces broken automation_map / test_map references (missing Subspaces, Bricks, Canvases, Banks, dynamic senders / handlers, malformedPROPERTY_BANK_*input_to_receiverprefixes) at compile time. The project agent’s compile path enables this by default.
Automation
- Optional
subspaceIdon method steps —brick_press,execute_action,wait_until_*,delay, and other method steps can omitsubspaceId; the runtime resolves it to the root subspace. The Config Editor labels the empty option as “Root (default)”.
Type system
- Animation event handlers now accept a getter form (
() => Animation) so lazy or forward references between animations type-check, matching every other entity reference. booleanaccepted as an alias forboolon Data type fields for ergonomics with TypeScript-trained authors. Runtime output is unchanged.
MCP
- MCP tool output no longer carries ANSI escape sequences from
tsc/bun/brickschild processes; terminal callers stay color-on.
Auto-compile and pull
- Background auto-compile — hash-gated background builds while a project session is active, with an inline compile-error banner and a Pull / Update Config pill flow that detects server-newer / local-ahead state.
- Non-force Pull — the Pull dialog gains a non-force option that branches at the server’s last commit, applies the new files, and merges
mainback in. Force Pull keeps the previous in-place overwrite.
Deploy and rename
- Deploy / Update Config forward the
application.jsonname so renaming a project locally renames it on the server in the same request. Pairs withbricks app/module release --name.
Generated files
- Automation-test and data-calculation filenames now use a kebab-cased alias slug so they stay stable across reorders; orphan
.tsfiles are cleaned up on pull.
Skills
- New bricks-design and bricks-ux skills bundle the visual-design and interaction-design disciplines for project agents.
Improvements
- Generated projects ship a new
bun update-appscript that pushes config changes without bumping the release version. Pairs with thebricks app update --last-commit-id/--validateconflict guards in BRICKS CLI. - Refresh the agent reference for Buttress integration.
Improvements
- Auto-generated commits (deploy, pull force-commits, migration/update) are now attributed to a CTOR (Desktop) author.
- Generator skips dot directories and markdown files when formatting generated projects.
Breaking changes
- Renamed from
bricks-project—@fugood/bricks-projectis now@fugood/bricks-ctor, andbricks-project-generatoris nowbricks-ctor-generator. - New project layout — generated projects use
from 'bricks-ctor'imports and the./ctor/directory. - Automatic migration — legacy
project/directories and MCP config keys are migrated on first run. See getting started for the current setup.