Using Reacticx
Overview
Reacticx is a copy-paste component library for React
Native and Expo: 163 animated, gesture-driven components that are copied into
the project as source. There is no runtime package to install and nothing to
import from node_modules — once a component lands it is ordinary project code,
free to edit.
Two front doors onto the same registry:
|
Use when |
CLI — npx reacticx <command> |
a human is at a terminal, or a one-off add |
MCP server — @reacticx/mcp |
an agent is doing the work and wants structured results |
Both read the same registry, write to the same outDir, and rewrite imports the
same way. Pick whichever the surrounding session already has; do not mix them
mid-task without re-checking state with reacticx diff / diff_components.
Before adding anything
- Know where files will land.
npx reacticx config (or the get_config
tool) prints the resolved configuration with every default filled in. If the
project has no component.config.json, defaults apply — src/shared/components,
category structure, @/shared/components alias — which is rarely what an
existing project wants. Run reacticx init / init_config first.
- Check it is not already there.
reacticx list shows the registry;
list_installed_components (MCP) or a look inside outDir shows what the
project already has. Re-adding silently discards local edits when --overwrite
is passed.
- Read the component before wiring it up.
reacticx info <name> for the
shape, get_component_types for the real prop types, get_component_example
for a working call site. Guessing at props is the main source of wasted turns.
Adding a component
npx reacticx add accordion # into the configured outDir
npx reacticx add accordion --dir src/components/ui # somewhere else, once
npx reacticx add accordion --types --examples # bring types and the demo screen
npx reacticx add accordion --dry # show the plan, write nothing
npx reacticx add accordion --overwrite # take the registry version
Use bunx, npx, or pnpm dlx to match the project's package manager.
What add does beyond copying files:
- Rewrites imports. Registry source imports
@/components/..., @/utils/...
and @/helpers/.... Those are rewritten to the project's own aliases from
component.config.json, falling back to relative paths when no alias fits.
- Follows dependencies. A component that imports another registry component,
or a shared helper, pulls it in too.
--no-deps turns that off, and then the
copied files will not compile until you supply those modules yourself.
- Refuses to clobber. Existing files are left alone unless
--overwrite.
- Verifies checksums on every download.
- Reports missing npm packages and offers to install them. The MCP server
reports them but never installs — run the command it hands back.
After adding
- Install any missing packages. Prefer
npx expo install <package> over a bare
npm install so versions match the project's Expo SDK.
- Rebuild the native target if anything native landed (
npx expo run:ios,
npx expo run:android). A Metro restart is not enough, and this is the single
most common reason a freshly added component crashes on launch.
- Import from the configured alias, e.g.
import { Accordion } from "@/components/ui/molecules/accordion".
- Type-check and lint. The copied source is now project code and is held to the
project's own standards.
Dependency facts worth knowing
- Nearly everything animates with
react-native-reanimated; 40 components also
need react-native-worklets, which is a separate install since Reanimated 4
moved worklets into its own package.
- Skia is
@shopify/react-native-skia — 45 components use it.
- Blur is
@sbaiahmed1/react-native-blur, a scoped npm package. Do not
install the unscoped react-native-blur; it is a different library.
- Icons come from
@expo/vector-icons, expo-symbols or @hugeicons/react-native
depending on the component.
references/components.md lists the exact dependency set per component.
Common mistakes
- Adding a component before running
init, so it lands in src/shared/components
under an alias the project does not have.
- Skipping the native rebuild after a native dependency lands.
- Re-adding with
--overwrite over a locally edited component. Run
reacticx diff <name> first — it shows exactly what would be lost.
- Passing
--no-deps and then wondering why the imports do not resolve.
- Installing the unscoped
react-native-blur.
- Assuming a component exists because a similar name does.
reacticx list -s <term>
before you write the import; the CLI suggests near-misses on a typo.
References
| File |
What is in it |
references/components.md |
every component: CLI key, description, files, exact dependencies, docs URL. Generated from the registry, the site content and the component sources by scripts/skills/generate-catalog.ts |
references/cli.md |
every CLI command and flag, with the behaviour behind each one |
references/mcp.md |
the MCP server: setup, all 12 tools, resources, and the agent workflow |
references/configuration.md |
every component.config.json key, what it changes, and how paths resolve |
1---2name: using-reacticx3description: Use when adding Reacticx components to a React Native or Expo project, when asked about "reacticx" or "reactctx" components, when wiring up the Reacticx CLI or its MCP server, or when integrating animated UI primitives from the Reacticx registry.4---56# Using Reacticx78## Overview910[Reacticx](https://reacticx.com) is a copy-paste component library for React11Native and Expo: 163 animated, gesture-driven components that are **copied into12the project as source**. There is no runtime package to install and nothing to13import from `node_modules` — once a component lands it is ordinary project code,14free to edit.1516Two front doors onto the same registry:1718| | Use when |19|---|---|20| **CLI** — `npx reacticx <command>` | a human is at a terminal, or a one-off add |21| **MCP server** — `@reacticx/mcp` | an agent is doing the work and wants structured results |2223Both read the same registry, write to the same `outDir`, and rewrite imports the24same way. Pick whichever the surrounding session already has; do not mix them25mid-task without re-checking state with `reacticx diff` / `diff_components`.2627## Before adding anything28291. **Know where files will land.** `npx reacticx config` (or the `get_config`30 tool) prints the resolved configuration with every default filled in. If the31 project has no `component.config.json`, defaults apply — `src/shared/components`,32 category structure, `@/shared/components` alias — which is rarely what an33 existing project wants. Run `reacticx init` / `init_config` first.342. **Check it is not already there.** `reacticx list` shows the registry;35 `list_installed_components` (MCP) or a look inside `outDir` shows what the36 project already has. Re-adding silently discards local edits when `--overwrite`37 is passed.383. **Read the component before wiring it up.** `reacticx info <name>` for the39 shape, `get_component_types` for the real prop types, `get_component_example`40 for a working call site. Guessing at props is the main source of wasted turns.4142## Adding a component4344```bash45npx reacticx add accordion # into the configured outDir46npx reacticx add accordion --dir src/components/ui # somewhere else, once47npx reacticx add accordion --types --examples # bring types and the demo screen48npx reacticx add accordion --dry # show the plan, write nothing49npx reacticx add accordion --overwrite # take the registry version50```5152Use `bunx`, `npx`, or `pnpm dlx` to match the project's package manager.5354What `add` does beyond copying files:5556- **Rewrites imports.** Registry source imports `@/components/...`, `@/utils/...`57 and `@/helpers/...`. Those are rewritten to the project's own aliases from58 `component.config.json`, falling back to relative paths when no alias fits.59- **Follows dependencies.** A component that imports another registry component,60 or a shared helper, pulls it in too. `--no-deps` turns that off, and then the61 copied files will not compile until you supply those modules yourself.62- **Refuses to clobber.** Existing files are left alone unless `--overwrite`.63- **Verifies checksums** on every download.64- **Reports missing npm packages** and offers to install them. The MCP server65 reports them but never installs — run the command it hands back.6667## After adding68691. Install any missing packages. Prefer `npx expo install <package>` over a bare70 `npm install` so versions match the project's Expo SDK.712. **Rebuild the native target** if anything native landed (`npx expo run:ios`,72 `npx expo run:android`). A Metro restart is not enough, and this is the single73 most common reason a freshly added component crashes on launch.743. Import from the configured alias, e.g. `import { Accordion } from "@/components/ui/molecules/accordion"`.754. Type-check and lint. The copied source is now project code and is held to the76 project's own standards.7778## Dependency facts worth knowing7980- Nearly everything animates with `react-native-reanimated`; 40 components also81 need `react-native-worklets`, which is a **separate install** since Reanimated 482 moved worklets into its own package.83- Skia is `@shopify/react-native-skia` — 45 components use it.84- Blur is `@sbaiahmed1/react-native-blur`, a **scoped npm package**. Do not85 install the unscoped `react-native-blur`; it is a different library.86- Icons come from `@expo/vector-icons`, `expo-symbols` or `@hugeicons/react-native`87 depending on the component.8889`references/components.md` lists the exact dependency set per component.9091## Common mistakes9293- Adding a component before running `init`, so it lands in `src/shared/components`94 under an alias the project does not have.95- Skipping the native rebuild after a native dependency lands.96- Re-adding with `--overwrite` over a locally edited component. Run97 `reacticx diff <name>` first — it shows exactly what would be lost.98- Passing `--no-deps` and then wondering why the imports do not resolve.99- Installing the unscoped `react-native-blur`.100- Assuming a component exists because a similar name does. `reacticx list -s <term>`101 before you write the import; the CLI suggests near-misses on a typo.102103## References104105| File | What is in it |106|---|---|107| `references/components.md` | every component: CLI key, description, files, exact dependencies, docs URL. Generated from the registry, the site content and the component sources by `scripts/skills/generate-catalog.ts` |108| `references/cli.md` | every CLI command and flag, with the behaviour behind each one |109| `references/mcp.md` | the MCP server: setup, all 12 tools, resources, and the agent workflow |110| `references/configuration.md` | every `component.config.json` key, what it changes, and how paths resolve |