Browse documentation
Get Started
Quickstart
Install the Composal CLI, sign in, set up coding agents, then clone or import a repository and land your first change.
On this page
1. Install the CLI
Install Composal on macOS or Linux as your normal user. No sudo is needed.
curl -fsSL https://dl.composal.ai/install.sh | sh
The executable is com. The installer also keeps vex as a compatibility alias for existing scripts. If you already have Vex installed, rerun the installer above to add com; your saved sign-in and configuration are kept.
Composal installs into ~/.vex/bin and configures PATH for Bash, Zsh, and Fish automatically. Open a new terminal if prompted, then check the installation:
com --help
No filesystem driver is required for cloning, changes, reviews, or deployment. You can add an optional MacFUSE virtual mount later. On Windows, install Composal inside a WSL Linux distribution.
2. Sign in
com login opens a browser authorization flow and writes the resulting control-plane token to ~/.config/vex/config.toml. com whoami confirms the active identity.
com login
com whoami
On a headless machine, run com login --no-browser and complete the printed verification URL elsewhere. To use a personal token, use the prompted com login --token flow so the token does not land in shell history.
3. Set up your coding agents
com setup detects supported harnesses, shows the plan, and writes only the integrations you confirm. Skills, MCP tools, and Agent Context are independent options:
- Agent Skills teach an agent how to use Composal safely.
- MCP tools let an agent take live repository actions.
- Agent Context is opt-in project hook support that captures and scrubs session context for the exact commit.
com setup
# For a repeatable install:
com setup --yes --targets codex,claude-code,cursor --with-mcp
Inspect the target matrix with com setup --list-targets --format json, and check an existing install with com setup doctor.
4. Get your first repository
Every organization has a Home repository at <org>/home. Clone it to begin from the organization-level working copy.
com clone <org>/home
cd home
If local FUSE is available, com clone <org>/home --fs virtual creates a daemon-backed virtual working copy. The normal checkout is always a supported path.

5. Import a project
For an existing GitHub repository, use the guided importer. It handles authorization, repository selection, conversion, and durable resume state.
com repo import --org <org-slug>
The local-assisted path is usually fastest for large repositories. If the terminal closes or the network drops, resume the printed session:
com repo import --resume <session-id>
For non-interactive use, name the source explicitly and confirm it:
com repo import --org <org-slug> \
--github-repository <owner>/<repo> \
--yes --no-tui
An agent can follow the hosted import prompt. For a direct import into a chosen Home path, use com import github <owner>/<repo> --org <org> --path apps/<slug> --virtual-repo <slug> --yes.
6. Land your first change
Start a change above your trunk, describe it, submit it for review, then request landing. Repeat com new to make dependent changes.
com new main
# Edit files.
com describe -m "feat: my first change"
com submit --target main
com land #1
Use your repository’s trunk name in place of main when it differs. com land #N keeps CI, approval, and queue-order gates in place.

Next steps
You now have a signed-in CLI, agent integrations, and a repository with a landed change. Continue with source control, the CLI reference, or CLI configuration.