docs/rise.md
This document explains how Rise integrates with Flow and why installing Rise gives you a high-leverage workflow layer across repos.
Rise itself is treated as closed/internal product code in many environments, but its operator model and command surface can still be documented and shared.
Integration starts with one command:
f install rise
After install:
which rise
rise --help
You now have rise on your PATH and can use Rise workflows from any repo.
From Flow's install behavior (f install):
registry -> parm -> flox)rise is a built-in known install targetrise In PracticeRise is not just one command; it is a workflow layer that adds:
flow.toml generation/merge.The defining Rise behavior is rise adopt.
For external repos, Rise creates a JJ overlay bookmark (rise) above main:
rise layer contains your local workflow files (for example flow.toml, .rise/).main remains untouched.main, so Rise files do not leak into PRs.Typical flow:
rise adopt https://github.com/org/repo
cd ~/code/org/repo
rise sync
jj new main -m "feat: clean PR change"
This is the main reason Rise is valuable in mixed team environments: private operator ergonomics without contaminating shared repo history.
During adoption, Rise detects project tasks from common sources (for example package.json, Makefile, Cargo.toml, go.mod, pyproject.toml, justfile) and generates flow.toml.
You keep the generated baseline and extend it with your own project-specific tasks.
Useful commands:
rise adopt .
rise adopt --force .
rise flow tasks .
rise sync
rise list
Key integration point: this makes Flow task execution (f <task>) available even in repos that did not originally ship with Flow conventions.
Rise provides higher-level wrappers while preserving underlying toolchains.
Common commands:
rise dev
rise app
rise run dev --runner turbo
rise setup
rise verify
From Rise docs/repo behavior:
rise dev starts local dev paths with platform-aware behavior.rise app is a fast app shortcut path.rise run can delegate to task runners (Turbo/Flow patterns).rise setup is project setup entrypoint.rise verify is local verification flow.Rise has dedicated mobile commands with structured observability:
rise mobile validate
rise mobile preflight
rise mobile testflight
rise mobile builds
rise mobile logs
Why this matters:
validate catches JS bundle issues quickly.preflight checks config + bundle + prebuild inspect.testflight captures structured build events.builds/logs provide post-failure visibility and faster debugging loops.This reduces the "wait 10+ minutes to discover obvious build issues" pattern in Expo/EAS flows.
Rise includes schema lifecycle commands:
rise schema init
rise schema status
rise schema diff
rise schema generate
rise schema push
rise schema validate
This supports a source-of-truth schema flow with generated app bindings (including TypeScript/Effect-oriented outputs in documented workflows).
Rise supports VM-backed sandbox execution and verification:
rise sandbox
rise sandbox verify
rise verify --sandbox
rise sandbox kill
rise sandbox clean
Use this when you need stronger isolation for verification or reproduction loops.
Rise docs also describe:
rise logs)rise work --errors paths)For Flow users, this complements:
f commit review/message provider strategies that can call Rise-backed providersrise workFor a new machine:
f doctor
f auth login
f install rise
rise --help
For an external/team repo:
cd ~/code/org/repo
rise adopt .
rise sync
For daily work:
rise verify
rise mobile preflight # if mobile repo
jj new main -m "feat: ..."
Use Rise when you want:
Use plain Flow-only setup when:
Flow and Rise are complementary:
f tasks, f env, f commit, deploy/sync/invariants).The practical entrypoint is still:
f install rise
Then use rise where it adds leverage, while keeping Flow as your consistent command contract across projects.
If you have access to the internal Rise repo docs, these are particularly relevant:
docs/adopt-guide.mddocs/workflow-guide.mddocs/rise-branch-workflow.mddocs/build-observability.mddocs/schema-guide.mddocs/sandbox-vibe.mddocs/rise-mobile-compat.mddocs/expo-identifiers.md