Monorepo for Expo's agent CLI.
One-time setup: run npx @expo/agent-cli agents:setup so your coding agent uses agent-cli and Expo skills for Expo work.
Usage: see the @expo/agent-cli README.
@expo/agent-cli— the agent-native CLIexpo-agent-cli— npm alias for@expo/agent-cli
From the repository root:
bun install --frozen-lockfile
bun run checkcheck verifies formatting, CLI types and lint, and the repository, alias, and CLI unit tests.
It does not build the CLI. For process-level coverage, run bun run test:e2e; it builds first.
Both commands are model-free. Live device tests and model evals have separate prerequisites in
the live-test guide and
eval guide.
For a focused change:
bun run test:cli -- src/impact/__tests__/classify-test.ts
bun run test:e2e -- help-test
bun run format README.mdbun run test runs both test runners; bare bun test does not run the supported combined suite.
bun run test:repo runs only the release-script and alias-launcher tests. oxfmt owns formatting
for the whole repository through .oxfmtrc.json.
Read the CLI package guide before editing.
The design index links
the subsystem contracts; follow the @ref llp/... comments in code for the relevant decision.
| Working on | Start here |
|---|---|
| Command routing, flags, or help | src/cli.ts, src/commandRegistry.ts |
| CLI behavior | The command's directory under src/, with tests in __tests__/ |
| Process boundaries | e2e/, which runs the built CLI against fixtures and subprocess stubs |
| npm alias | packages/expo-agent-cli/src/; run bun run bundle after edits |
| Releases or CI | scripts/ and .github/workflows/ |
src/deferred/ is reference material outside the shipped command surface.