Use this as the default AI-safe procedure when work must be pushed to a private fork, not public origin.
- Keep upstream/public remotes for syncing.
- Push writable changes to a private remote.
- Make
f sync --pushand commit flows consistently target the private remote.
- Add private remote.
cd <repo-dir>
git remote add <private-remote> git@github.com:<your-user>/<repo>-i.git
git fetch <private-remote>- Set Flow writable remote in
flow.toml.
[git]
remote = "<private-remote>"- Verify remote map.
git remote -vExpected pattern:
originand/orupstreamare read/sync sources.<private-remote>is writable push target.
cd <repo-dir>
git status --short --branch
git diff --stat
git diff
f commit --slow --review-model codex-high
f sync --pushFlow behavior:
f sync --pushuses[git].remotewhen configured.- Fallback order is
[git].remote, then legacy[jj].remote, thenorigin.
Use this exact phrase when you want review-first behavior:
analyze diff commit and push
Expected assistant behavior:
- Run
git status --short --branch,git diff --stat,git diff. - Produce a findings-first review (ordered by severity, with file references).
- If unresolved P1/P2 issues exist, stop before commit/push and fix or ask for override.
- Run
f commit --slow --review-model codex-high. - Run
f sync --push. - Report which remote received the push (
[git].remoteor fallbackorigin).
- Never push before reviewing
git status --short --branchandgit diff --stat. - Never include unrelated generated artifacts in the commit.
- If the tree is noisy, create smaller focused commits before push.
- If the remote target is unclear, stop and verify
flow.toml[git].remoteplusgit remote -v.
git config --get branch.$(git rev-parse --abbrev-ref HEAD).remote || true
git remote get-url <private-remote>Then run:
f sync --pushdocs/commands/sync.mddocs/flow-toml-spec.mddocs/private-mirror-sync-workflow.mddocs/commands/upstream.md