create-turbo-wizard 0.0.0-pr12-07aaeda

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 +113 -0
  2. package/dist/cli.js +7041 -0
  3. package/package.json +61 -0
package/README.md ADDED
@@ -0,0 +1,113 @@
1
+ # create-turbo-wizard
2
+
3
+ Scaffold a Turborepo monorepo for a marketing site. Pick a frontend, pick where content
4
+ comes from, tick the modules you want, and get a repo that installs, builds and serves.
5
+
6
+ ```bash
7
+ npm create turbo-wizard@latest
8
+ pnpm create turbo-wizard@latest
9
+ bun create turbo-wizard@latest
10
+ ```
11
+
12
+ Answer the prompts, or skip them:
13
+
14
+ ```bash
15
+ pnpm create turbo-wizard@latest --name acme-site \
16
+ --frontend astro --content sanity --package-manager pnpm \
17
+ --modules ui sections seo forms --yes
18
+ ```
19
+
20
+ With npm, put `--` before the first flag: `npm create turbo-wizard@latest -- --name …`
21
+
22
+ Build a stack visually at **[turbo-wizard.vercel.app/new](https://turbo-wizard.vercel.app/new)** —
23
+ it previews the exact file tree and hands you the command.
24
+
25
+ ## Flags
26
+
27
+ | Flag | Choices | Default |
28
+ | --- | --- | --- |
29
+ | `--name` | lowercase letters, digits, `.` `_` `-` | prompted, else `my-app` |
30
+ | `--frontend` | `astro`, `next` | prompted, else `next` |
31
+ | `--content` | `sanity`, `markdown`, `none` | `none` |
32
+ | `--package-manager` | `pnpm`, `bun`, `npm` | `pnpm` |
33
+ | `--modules` | space-separated ids, table below | none |
34
+ | `--preset` | `vanilla`, `whole-hog` | — |
35
+ | `--deploy` | `node`, `vercel` | `node` |
36
+ | `--dir` | where to write the project | `./<name>` |
37
+ | `--install` | install dependencies after scaffolding | `false` |
38
+ | `--git` | `git init` and a first commit | `false` |
39
+ | `--yes` | skip prompts, take defaults | `false` |
40
+
41
+ Presets are shorthand: `vanilla` is no content source and no modules; `whole-hog` is
42
+ Sanity, every module, and both experimental Next flags (`--cache-components`,
43
+ `--react-compiler`). Explicit flags win over the preset.
44
+
45
+ `--deploy` matters only for an Astro project with a server route (the `forms` module
46
+ adds one): it decides whether the SSR adapter is `@astrojs/node` or `@astrojs/vercel`.
47
+ Next projects ignore it.
48
+
49
+ ## Modules
50
+
51
+ | Module | What it adds |
52
+ | --- | --- |
53
+ | `ui` | shadcn/ui and Tailwind v4 in a shared `@workspace/ui` package |
54
+ | `sections` | Hero, features, logo cloud, pricing, testimonials, FAQ, CTA — static, no client JS. Requires `ui` |
55
+ | `seo` | Metadata, sitemap, robots, generated OG images |
56
+ | `forms` | A contact form and API route sharing one zod schema |
57
+ | `posthog` | Product analytics, opted out until you opt in |
58
+ | `algolia` | Site search with InstantSearch |
59
+ | `llms` | `llms.txt` and a `.md` mirror of each page, so models can read your site |
60
+ | `vitest` | Unit tests |
61
+ | `e2e` | Playwright |
62
+ | `github-ci` | A CI workflow |
63
+ | `git-hooks` | Lefthook and commitlint |
64
+ | `changesets` | Versioning and changelogs |
65
+
66
+ ## What you get
67
+
68
+ ```
69
+ apps/web/ your site
70
+ packages/ui/ shadcn components, one shared theme
71
+ packages/logger/ a logger both apps use
72
+ packages/env/ typed, validated environment variables
73
+ packages/typescript-config/
74
+ turbo.json
75
+ ```
76
+
77
+ The `ui` module lays `packages/ui` out exactly the way `shadcn init --monorepo` does, so
78
+ `npx shadcn@latest add dialog` works in a generated project without any further setup. You
79
+ get shadcn's whole catalogue, not a fork of it.
80
+
81
+ With `sanity`, the Studio is its own app under `apps/studio`, not a route inside the site.
82
+ It's Vite, so Next and Astro projects get the identical one. The schema ports Roboto
83
+ Studio's `turbo-start-sanity` down to the type and field names, so components and GROQ from
84
+ that repo drop straight in. Seed the dataset and the home page renders fully composed across
85
+ all seven blocks.
86
+
87
+ Every combination is verified for real before release — scaffolded, installed, built, served,
88
+ and every page probed — one Docker container per combination.
89
+
90
+ ## Also an MCP server
91
+
92
+ The same binary speaks MCP over stdio, so an agent can scaffold a project itself:
93
+
94
+ ```json
95
+ {
96
+ "mcpServers": {
97
+ "turbo-wizard": {
98
+ "command": "npx",
99
+ "args": ["-y", "create-turbo-wizard", "mcp"]
100
+ }
101
+ }
102
+ }
103
+ ```
104
+
105
+ Four tools: `tw_guidance` describes the options, `tw_schema` returns the config's JSON
106
+ Schema, `tw_plan` previews the file paths a config would generate without writing, and
107
+ `tw_create` scaffolds to disk. `tw_create` never installs dependencies.
108
+
109
+ ## Requires
110
+
111
+ Node 22 or newer.
112
+
113
+ MIT licensed. Source at [robotostudio/turbo-wizard](https://github.com/robotostudio/turbo-wizard).