Prerequisites
- An immutable release created from the completed Studio change.
- The release version and base Git SHA supplied by the Studio editor.
- A clean local clone of the Git repository.
- A dedicated Veryfront API key and project slug in your environment.
- Permission to push a Git feature branch and open a pull request.
.veryfront/in.gitignoreso the local Push receipt cannot enter the pull request.
Synchronize main before Studio work
Wait for the serialized CI job to push the latest reviewed Gitmain source
into Veryfront and deploy it to staging. Record that successful job’s Git SHA.
Do not start a new Studio change before this Push finishes.
Create a non-main Studio branch for the citizen-developer change. Do not edit
or publish directly from Studio main. Apply this rule through the team’s
source-control policy and CI ownership.
Create the Studio handoff
When the Studio change is ready, publish it to a non-production environment, such as staging. Publish creates the immutable release used for the handoff and deploys it only to that selected environment. Open the Releases panel in Studio, open the new release, and copy its Version value. Give the professional developer that version and the Git SHA recorded before Studio work began. You do not need to deploy the unreviewed change to production.Create a Git feature branch
Start from the latest reviewedmain branch:
Terminal
git status --short must print no changes. Never pull a Studio release directly
into the Git main branch.
Record the handoff values and check whether Git advanced after Studio work
began:
Terminal
main source into Veryfront, recreate the Studio change, and publish a new
release. If the professional developer deliberately continues, they own the
full Git diff and every conflict resolution.
Preview the release
Set the immutable release version and preview the file reconciliation:Terminal
--prune includes managed local files that exist in Git but not in the Studio
release. It does not delete ignored files, unsupported files, or Git metadata.
Push and pruning Pulls share the project .vfignore rules. Commit .vfignore
as a regular file when the project uses one.
Use a release version instead of a mutable Studio branch name. Repeating the
Pull for the same release retrieves the same source snapshot.
Pull dry-run may run outside a Git worktree and does not write or delete local
files. It still validates the remote path set and reports every managed file it
would write or delete. Use it before every pruning Pull.
Apply the release
Apply the additions, updates, and deletions to the clean feature branch:Terminal
git status, return
the feature branch to a clean state with your normal Git recovery workflow, and
then run Pull again. Do not discard unrelated local work.
A mutating --prune requires a clean Git worktree. --yes and --force skip
only the overwrite confirmation and never bypass the clean-worktree, path, or
symlink checks. Pull preserves the release bytes exactly, including line
endings and a missing final newline.
The release is a full managed-source snapshot, not a patch. Pull overwrites
supported text files and prunes supported text files that are absent from the
release. It does not perform a three-way merge or auto-merge a stale release
with newer Git changes. Ignored, unsupported, and binary files remain outside
the reconciliation.
Review and test
Inspect every change before committing it:Terminal
Commit and open a pull request
Commit the reviewed snapshot and push the feature branch:Terminal
main and records both the immutable release and its
Studio base Git SHA. Reviewers can use those values to trace the handoff and
identify a stale snapshot.
You can put the same Pull, test, commit, and gh pr create sequence in a
repository-owned CI workflow. Keep the Git credential and pull request creation
in that workflow. Require the release version and Studio base Git SHA as inputs,
write both values into the pull request, and label a mismatch between the base
SHA and current main as a stale full snapshot.
Resolve conflicts in Git
Ifmain changes before the pull request merges, update the feature branch in
Git:
Terminal
git add --all, commit the merge, and push the
feature branch again. Do not resolve Git conflicts by overwriting Git main
from Studio.
After the pull request merges, the normal CI workflow pushes the reviewed Git
main source to Veryfront and creates the staging release and deployment
when staging is configured. The approved production workflow uses the same
sequence. Wait for that Push before anyone starts another Studio change.
Verify it worked
- Confirm the pull request diff matches the immutable Studio release.
- Confirm required Git reviews and checks pass.
- Merge the pull request.
- Confirm the serialized CI job pushes and deploys the merged commit.
Next
- Deploy from CI: Push and deploy the merged Git commit.
- Build and deploy: Review the full deployment workflow.
Related
- veryfront/cli: Pull, Push, and Deploy command catalog
- Configuration: Veryfront authentication and project configuration