delacour 0.1.0-alpha.2 → 0.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +16 -9
  2. package/dist/index.js +3767 -1452
  3. package/package.json +3 -3
package/README.md CHANGED
@@ -5,10 +5,13 @@ repository — you own `button.tsx` and can edit it, rather than waiting for a
5
5
  release.
6
6
 
7
7
  ```bash
8
- bunx delacour@alpha init
9
8
  bunx delacour@alpha add button
10
9
  ```
11
10
 
11
+ That is the whole install. `add` sets the project up on its first run — config, Metro, the Tailwind
12
+ globs, the theme and the root provider — and then copies the component in. Reach for `init`
13
+ directly only to choose where the components live; see [Where components go](#where-components-go).
14
+
12
15
  ## Why not a component package
13
16
 
14
17
  Installing `@some/ui-kit` means every change to a button is someone else's
@@ -27,20 +30,22 @@ Unlike shadcn, the target is Expo, which changes real things:
27
30
  `node_modules` symlink a monorepo creates, and a missed glob strips every
28
31
  class from a release build without erroring.
29
32
  - **`delacour doctor`** checks all of it, plus New Architecture, path aliases,
30
- `GestureHandlerRootView`, whether anything actually imports the CSS entry, and duplicate copies
31
- of a native module.
33
+ `GestureHandlerRootView`, whether anything actually imports the CSS entry, a competing Tailwind
34
+ transform (NativeWind wraps Metro too), and duplicate copies of a native module.
32
35
 
33
36
  ## Commands
34
37
 
35
38
  | | |
36
39
  |---|---|
37
- | `init [components...]` | Write `native-components.json`, wire up Metro and the CSS entry, add the theme |
38
- | `add <components...>` | Copy components and everything they need, and say what to install |
40
+ | `add <components...>` | Copy components and everything they need, and say what to install. Sets the project up first if it has none |
41
+ | `init [components...]` | Do that setup deliberately — choose the source directory, or a shared package |
39
42
  | `list` / `search <q>` | Browse the registry |
40
43
  | `view <name>` | One item: its files, what it pulls in, what it installs |
41
44
  | `diff [name]` | What has changed upstream since you copied it |
42
45
  | `doctor` | Check this app is wired up correctly |
43
46
  | `info` | The resolved config and what was detected |
47
+ | `skills` | Install the agent skill into Claude Code, Cursor, OpenCode or Codex |
48
+ | `mcp` | Run as an MCP server, so an agent can browse and add components |
44
49
 
45
50
  Every registry-reading command takes `--registry <url>` (a URL,
46
51
  `github:owner/repo`, or a local path), `--ref <git-ref>`, `--offline`, and
@@ -226,7 +231,9 @@ component folder, dependencies read off the imports. There is no `registry.json`
226
231
  to maintain, and the builder throws rather than guessing: an unclassified npm
227
232
  import or a component folder without an `index.ts` fails the build.
228
233
 
229
- It writes three things: `registry.json` (the index), `r/<name>.json` (one item,
230
- naming its files) and `files/<namespace>/<target>` (the files themselves). An
231
- item references its files rather than inlining them, so a component's diff is
232
- the TypeScript that changed rather than a JSON string nobody can read.
234
+ It writes `registry.json` (the index), `r/<name>.json` (one item per component,
235
+ naming its files) and the three JSON schemas. It writes **no copy of the
236
+ source**: an item names the library's own file — `packages/native-ui/src/components/button/button.tsx` —
237
+ and the client fetches it at the same ref the item came from, so the two cannot
238
+ disagree. A component's diff is therefore the TypeScript that changed rather
239
+ than a JSON string nobody can read.