@tanstack/cli 0.62.2 → 0.62.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.
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@tanstack/cli",
3
- "version": "0.62.2",
3
+ "version": "0.62.4",
4
4
  "description": "TanStack CLI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/types/index.d.ts",
8
8
  "files": [
9
9
  "dist",
10
- "skills"
10
+ "skills",
11
+ "!skills/_artifacts"
11
12
  ],
12
13
  "bin": {
13
14
  "tanstack": "./dist/bin.js"
@@ -40,11 +41,12 @@
40
41
  "tempy": "^3.1.0",
41
42
  "validate-npm-package-name": "^7.0.0",
42
43
  "zod": "^3.24.2",
43
- "@tanstack/create": "0.63.0"
44
+ "@tanstack/create": "0.63.1"
44
45
  },
45
46
  "devDependencies": {
46
47
  "@playwright/test": "^1.58.2",
47
48
  "@tanstack/config": "^0.16.2",
49
+ "@tanstack/intent": "^0.0.13",
48
50
  "@types/diff": "^5.2.0",
49
51
  "@types/node": "^22.13.4",
50
52
  "@types/semver": "^7.7.0",
@@ -6,7 +6,7 @@ description: >
6
6
  project metadata preconditions.
7
7
  type: core
8
8
  library: tanstack-cli
9
- library_version: "0.61.0"
9
+ library_version: "0.62.1"
10
10
  ---
11
11
 
12
12
  # Add Add-ons To Existing App
@@ -7,7 +7,7 @@ description: >
7
7
  provider options, and router-only compatibility constraints.
8
8
  type: composition
9
9
  library: tanstack-cli
10
- library_version: "0.61.0"
10
+ library_version: "0.62.1"
11
11
  requires:
12
12
  - create-app-scaffold
13
13
  - query-docs-library-metadata
@@ -7,7 +7,7 @@ description: >
7
7
  construction.
8
8
  type: core
9
9
  library: tanstack-cli
10
- library_version: "0.61.0"
10
+ library_version: "0.62.1"
11
11
  ---
12
12
 
13
13
  # Create App Scaffold
@@ -1,6 +1,6 @@
1
1
  # Create Flag Compatibility Matrix
2
2
 
3
- Targets `@tanstack/cli` v0.61.0.
3
+ Targets `@tanstack/cli` v0.62.1.
4
4
 
5
5
  ## Compatibility
6
6
 
@@ -2,11 +2,11 @@
2
2
  name: maintain-custom-addons-dev-watch
3
3
  description: >
4
4
  Build and iterate custom add-ons/templates with tanstack add-on init,
5
- add-on compile, add-on dev, and tanstack dev --dev-watch, including sync
5
+ add-on compile, add-on dev, and tanstack create --dev-watch, including sync
6
6
  loop preconditions, watch-path validation, and project metadata constraints.
7
7
  type: lifecycle
8
8
  library: tanstack-cli
9
- library_version: "0.61.0"
9
+ library_version: "0.62.1"
10
10
  requires:
11
11
  - add-addons-existing-app
12
12
  ---
@@ -30,10 +30,11 @@ npx @tanstack/cli add-on compile
30
30
  npx @tanstack/cli add-on dev
31
31
  ```
32
32
 
33
- ### Sync watched package output into target app
33
+ ### Sync watched framework directory into a sandbox target app
34
34
 
35
35
  ```bash
36
- npx @tanstack/cli dev --dev-watch ../my-addon-package
36
+ # --dev-watch is a flag on `create`, not on `dev`
37
+ npx @tanstack/cli create my-sandbox --dev-watch ../path/to/framework-dir
37
38
  ```
38
39
 
39
40
  ### Re-run compile before apply when changing metadata
@@ -49,33 +50,33 @@ npx @tanstack/cli add my-custom-addon
49
50
 
50
51
  Wrong:
51
52
  ```bash
52
- npx @tanstack/cli dev --dev-watch ../my-addon-package --no-install
53
+ npx @tanstack/cli create my-sandbox --dev-watch ../my-addon-package --no-install
53
54
  ```
54
55
 
55
56
  Correct:
56
57
  ```bash
57
- npx @tanstack/cli dev --dev-watch ../my-addon-package
58
+ npx @tanstack/cli create my-sandbox --dev-watch ../my-addon-package
58
59
  ```
59
60
 
60
61
  Dev-watch rejects `--no-install`, so automated loops fail before any sync work starts.
61
62
 
62
63
  Source: packages/cli/src/dev-watch.ts:112
63
64
 
64
- ### HIGH Start dev-watch without valid package entry
65
+ ### HIGH Start dev-watch without valid framework directory
65
66
 
66
67
  Wrong:
67
68
  ```bash
68
- npx @tanstack/cli dev --dev-watch ../missing-or-invalid-package
69
+ npx @tanstack/cli create my-sandbox --dev-watch ../missing-or-invalid-dir
69
70
  ```
70
71
 
71
72
  Correct:
72
73
  ```bash
73
- npx @tanstack/cli dev --dev-watch ../valid-addon-package
74
+ npx @tanstack/cli create my-sandbox --dev-watch ../valid-framework-dir
74
75
  ```
75
76
 
76
- Watch setup validates path and package metadata first, so invalid targets fail before file syncing begins.
77
+ Watch setup validates that the path exists, is a directory, and contains at least one of `add-ons/`, `assets/`, or `framework.json`. Invalid targets fail before file syncing begins.
77
78
 
78
- Source: packages/cli/src/dev-watch.ts:100
79
+ Source: packages/cli/src/command-line.ts:599
79
80
 
80
81
  ### CRITICAL Author add-on from code-router project
81
82
 
@@ -6,7 +6,7 @@ description: >
6
6
  --addon-details for agent-safe discovery and preflight validation.
7
7
  type: core
8
8
  library: tanstack-cli
9
- library_version: "0.61.0"
9
+ library_version: "0.62.1"
10
10
  ---
11
11
 
12
12
  # Query Docs And Library Metadata
@@ -30,7 +30,9 @@ npx @tanstack/cli libraries --json
30
30
  ### Fetch a specific docs page with explicit version
31
31
 
32
32
  ```bash
33
- npx @tanstack/cli doc --library router --version latest --path /docs/framework/react/guide/routing
33
+ # Syntax: tanstack doc <library-id> <path> [--docs-version <version>]
34
+ npx @tanstack/cli doc router framework/react/guide/routing
35
+ npx @tanstack/cli doc router framework/react/guide/routing --docs-version latest
34
36
  ```
35
37
 
36
38
  ### Search docs for implementation targets
@@ -45,16 +47,19 @@ npx @tanstack/cli search-docs "server functions" --library start --json
45
47
 
46
48
  Wrong:
47
49
  ```bash
48
- npx @tanstack/cli doc --library made-up-lib --version latest --path /docs
50
+ # Wrong: --library and --version are not flags on doc; path must not include /docs/ prefix
51
+ npx @tanstack/cli doc --library router --version latest --path /docs/framework/react/guide/routing
49
52
  ```
50
53
 
51
54
  Correct:
52
55
  ```bash
56
+ # Step 1: resolve a valid library id
53
57
  npx @tanstack/cli libraries --json
54
- npx @tanstack/cli doc --library router --version latest --path /docs/framework/react/guide/routing
58
+ # Step 2: fetch using positional args — library id then doc path (no /docs/ prefix)
59
+ npx @tanstack/cli doc router framework/react/guide/routing
55
60
  ```
56
61
 
57
- `doc` validates identifiers against registry metadata and fails when any segment is not real.
62
+ `doc` takes `<library>` and `<path>` as positional arguments (not flags), and the path must not include a leading `/docs/` segment. Use `--docs-version` (not `--version`) to pin a specific version.
58
63
 
59
64
  Source: packages/cli/src/cli.ts:746
60
65
 
@@ -1,34 +1,43 @@
1
1
  # Discovery Command Output Schemas
2
2
 
3
- Targets `@tanstack/cli` v0.61.0.
3
+ Targets `@tanstack/cli` v0.62.1.
4
4
 
5
5
  ## `tanstack libraries --json`
6
6
 
7
7
  ```json
8
8
  {
9
+ "group": "All Libraries",
9
10
  "count": 3,
10
11
  "libraries": [
11
12
  {
12
13
  "id": "router",
13
- "label": "TanStack Router",
14
- "description": "Type-safe routing",
15
- "latestVersion": "latest"
14
+ "name": "TanStack Router",
15
+ "tagline": "Type-safe routing for React",
16
+ "description": "...",
17
+ "frameworks": ["react", "solid"],
18
+ "latestVersion": "1.x.x",
19
+ "docsUrl": "https://tanstack.com/router",
20
+ "githubUrl": "https://github.com/TanStack/router"
16
21
  }
17
22
  ]
18
23
  }
19
24
  ```
20
25
 
26
+ Key fields: `id` (use for `tanstack doc <id>`), `name`, `tagline`, `latestVersion`.
27
+
21
28
  ## `tanstack search-docs <query> --json`
22
29
 
23
30
  ```json
24
31
  {
25
32
  "query": "server functions",
33
+ "totalHits": 42,
26
34
  "results": [
27
35
  {
28
- "library": "start",
29
- "version": "latest",
30
36
  "title": "Server Functions",
31
- "path": "/docs/framework/react/guide/server-functions"
37
+ "url": "https://tanstack.com/router/latest/docs/...",
38
+ "snippet": "...",
39
+ "library": "start",
40
+ "breadcrumb": ["Guides", "Server Functions"]
32
41
  }
33
42
  ]
34
43
  }
@@ -36,35 +45,87 @@ Targets `@tanstack/cli` v0.61.0.
36
45
 
37
46
  ## `tanstack create --list-add-ons --json`
38
47
 
48
+ Output is a **flat array** of add-on objects (no wrapper):
49
+
39
50
  ```json
40
- {
41
- "count": 4,
42
- "addOns": [
43
- {
44
- "id": "drizzle",
45
- "name": "Drizzle",
46
- "category": "database",
47
- "dependsOn": []
48
- }
49
- ]
50
- }
51
+ [
52
+ {
53
+ "id": "drizzle",
54
+ "name": "Drizzle",
55
+ "description": "TypeScript ORM",
56
+ "type": "add-on",
57
+ "category": "orm",
58
+ "phase": "add-on",
59
+ "modes": ["file-router"],
60
+ "link": "https://orm.drizzle.team",
61
+ "warning": null,
62
+ "exclusive": ["orm"],
63
+ "dependsOn": [],
64
+ "options": {}
65
+ }
66
+ ]
51
67
  ```
52
68
 
69
+ Key fields: `id` (use for `--add-ons` and `tanstack add`), `exclusive` (categories allowing only one choice), `dependsOn` (ids auto-added), `options` (non-empty means configurable — inspect with `--addon-details`).
70
+
53
71
  ## `tanstack create --addon-details <id> --json`
54
72
 
55
73
  ```json
56
74
  {
57
75
  "id": "prisma",
58
76
  "name": "Prisma",
59
- "options": [
60
- {
61
- "name": "provider",
77
+ "description": "Next-generation ORM",
78
+ "type": "add-on",
79
+ "category": "orm",
80
+ "phase": "add-on",
81
+ "modes": ["file-router"],
82
+ "exclusive": ["orm"],
83
+ "dependsOn": [],
84
+ "options": {
85
+ "provider": {
86
+ "type": "select",
87
+ "label": "Database provider",
88
+ "description": "The database driver Prisma will connect to",
62
89
  "default": "postgres",
63
- "choices": ["postgres", "sqlite", "mysql"]
90
+ "options": [
91
+ { "value": "postgres", "label": "PostgreSQL" },
92
+ { "value": "sqlite", "label": "SQLite" },
93
+ { "value": "mysql", "label": "MySQL" }
94
+ ]
64
95
  }
65
- ],
66
- "dependsOn": []
96
+ },
97
+ "routes": [],
98
+ "packageAdditions": {
99
+ "dependencies": {},
100
+ "devDependencies": {},
101
+ "scripts": {}
102
+ }
67
103
  }
68
104
  ```
69
105
 
106
+ `options` is a **record keyed by option name**, each entry has `type`, `label`, `default`, and (for `select`) an `options` array of `{ value, label }`.
107
+
108
+ ## `tanstack ecosystem --json`
109
+
110
+ ```json
111
+ {
112
+ "query": { "category": null, "library": null },
113
+ "count": 5,
114
+ "partners": [
115
+ {
116
+ "id": "neon",
117
+ "name": "Neon",
118
+ "tagline": "Serverless Postgres",
119
+ "description": "...",
120
+ "category": "database",
121
+ "categoryLabel": "Database",
122
+ "url": "https://neon.tech",
123
+ "libraries": ["router", "start"]
124
+ }
125
+ ]
126
+ }
127
+ ```
128
+
129
+ Note: ecosystem `id` values are **not** necessarily the same as add-on `id` values. Always cross-reference with `--list-add-ons --json` before using in `tanstack add`.
130
+
70
131
  Use this reference to parse shapes defensively and normalize fields before feeding downstream planning or generation steps.