Reference
Project config
The .rexa/config.json file, with toolchain pins and palette actions for a project.
A project can carry a .rexa/config.json file in its folder. Commit it to share the setup with everyone who opens the repository in Rexa. Rexa reloads the file when it changes.
{
"toolchains": {
"python": "api/.venv",
"typescript": "bundled"
},
"actions": [
{ "label": "Test", "command": "cargo test --workspace", "mode": "new" },
{ "label": "Dev server", "icon": "globe", "command": "npm run dev", "mode": "reuse" }
]
}Each worktree reads its own copy of the file. A subfolder project reads the file in that subfolder, not the repository root.
toolchains
Pins the toolchain each language server uses, and what terminals and agents get on PATH. Keys are typescript, python, node, rust and go.
| Value | Uses |
|---|---|
automatic or project |
The nearest toolchain Rexa finds in the project. |
bundled |
The copy shipped with Rexa (TypeScript). |
A name, such as .venv or 20.11.0 |
The detected candidate with that name. |
| A path | That toolchain. Relative paths are relative to the repository; ~/ expands. |
A value that matches nothing falls back to automatic. Order of precedence, highest first:
- A choice made in the status bar picker for that server.
toolchainsin.rexa/config.json.lsp.toolchainsin Settings.- Automatic detection.
toolchains is read from .rexa/config.json only.
actions
Each action becomes a command palette entry (⌘ ⇧ P) named by its label. Picking it runs the command in the worktree with $SHELL -lic. Picking it again while it runs stops it.
labelstringrequired
commandstringrequired
mode'new' | 'reuse' | 'background'
run.mode setting.iconstring
idstring
VS Code tasks.json files are not read.