All Collections

Applying changes

buildprint apply pushes local workspace changes back to Bubble. It is the final step after sync, edit, and check.

buildprint check
buildprint apply

Fresh check requirement

Apply requires a fresh successful unfiltered buildprint check for the current Bubble baseline and the current pending changes. If files changed after the last check, apply fails with:

Workspace changed since the last successful `buildprint check`. Run `buildprint check` and retry.

Targeted checks, path checks, and rule-filtered checks do not satisfy this requirement.

What apply does

1. Verifies linked auth and the current branch workspace. 2. Ensures the branch folder name matches the checked-out git branch. 3. Confirms the workspace app and branch match any positional arguments you passed. 4. Requires the fresh check record unless --force-apply is used. 5. Reruns the internal validation pass unless --no-check or --force-apply is used. 6. Auto-commits unapplied local edits when needed with Apply from <appId>/<branch>. 7. Assembles the Bubble snapshot and local head, diffs them, and sends Bubble write operations through Buildprint. 8. Sends changed tests/ definitions through the Buildprint tests apply route. 9. Advances the local Bubble snapshot and published refs on success.

If there are no app or test changes to apply, the command returns an unchanged JSON result.

Arguments and flags

buildprint apply
buildprint apply <appId> <branch>
buildprint apply --no-check
buildprint apply --allow-large-apply
buildprint apply --force-apply

Positional appId and branch are safety checks only. They must match the workspace values; they do not redirect the apply.

Flags:

  • --no-check skips the internal validation rerun, but still requires the fresh successful buildprint check record.

  • --allow-large-apply allows apply when the local Bubble base is suspiciously tiny and the workspace is substantial.

  • --force-apply bypasses check freshness, internal validation, and large-apply safety gates. Use only for exceptional recovery.

Output

Apply always prints a JSON line:

{"ok":true,"appId":"my-app","branch":"test","seconds":1.2,"kind":"applied","applied":3,"summary":{}}

Possible kind values are applied and unchanged. Scripts can parse this line directly.

Auto-commit behavior

If the worktree has uncommitted changes that differ from the Bubble snapshot, apply stages only those pending apply paths and creates a commit. If you want a custom commit message or a multi-commit history, commit manually before running apply.

When apply fails

Common causes:

  • The workspace changed since the last successful check. Run buildprint check again.

  • The folder name and checked-out git branch do not match. Follow the printed cd or git checkout guidance.

  • The local Bubble snapshot is missing. Recreate the branch workspace with buildprint project clone.

  • Bubble or Buildprint rejects the write because of permissions, branch scope, or stale remote state. Run buildprint sync, resolve any merge conflicts, run buildprint check, and retry.

Use git status, git diff, and git log buildprint/<branch>..HEAD to review what will be applied.

Was this helpful?