@tamer4lynx/cli 0.0.8 → 0.0.11

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 +45 -30
  2. package/dist/index.js +1907 -1358
  3. package/package.json +2 -4
package/README.md CHANGED
@@ -132,48 +132,64 @@ Run from an extension package root to generate code from `@lynxmodule` declarati
132
132
 
133
133
  ---
134
134
 
135
- ### **Android Commands**
135
+ Commands use the form **`t4l <command> [target] [flags]`** so they stay consistent. Target is a platform (`ios`, `android`) or, for create, an extension type (`module`, `element`, `service`, `combo`).
136
136
 
137
- | Command | Flags | Description |
138
- |---------|-------|-------------|
139
- | `t4l android create` | `-t, --target <host\|dev-app>` | Create Android project. Default: `host`. |
140
- | `t4l android link` | — | Link native modules to Gradle. Build runs this automatically. |
141
- | `t4l android bundle` | `-d, --debug`, `-r, --release` | Build Lynx bundle and copy to assets. `-d` (default) embeds dev client if present; `-r` omits it. Runs autolink first. |
142
- | `t4l android build` | `-i, --install`, `-e, --embeddable`, `-d, --debug`, `-r, --release` | Build APK. `-d` (default) = debug with dev client; `-r` = release without. `--install` deploys to device. `--embeddable` outputs AAR to `embeddable/`. |
143
- | `t4l android sync` | — | Sync dev client files (TemplateProvider, MainActivity, DevClientManager). |
144
- | `t4l android inject` | `-f, --force` | Inject tamer-host templates. `--force` overwrites existing files. |
137
+ ### **Create** (`t4l create <target>`)
145
138
 
146
- ### **iOS Commands**
147
-
148
- | Command | Flags | Description |
149
- |---------|-------|-------------|
150
- | `t4l ios create` | — | Create iOS project. |
151
- | `t4l ios link` | — | Link native modules to Podfile. Build runs this automatically. |
152
- | `t4l ios bundle` | `-d, --debug`, `-r, --release` | Build Lynx bundle and copy to iOS project. `-d` embeds dev client if present; `-r` omits it. |
153
- | `t4l ios build` | `-e, --embeddable`, `-i, --install`, `-d, --debug`, `-r, --release` | Build iOS app. `-d` = debug with dev client; `-r` = release without. `--install` deploys to simulator. |
154
- | `t4l ios inject` | `-f, --force` | Inject tamer-host templates. `--force` overwrites existing files. |
139
+ | Target | Flags | Description |
140
+ |--------|-------|-------------|
141
+ | `ios` | | Create iOS project. |
142
+ | `android` | `-d, --debug` (default), `-r, --release` (dev-app) | Create Android project. |
143
+ | `module` | — | Create Lynx extension with native module only. |
144
+ | `element` | — | Create Lynx extension with custom element (JSX preserved). |
145
+ | `service` | | Create Lynx extension with service only. |
146
+ | `combo` | | Create Lynx extension with module + element + service. |
155
147
 
156
- ### **Unified Build** (`t4l build`)
148
+ ### **Build** (`t4l build [platform]`)
157
149
 
158
- Builds your app. Dev client (QR scan, HMR) is included when you use **debug** (`-d`) and have `@tamer4lynx/tamer-dev-client` installed; **release** (`-r`) builds without it.
150
+ Builds your app. Dev client (QR scan, HMR) is included with **debug** (`-d`) when `@tamer4lynx/tamer-dev-client` is installed; **release** (`-r`) builds without it.
159
151
 
160
152
  | Flag | Short | Default | Description |
161
153
  |------|-------|---------|-------------|
162
- | `--platform` | `-p` | `all` | `android`, `ios`, or `all` |
163
- | `--embeddable` | `-e` | — | Output to `embeddable/`: **AAR** (Android) + **CocoaPod** (iOS). Use with `--release`. |
164
- | `--debug` | `-d` | default | Debug build with dev client embedded (if tamer-dev-client is installed) |
154
+ | platform | | both | `ios`, `android`, or omit for both |
155
+ | `--embeddable` | `-e` | — | Output to `embeddable/`. Use with `--release`. |
156
+ | `--debug` | `-d` | default | Debug build with dev client |
165
157
  | `--release` | `-r` | — | Release build without dev client |
166
158
  | `--install` | `-i` | — | Install to device/simulator after build |
167
159
 
160
+ Examples: `t4l build`, `t4l build android -i`, `t4l build ios -r`.
161
+
162
+ ### **Link** (`t4l link [platform]`)
163
+
164
+ | Flag | Description |
165
+ |------|-------------|
166
+ | platform | `ios`, `android`, or `both` (default) |
167
+ | `-s, --silent` | For CI/postinstall (suppress output). |
168
+
169
+ ### **Bundle** (`t4l bundle [platform]`)
170
+
171
+ Build Lynx bundle and copy to native project. Platform: `ios` | `android` (default: both). Flags: `-d, --debug`, `-r, --release`.
172
+
173
+ ### **Inject** (`t4l inject <platform>`)
174
+
175
+ Inject tamer-host templates. Platform: `ios` | `android`. Use `-f, --force` to overwrite.
176
+
177
+ ### **Sync** (`t4l sync [platform]`)
178
+
179
+ Sync dev client files from tamer.config.json. Only `android` is supported (default).
180
+
168
181
  ### **Other Commands**
169
182
 
170
183
  | Command | Flags | Description |
171
184
  |---------|-------|-------------|
172
- | `t4l add [packages...]` | — | Add @tamer4lynx packages. Future: version tracking (Expo-style). |
173
- | `t4l add-core` | — | Add core packages (app-shell, screen, router, insets, transports, input, system-ui, icons). |
174
- | `t4l start` | `-v, --verbose` | Dev server with HMR. `--verbose` shows native + JS logs. |
175
- | `t4l link` | `-i, --ios`, `-a, --android`, `-s, --silent` | Link modules. `--ios`/`--android` limit to one platform. `--silent` for CI/postinstall. |
176
- | `t4l autolink-toggle` | — | Toggle `autolink` in tamer.config.json (postinstall linking). |
185
+ | `t4l add [packages...]` | — | Add @tamer4lynx packages. |
186
+ | `t4l add-core` | — | Add core packages (app-shell, screen, router, insets, transports, system-ui, icons). |
187
+ | `t4l start` | `-v, --verbose` | Dev server with HMR. |
188
+ | `t4l autolink-toggle` | | Toggle `autolink` in tamer.config.json. |
189
+
190
+ **Long-form options:** All flags support both short and long form (e.g. `-d` or `--debug`, `-r` or `--release`, `-i` or `--install`).
191
+
192
+ **Legacy commands:** Platform-first form still works: `t4l android create`, `t4l android build -r`, `t4l ios link`, `t4l ios bundle`, etc.
177
193
 
178
194
  See [Commands Reference](packages/docs/docs/commands.md) for full flag details.
179
195
 
@@ -266,7 +282,7 @@ Install from npm (use `@prerelease` for latest) and run `t4l link` after adding
266
282
  | Package | Install | Description |
267
283
  |---------|---------|-------------|
268
284
  | [@tamer4lynx/jiggle](https://www.npmjs.com/package/@tamer4lynx/jiggle) | `npm i @tamer4lynx/jiggle@prerelease` | Vibration/haptic |
269
- | [@tamer4lynx/lynxwebsockets](https://www.npmjs.com/package/@tamer4lynx/lynxwebsockets) | `npm i @tamer4lynx/lynxwebsockets@prerelease` | WebSocket native bridge |
285
+ | WebSocket (native) | — | Use [@tamer4lynx/tamer-transports](https://www.npmjs.com/package/@tamer4lynx/tamer-transports) (`@tamer4lynx/lynxwebsockets` is retired from this monorepo) |
270
286
  | [@tamer4lynx/tamer-host](https://www.npmjs.com/package/@tamer4lynx/tamer-host) | `npm i @tamer4lynx/tamer-host@prerelease` | Production Lynx host templates |
271
287
  | [@tamer4lynx/tamer-dev-client](https://www.npmjs.com/package/@tamer4lynx/tamer-dev-client) | `npm i @tamer4lynx/tamer-dev-client@prerelease` | Dev launcher UI (QR scan, HMR). Add to your app and build with `-d` for a dev build; `-r` omits it. |
272
288
  | [@tamer4lynx/tamer-dev-app](https://www.npmjs.com/package/@tamer4lynx/tamer-dev-app) | workspace / npm | Standalone dev app (store build). Your app can use tamer-dev-client for dev builds instead. |
@@ -276,7 +292,6 @@ Install from npm (use `@prerelease` for latest) and run `t4l link` after adding
276
292
  | [@tamer4lynx/tamer-insets](https://www.npmjs.com/package/@tamer4lynx/tamer-insets) | `npm i @tamer4lynx/tamer-insets@prerelease` | System insets, keyboard state |
277
293
  | [@tamer4lynx/tamer-system-ui](https://www.npmjs.com/package/@tamer4lynx/tamer-system-ui) | `npm i @tamer4lynx/tamer-system-ui@prerelease` | Status bar, navigation bar |
278
294
  | [@tamer4lynx/tamer-app-shell](https://www.npmjs.com/package/@tamer4lynx/tamer-app-shell) | `npm i @tamer4lynx/tamer-app-shell@prerelease` | AppBar, TabBar, Content layout |
279
- | [@tamer4lynx/tamer-text-input](https://www.npmjs.com/package/@tamer4lynx/tamer-text-input) | `npm i @tamer4lynx/tamer-text-input@prerelease` | React TextInput |
280
295
  | [@tamer4lynx/tamer-auth](https://www.npmjs.com/package/@tamer4lynx/tamer-auth) | `npm i @tamer4lynx/tamer-auth@prerelease` | OAuth 2.0 / OIDC |
281
296
  | [@tamer4lynx/tamer-biometric](https://www.npmjs.com/package/@tamer4lynx/tamer-biometric) | `npm i @tamer4lynx/tamer-biometric@prerelease` | Fingerprint, Face ID |
282
297
  | [@tamer4lynx/tamer-display-browser](https://www.npmjs.com/package/@tamer4lynx/tamer-display-browser) | `npm i @tamer4lynx/tamer-display-browser@prerelease` | Open URLs in system browser |