@tanstack/cli 0.61.1 → 0.62.1
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 +11 -5
- package/skills/CHANGELOG.md +18 -0
- package/skills/add-addons-existing-app/SKILL.md +113 -0
- package/skills/choose-ecosystem-integrations/SKILL.md +140 -0
- package/skills/choose-ecosystem-integrations/references/authentication-providers.md +19 -0
- package/skills/choose-ecosystem-integrations/references/data-layer-providers.md +20 -0
- package/skills/choose-ecosystem-integrations/references/deployment-targets.md +19 -0
- package/skills/create-app-scaffold/SKILL.md +132 -0
- package/skills/create-app-scaffold/references/create-flag-compatibility-matrix.md +34 -0
- package/skills/create-app-scaffold/references/deployment-providers.md +19 -0
- package/skills/create-app-scaffold/references/framework-adapters.md +17 -0
- package/skills/create-app-scaffold/references/toolchains.md +17 -0
- package/skills/maintain-custom-addons-dev-watch/SKILL.md +118 -0
- package/skills/query-docs-library-metadata/SKILL.md +85 -0
- package/skills/query-docs-library-metadata/references/discovery-command-output-schemas.md +70 -0
- package/CHANGELOG.md +0 -815
- package/playwright-report/index.html +0 -85
- package/playwright.config.ts +0 -21
- package/src/bin.ts +0 -15
- package/src/cli.ts +0 -1099
- package/src/command-line.ts +0 -612
- package/src/dev-watch.ts +0 -564
- package/src/discovery.ts +0 -209
- package/src/file-syncer.ts +0 -263
- package/src/index.ts +0 -21
- package/src/options.ts +0 -280
- package/src/types.ts +0 -27
- package/src/ui-environment.ts +0 -74
- package/src/ui-prompts.ts +0 -387
- package/src/utils.ts +0 -30
- package/test-results/.last-run.json +0 -4
- package/tests/command-line.test.ts +0 -703
- package/tests/index.test.ts +0 -9
- package/tests/options.test.ts +0 -281
- package/tests/setupVitest.ts +0 -6
- package/tests/ui-environment.test.ts +0 -97
- package/tests/ui-prompts.test.ts +0 -233
- package/tests-e2e/addons-smoke.spec.ts +0 -31
- package/tests-e2e/create-smoke.spec.ts +0 -39
- package/tests-e2e/helpers.ts +0 -526
- package/tests-e2e/matrix-opportunistic.spec.ts +0 -142
- package/tests-e2e/router-only-smoke.spec.ts +0 -54
- package/tests-e2e/solid-smoke.spec.ts +0 -26
- package/tests-e2e/templates-smoke.spec.ts +0 -52
- package/tsconfig.json +0 -17
- package/vitest.config.js +0 -8
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maintain-custom-addons-dev-watch
|
|
3
|
+
description: >
|
|
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
|
|
6
|
+
loop preconditions, watch-path validation, and project metadata constraints.
|
|
7
|
+
type: lifecycle
|
|
8
|
+
library: tanstack-cli
|
|
9
|
+
library_version: "0.61.0"
|
|
10
|
+
requires:
|
|
11
|
+
- add-addons-existing-app
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Maintain Custom Add-ons In Dev Watch
|
|
15
|
+
|
|
16
|
+
Use this skill for local add-on authoring workflows where you continuously compile and sync package output into a target app.
|
|
17
|
+
|
|
18
|
+
## Setup
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx @tanstack/cli add-on init
|
|
22
|
+
npx @tanstack/cli add-on compile
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Core Patterns
|
|
26
|
+
|
|
27
|
+
### Run add-on dev loop while editing source
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx @tanstack/cli add-on dev
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Sync watched package output into target app
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx @tanstack/cli dev --dev-watch ../my-addon-package
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Re-run compile before apply when changing metadata
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npx @tanstack/cli add-on compile
|
|
43
|
+
npx @tanstack/cli add my-custom-addon
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Common Mistakes
|
|
47
|
+
|
|
48
|
+
### HIGH Use --dev-watch with --no-install
|
|
49
|
+
|
|
50
|
+
Wrong:
|
|
51
|
+
```bash
|
|
52
|
+
npx @tanstack/cli dev --dev-watch ../my-addon-package --no-install
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Correct:
|
|
56
|
+
```bash
|
|
57
|
+
npx @tanstack/cli dev --dev-watch ../my-addon-package
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Dev-watch rejects `--no-install`, so automated loops fail before any sync work starts.
|
|
61
|
+
|
|
62
|
+
Source: packages/cli/src/dev-watch.ts:112
|
|
63
|
+
|
|
64
|
+
### HIGH Start dev-watch without valid package entry
|
|
65
|
+
|
|
66
|
+
Wrong:
|
|
67
|
+
```bash
|
|
68
|
+
npx @tanstack/cli dev --dev-watch ../missing-or-invalid-package
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Correct:
|
|
72
|
+
```bash
|
|
73
|
+
npx @tanstack/cli dev --dev-watch ../valid-addon-package
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Watch setup validates path and package metadata first, so invalid targets fail before file syncing begins.
|
|
77
|
+
|
|
78
|
+
Source: packages/cli/src/dev-watch.ts:100
|
|
79
|
+
|
|
80
|
+
### CRITICAL Author add-on from code-router project
|
|
81
|
+
|
|
82
|
+
Wrong:
|
|
83
|
+
```bash
|
|
84
|
+
npx @tanstack/cli add-on init
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Correct:
|
|
88
|
+
```bash
|
|
89
|
+
# Run add-on init from a file-router project
|
|
90
|
+
npx @tanstack/cli add-on init
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Custom add-on authoring expects file-router mode and exits when run from incompatible project modes.
|
|
94
|
+
|
|
95
|
+
Source: packages/create/src/custom-add-ons/add-on.ts
|
|
96
|
+
|
|
97
|
+
### HIGH Run add-on workflows without scaffold metadata
|
|
98
|
+
|
|
99
|
+
Wrong:
|
|
100
|
+
```bash
|
|
101
|
+
npx @tanstack/cli add-on dev
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Correct:
|
|
105
|
+
```bash
|
|
106
|
+
# Run in a project scaffolded by TanStack CLI (contains .cta.json), then:
|
|
107
|
+
npx @tanstack/cli add-on dev
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Custom add-on flows rely on persisted scaffold options, so missing metadata blocks initialization and update paths.
|
|
111
|
+
|
|
112
|
+
Source: packages/create/src/custom-add-ons/shared.ts:158
|
|
113
|
+
|
|
114
|
+
### HIGH Tension: Backwards support vs deterministic automation
|
|
115
|
+
|
|
116
|
+
This domain's patterns conflict with add-addons-existing-app. Tooling assumes reusable automation, but hidden metadata preconditions from legacy support make add-on loops non-portable across repositories.
|
|
117
|
+
|
|
118
|
+
See also: add-addons-existing-app/SKILL.md § Common Mistakes
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: query-docs-library-metadata
|
|
3
|
+
description: >
|
|
4
|
+
Retrieve machine-readable context with tanstack libraries, tanstack doc,
|
|
5
|
+
tanstack search-docs, tanstack create --list-add-ons --json, and
|
|
6
|
+
--addon-details for agent-safe discovery and preflight validation.
|
|
7
|
+
type: core
|
|
8
|
+
library: tanstack-cli
|
|
9
|
+
library_version: "0.61.0"
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Query Docs And Library Metadata
|
|
13
|
+
|
|
14
|
+
Use this skill to collect authoritative context before code generation or integration selection.
|
|
15
|
+
|
|
16
|
+
## Setup
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx @tanstack/cli libraries --json
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Core Patterns
|
|
23
|
+
|
|
24
|
+
### Resolve valid library ids before doc fetch
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx @tanstack/cli libraries --json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Fetch a specific docs page with explicit version
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx @tanstack/cli doc --library router --version latest --path /docs/framework/react/guide/routing
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Search docs for implementation targets
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx @tanstack/cli search-docs "server functions" --library start --json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Common Mistakes
|
|
43
|
+
|
|
44
|
+
### HIGH Use invalid library id/version/path for doc fetch
|
|
45
|
+
|
|
46
|
+
Wrong:
|
|
47
|
+
```bash
|
|
48
|
+
npx @tanstack/cli doc --library made-up-lib --version latest --path /docs
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Correct:
|
|
52
|
+
```bash
|
|
53
|
+
npx @tanstack/cli libraries --json
|
|
54
|
+
npx @tanstack/cli doc --library router --version latest --path /docs/framework/react/guide/routing
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`doc` validates identifiers against registry metadata and fails when any segment is not real.
|
|
58
|
+
|
|
59
|
+
Source: packages/cli/src/cli.ts:746
|
|
60
|
+
|
|
61
|
+
### MEDIUM Rely on deprecated create alias for discovery
|
|
62
|
+
|
|
63
|
+
Wrong:
|
|
64
|
+
```bash
|
|
65
|
+
npx create-tsrouter-app --list-add-ons
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Correct:
|
|
69
|
+
```bash
|
|
70
|
+
npx @tanstack/cli create --list-add-ons --json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Legacy alias workflows can produce confusing outputs that do not match current CLI discovery behavior. Fixed in newer versions, but agents trained on older examples may still generate this pattern.
|
|
74
|
+
|
|
75
|
+
Source: https://github.com/TanStack/cli/issues/93
|
|
76
|
+
|
|
77
|
+
### HIGH Tension: Single-command convenience vs integration precision
|
|
78
|
+
|
|
79
|
+
This domain's patterns conflict with create-app-scaffold and choose-ecosystem-integrations. Skipping discovery to run one-shot scaffold commands tends to lock in plausible defaults that miss architecture constraints.
|
|
80
|
+
|
|
81
|
+
See also: create-app-scaffold/SKILL.md § Common Mistakes
|
|
82
|
+
|
|
83
|
+
## References
|
|
84
|
+
|
|
85
|
+
- [Discovery command output schemas](references/discovery-command-output-schemas.md)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Discovery Command Output Schemas
|
|
2
|
+
|
|
3
|
+
Targets `@tanstack/cli` v0.61.0.
|
|
4
|
+
|
|
5
|
+
## `tanstack libraries --json`
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"count": 3,
|
|
10
|
+
"libraries": [
|
|
11
|
+
{
|
|
12
|
+
"id": "router",
|
|
13
|
+
"label": "TanStack Router",
|
|
14
|
+
"description": "Type-safe routing",
|
|
15
|
+
"latestVersion": "latest"
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## `tanstack search-docs <query> --json`
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"query": "server functions",
|
|
26
|
+
"results": [
|
|
27
|
+
{
|
|
28
|
+
"library": "start",
|
|
29
|
+
"version": "latest",
|
|
30
|
+
"title": "Server Functions",
|
|
31
|
+
"path": "/docs/framework/react/guide/server-functions"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## `tanstack create --list-add-ons --json`
|
|
38
|
+
|
|
39
|
+
```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
|
+
## `tanstack create --addon-details <id> --json`
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"id": "prisma",
|
|
58
|
+
"name": "Prisma",
|
|
59
|
+
"options": [
|
|
60
|
+
{
|
|
61
|
+
"name": "provider",
|
|
62
|
+
"default": "postgres",
|
|
63
|
+
"choices": ["postgres", "sqlite", "mysql"]
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"dependsOn": []
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Use this reference to parse shapes defensively and normalize fields before feeding downstream planning or generation steps.
|