Skip to content

Commit 337eeba

Browse files
committed
feat: force TanStack Start with Tailwind CSS always enabled
- Remove code-router mode and --router-only flag (TanStack Start only) - Remove start add-on (baked into base templates) - Remove module-federation add-on - Force Tailwind CSS to always be enabled - Remove --tailwind/--no-tailwind CLI flags - Remove selectTailwind and selectTypescript prompts - Remove forcedMode parameter (mode always file-router) - Simplify template conditionals and hardcode typescript/tailwind values - Update README.md.ejs with instructions for removing Tailwind - Clean up dead code and unused functions - Update all CLI wrappers to show deprecation warnings
1 parent f62079d commit 337eeba

File tree

128 files changed

+560
-3692
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+560
-3692
lines changed

.changeset/tricky-candles-greet.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
'create-tanstack-app': minor
3+
'create-tsrouter-app': minor
4+
'create-start-app': minor
5+
'create-tanstack': minor
6+
'@tanstack/create-start': minor
7+
'@tanstack/create-ui': minor
8+
'@tanstack/create': minor
9+
'@tanstack/cli': minor
10+
---
11+
12+
force tailwind, force typescript

CLAUDE.md

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,9 @@
33
## Quick Reference
44

55
```bash
6-
# Create TanStack Start app (default)
6+
# Create TanStack Start app
77
npx @tanstack/cli create my-app
88

9-
# Create Router-only SPA (no SSR)
10-
npx @tanstack/cli create my-app --router-only
11-
129
# With add-ons
1310
npx @tanstack/cli create my-app --add-ons clerk,drizzle,tanstack-query
1411

@@ -50,7 +47,6 @@ node ../cli/packages/cli/dist/index.js create my-app
5047
| Add-on | Plugin that extends apps (auth, DB, etc) | `--add-ons` |
5148
| Starter | Reusable preset of add-ons (config only) | `--starter` |
5249
| Framework | React or Solid | `--framework` |
53-
| Mode | `file-router` (default) or `code-router` | `--router-only` for code-router SPA |
5450

5551
## CLI Commands
5652

@@ -68,12 +64,10 @@ node ../cli/packages/cli/dist/index.js create my-app
6864
| Flag | Description |
6965
|------|-------------|
7066
| `--add-ons <ids>` | Comma-separated add-on IDs |
71-
| `--router-only` | SPA without TanStack Start (no SSR) |
7267
| `--framework <name>` | React or Solid |
7368
| `--toolchain <id>` | Toolchain (use `--list-add-ons` to see options) |
7469
| `--deployment <id>` | Deployment target (use `--list-add-ons` to see options) |
7570
| `--starter <url>` | Use starter preset |
76-
| `--no-tailwind` | Skip Tailwind |
7771
| `--no-git` | Skip git init |
7872
| `--no-install` | Skip npm install |
7973
| `-y` | Accept defaults |
@@ -85,15 +79,14 @@ node ../cli/packages/cli/dist/index.js create my-app
8579
| Variable | Type | Description |
8680
|----------|------|-------------|
8781
| `projectName` | string | Project name |
88-
| `typescript` | boolean | TypeScript enabled |
89-
| `tailwind` | boolean | Tailwind enabled |
90-
| `fileRouter` | boolean | File-based routing |
91-
| `codeRouter` | boolean | Code-based routing |
82+
| `typescript` | boolean | Always true (TanStack Start requires TS) |
83+
| `tailwind` | boolean | Always true (Tailwind always enabled) |
84+
| `fileRouter` | boolean | Always true |
9285
| `addOnEnabled` | object | `{ [id]: boolean }` |
9386
| `addOnOption` | object | `{ [id]: options }` |
9487
| `packageManager` | string | npm/pnpm/yarn/bun/deno |
95-
| `js` | string | `ts` or `js` |
96-
| `jsx` | string | `tsx` or `jsx` |
88+
| `js` | string | Always `ts` |
89+
| `jsx` | string | Always `tsx` |
9790

9891
## Testing Add-ons Locally
9992

cli-aliases/create-start-app/src/index.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,8 @@ import {
1111
cli({
1212
name: 'create-start-app',
1313
appName: 'TanStack Start',
14-
forcedMode: 'file-router',
15-
forcedAddOns: ['start'],
1614
showDeploymentOptions: true,
1715
forcedDeployment: 'nitro',
18-
craCompatible: true,
1916
legacyAutoCreate: true,
2017
frameworkDefinitionInitializers: [
2118
createReactFrameworkDefinition,

cli-aliases/create-tanstack-app/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,5 @@ cli({
88
name: 'create-tanstack-app',
99
appName: 'TanStack',
1010
forcedDeployment: 'nitro',
11-
defaultTemplate: 'file-router',
12-
craCompatible: true,
1311
legacyAutoCreate: true,
1412
})

cli-aliases/create-tanstack/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,5 @@ cli({
88
name: 'create-tanstack',
99
appName: 'TanStack',
1010
forcedDeployment: 'nitro',
11-
defaultTemplate: 'file-router',
12-
craCompatible: true,
1311
legacyAutoCreate: true,
1412
})
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
#!/usr/bin/env node
2-
console.warn('\x1b[33m%s\x1b[0m', 'Warning: create-tsrouter-app is deprecated. Use "tanstack create --router-only" or "npx @tanstack/cli create --router-only" instead.')
3-
console.warn('\x1b[33m%s\x1b[0m', ' See: https://tanstack.com/router/latest/docs/framework/react/quick-start\n')
2+
console.warn('\x1b[33m%s\x1b[0m', 'Warning: create-tsrouter-app is deprecated. Use "tanstack create" or "npx @tanstack/cli create" instead.')
3+
console.warn('\x1b[33m%s\x1b[0m', ' This will now create a TanStack Start app (with SSR). See: https://tanstack.com/start/latest/docs/framework/react/quick-start\n')
44

55
import { cli } from '@tanstack/cli'
66

77
cli({
88
name: 'create-tsrouter-app',
9-
appName: 'TanStack',
10-
craCompatible: true,
9+
appName: 'TanStack Start',
1110
legacyAutoCreate: true,
1211
})

cli-aliases/ts-create-start/src/index.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ cli({
88
name: '@tanstack/create-start',
99
forcedDeployment: 'nitro',
1010
appName: 'TanStack Start',
11-
forcedMode: 'file-router',
12-
forcedAddOns: ['start'],
13-
craCompatible: true,
1411
showDeploymentOptions: true,
1512
legacyAutoCreate: true,
1613
})

docs/mcp/overview.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ tanstack mcp --sse
4848
| Tool | Description |
4949
|------|-------------|
5050
| `listTanStackAddOns` | Get available add-ons for project creation |
51+
| `getAddOnDetails` | Get detailed info about a specific add-on |
5152
| `createTanStackApplication` | Create a new TanStack Start project |
5253

5354
### Documentation & Ecosystem

docs/mcp/tools.md

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,54 @@ interface AddOn {
2222
id: string // e.g., "tanstack-query"
2323
name: string // e.g., "TanStack Query"
2424
description: string
25+
type: string // "add-on", "toolchain", "deployment"
2526
category: string // "tanstack", "auth", "database", etc.
27+
link?: string // Documentation URL
28+
warning?: string // Warning message for the add-on
29+
exclusive?: string[] // Mutually exclusive add-ons
30+
options?: object // Configurable options
2631
dependsOn: string[] // Required add-ons
27-
conflicts: string[] // Incompatible add-ons
28-
hasOptions: boolean // Has configurable options
32+
}
33+
```
34+
35+
---
36+
37+
### getAddOnDetails
38+
39+
Returns detailed information about a specific add-on including implementation patterns, routes, dependencies, and documentation.
40+
41+
**Parameters:**
42+
43+
| Param | Type | Required | Description |
44+
|-------|------|----------|-------------|
45+
| `framework` | string | Yes | `React` or `Solid` |
46+
| `addOnId` | string | Yes | The add-on ID (e.g., `clerk`, `drizzle`) |
47+
48+
**Response:**
49+
50+
```typescript
51+
interface AddOnDetails {
52+
id: string
53+
name: string
54+
description: string
55+
type: string
56+
category: string
57+
phase: string
58+
modes: string[]
59+
link?: string
60+
warning?: string
61+
exclusive?: string[]
62+
dependsOn: string[]
63+
options?: object
64+
routes?: object[] // Route definitions
65+
packageAdditions?: object // package.json additions
66+
shadcnComponents?: string[] // Required shadcn components
67+
integrations?: object[] // Integration configs
68+
readme?: string // Add-on documentation
69+
files: string[] // List of files in the add-on
70+
author?: string
71+
version?: string
72+
license?: string
2973
}
3074
```
3175

Lines changed: 1 addition & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1 @@
1-
<% if (tailwind) { %>@import "tailwindcss";
2-
<% } else { %>.App {
3-
text-align: center;
4-
}
5-
6-
.App-logo {
7-
height: 40vmin;
8-
pointer-events: none;
9-
}
10-
11-
@media (prefers-reduced-motion: no-preference) {
12-
.App-logo {
13-
animation: App-logo-spin infinite 20s linear;
14-
}
15-
}
16-
17-
.App-header {
18-
background-color: #282c34;
19-
min-height: 100vh;
20-
display: flex;
21-
flex-direction: column;
22-
align-items: center;
23-
justify-content: center;
24-
font-size: calc(10px + 2vmin);
25-
color: white;
26-
}
27-
28-
.App-link {
29-
color: #61dafb;
30-
}
31-
32-
@keyframes App-logo-spin {
33-
from {
34-
transform: rotate(0deg);
35-
}
36-
to {
37-
transform: rotate(360deg);
38-
}
39-
}
40-
<% } %>
1+
@import "tailwindcss";

0 commit comments

Comments
 (0)