Commands
Every command, and the flags they share.
delacour <command> [components...] [options]Every command that reads the registry also takes --registry, --ref, --offline and --cwd —
see Shared options.
init
Sets the project up and writes native-components.json. Covered in full at
Setting up a project.
delacour init [components...]Prop
Type
add
Copies components in, with everything they need.
delacour add button input field
delacour add --allThe order is deliberate: resolve the dependency graph, plan every file, ask once about conflicts, write, then install. Installing first would leave a project holding new native dependencies and no components if you answered "no" to the overwrite prompt.
Prop
Type
A file already on disk with byte-identical content is not a conflict — that is the normal state of
a utility two components share, and add says so rather than asking. Only a genuine difference is
worth a prompt, because you may well have edited it.
Dependencies are split three ways
expo install for native modules and anything pinned to the SDK, your package manager for plain
JavaScript, and registryDependencies — which are other components to copy, not packages to
install.
Non-interactively (--yes, or a pipe), a conflict is an error naming the files rather than a
silent overwrite. Pass --overwrite when you mean it.
list, search, view
Browsing works before native-components.json exists — which is exactly when you are deciding whether to
run init.
delacour list
delacour search sheet
delacour view buttonview prints the item's files, the components it copies in, and the packages it installs. All
three take --json.
diff
Shows what has moved upstream since you copied a component.
delacour diff # every component you have
delacour diff buttonRead-only, and deliberately so. Once a component is in your repository it is yours, and the
changes on each side are both legitimate — a fix upstream, a tweak locally. Printing both and
stopping is the only behaviour that does not quietly pick a winner. add <name> --overwrite takes
the registry's copy when that is what you want.
Which components you hold is judged from the files on disk, not from anything recorded at add
time — a manifest of "what was installed" would be one more thing to drift from reality.
doctor
Checks that the app is wired up for these components. Every check is a failure mode that produces no error on its own — see Troubleshooting.
delacour doctor
delacour doctor --fast # skip the checks that shell out to the Expo CLI
delacour doctor --jsonExits non-zero when a check fails, so it works in CI.
info
The resolved config and what was detected: package manager, Expo and React Native versions,
whether Uniwind and Tailwind are installed, the workspace and app roots, and the path aliases
found in tsconfig.json.
delacour infoStart here when the CLI is writing files somewhere you did not expect.
mcp
Runs as an MCP server over stdio so a coding agent can browse and add components. See Agents.
Shared options
Prop
Type
--cwd decides which native-components.json applies: the nearest one, walking upwards. The walk stops at
the repository root — past it lie your other projects.
See The registry for pinning a ref and pointing at a fork.