@tenphi/cookbook 0.15.0 → 0.17.0

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 (46) hide show
  1. package/README.md +25 -0
  2. package/dist/config.d.ts +2 -2
  3. package/dist/index.d.ts +2 -2
  4. package/docs/ai-agents.md +61 -0
  5. package/docs/architecture.md +91 -0
  6. package/docs/authoring.mdx +86 -0
  7. package/docs/cli.md +88 -0
  8. package/docs/configuration.md +587 -0
  9. package/docs/content-sources.md +178 -0
  10. package/docs/customization-rules.md +154 -0
  11. package/docs/deployment.md +95 -0
  12. package/docs/examples.md +101 -0
  13. package/docs/getting-started.md +134 -0
  14. package/docs/index.md +74 -0
  15. package/docs/migration.md +36 -0
  16. package/docs/starlight-comparison.md +124 -0
  17. package/docs/theme-and-components.md +745 -0
  18. package/docs/upstream/glaze/LICENSE +21 -0
  19. package/docs/upstream/glaze/README.md +156 -0
  20. package/docs/upstream/glaze/docs/api.md +2021 -0
  21. package/docs/upstream/glaze/docs/methodology.md +686 -0
  22. package/docs/upstream/glaze/docs/migration.md +351 -0
  23. package/docs/upstream/glaze/docs/okhst.md +207 -0
  24. package/docs/upstream/manifest.json +18 -0
  25. package/docs/upstream/tasty/LICENSE +21 -0
  26. package/docs/upstream/tasty/README.md +685 -0
  27. package/docs/upstream/tasty/docs/README.md +39 -0
  28. package/docs/upstream/tasty/docs/adoption.md +323 -0
  29. package/docs/upstream/tasty/docs/ai-agents.md +229 -0
  30. package/docs/upstream/tasty/docs/comparison.md +448 -0
  31. package/docs/upstream/tasty/docs/configuration.md +823 -0
  32. package/docs/upstream/tasty/docs/debug.md +335 -0
  33. package/docs/upstream/tasty/docs/design-system.md +455 -0
  34. package/docs/upstream/tasty/docs/dsl.md +1021 -0
  35. package/docs/upstream/tasty/docs/getting-started.md +238 -0
  36. package/docs/upstream/tasty/docs/injector.md +634 -0
  37. package/docs/upstream/tasty/docs/methodology.md +648 -0
  38. package/docs/upstream/tasty/docs/migration-v3.md +285 -0
  39. package/docs/upstream/tasty/docs/pipeline.md +749 -0
  40. package/docs/upstream/tasty/docs/plugins.md +353 -0
  41. package/docs/upstream/tasty/docs/react-api.md +681 -0
  42. package/docs/upstream/tasty/docs/runtime-benchmarks.md +351 -0
  43. package/docs/upstream/tasty/docs/ssr.md +610 -0
  44. package/docs/upstream/tasty/docs/styles.md +677 -0
  45. package/docs/upstream/tasty/docs/tasty-static.md +582 -0
  46. package/package.json +12 -7
package/README.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @tenphi/cookbook
2
2
 
3
+ Before changing a site's appearance, read the
4
+ [customization rules](./docs/customization-rules.md)
5
+ ([online](https://cookbook.tenphi.me/customization-rules/)). The package ships
6
+ the complete [Cookbook documentation](./docs/index.md) and local Tasty and Glaze
7
+ references under `docs/upstream/`, including Tasty's
8
+ [style rules for AI agents](./docs/upstream/tasty/docs/ai-agents.md).
9
+ The guide includes a project instruction snippet and the lint setup.
10
+
3
11
  Install the complete integration with `npx astro add @tenphi/cookbook`:
4
12
 
5
13
  ```ts
@@ -17,6 +25,23 @@ import { defineDocsConfig } from "@tenphi/cookbook/config";
17
25
  export default defineDocsConfig({ site: { title: "My project" } });
18
26
  ```
19
27
 
28
+ Set fonts, typography, and built-in element styles in the same file:
29
+
30
+ ```ts
31
+ export default defineDocsConfig({
32
+ theme: {
33
+ fonts: { body: "Inter", heading: "Newsreader" },
34
+ presets: { h1: { fontSize: "3rem" } },
35
+ styles: { Sidebar: { LinkLabel: { whiteSpace: "normal" } } },
36
+ },
37
+ });
38
+ ```
39
+
40
+ For local fonts, place files in `public/fonts/` and use
41
+ `fonts: { body: { family: "My Font", files: [{ src: "/fonts/my-font.woff2" }] } }`.
42
+ See [Theme and components](./docs/theme-and-components.md) for all named
43
+ sub-elements and the custom component flow.
44
+
20
45
  Without configuration, a root `README.md` becomes `/` and
21
46
  `docs/**/*.{md,mdx}` supplies the remaining pages. Cookbook includes Starlight,
22
47
  generates only static output, and derives its URL base from Astro. Adding other
package/dist/config.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
 
2
- import { COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, ComponentStylesConfig, DocsConfig, DocsSource, ThemeConfig, defineDocsConfig, mergeDocsConfig } from "@tenphi/docs/config";
3
- export { COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, type ComponentStylesConfig, type DocsConfig, type DocsSource, type ThemeConfig, defineDocsConfig, mergeDocsConfig };
2
+ import { COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, ComponentStylesConfig, DocsConfig, DocsSource, ThemeConfig, ThemeFont, ThemeFontFile, ThemeFonts, defineDocsConfig, mergeDocsConfig } from "@tenphi/docs/config";
3
+ export { COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, type ComponentStylesConfig, type DocsConfig, type DocsSource, type ThemeConfig, type ThemeFont, type ThemeFontFile, type ThemeFonts, defineDocsConfig, mergeDocsConfig };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
 
2
2
  import starlight_default, { CookbookOptions, DEFAULT_THEME_TOKENS, DEFAULT_TYPOGRAPHY_PRESETS } from "@tenphi/starlight";
3
- import { BrandConfig, BuildConfig, COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, ComponentStyleConfig, ComponentStyles, ComponentStylesConfig, ComponentsConfig, ContentConfig, CookbookComponentName, CookbookComponentStyles, CookbookComponentSubElementName, DocsAsset, DocsConfig, DocsDiagnostic, DocsEntry, DocsFrontmatter, DocsGraph, DocsRoute, DocsSource, EditLinkConfig, HeadConfig, LocaleConfig, MarkdownConfig, NavigationConfig, NavigationItem, NavigationPlacement, NavigationTab, SearchConfig, SiteConfig, SiteIconConfig, ThemeConfig, ThemePaletteConfig, ThemeTokenValue, ThemeTokens, TypographyPreset, TypographyPresets, defineDocsConfig, mergeDocsConfig } from "@tenphi/docs";
4
- export { type BrandConfig, type BuildConfig, COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, type ComponentStyleConfig, type ComponentStyles, type ComponentStylesConfig, type ComponentsConfig, type ContentConfig, type CookbookComponentName, type CookbookComponentStyles, type CookbookComponentSubElementName, type CookbookOptions, DEFAULT_THEME_TOKENS, DEFAULT_TYPOGRAPHY_PRESETS, type DocsAsset, type DocsConfig, type DocsDiagnostic, type DocsEntry, type DocsFrontmatter, type DocsGraph, type DocsRoute, type DocsSource, type EditLinkConfig, type HeadConfig, type LocaleConfig, type MarkdownConfig, type NavigationConfig, type NavigationItem, type NavigationPlacement, type NavigationTab, type SearchConfig, type SiteConfig, type SiteIconConfig, type ThemeConfig, type ThemePaletteConfig, type ThemeTokenValue, type ThemeTokens, type TypographyPreset, type TypographyPresets, starlight_default as default, defineDocsConfig, mergeDocsConfig };
3
+ import { BrandConfig, BrandDeclaration, BuildConfig, COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, ComponentStyleConfig, ComponentStyles, ComponentStylesConfig, ComponentsConfig, ContentConfig, CookbookComponentName, CookbookComponentStyles, CookbookComponentSubElementName, DocsAsset, DocsConfig, DocsDiagnostic, DocsEntry, DocsFrontmatter, DocsGraph, DocsRoute, DocsSource, EditLinkConfig, HeadConfig, LocaleConfig, MarkdownConfig, NavigationConfig, NavigationItem, NavigationPlacement, NavigationTab, SearchConfig, SiteConfig, SiteIconConfig, SiteVersion, ThemeConfig, ThemeFont, ThemeFontFile, ThemeFonts, ThemePaletteColor, ThemePaletteConfig, ThemeTokenValue, ThemeTokens, TypographyPreset, TypographyPresets, defineDocsConfig, mergeDocsConfig } from "@tenphi/docs";
4
+ export { type BrandConfig, type BrandDeclaration, type BuildConfig, COOKBOOK_COMPONENT_NAMES, COOKBOOK_COMPONENT_SUB_ELEMENTS, type ComponentStyleConfig, type ComponentStyles, type ComponentStylesConfig, type ComponentsConfig, type ContentConfig, type CookbookComponentName, type CookbookComponentStyles, type CookbookComponentSubElementName, type CookbookOptions, DEFAULT_THEME_TOKENS, DEFAULT_TYPOGRAPHY_PRESETS, type DocsAsset, type DocsConfig, type DocsDiagnostic, type DocsEntry, type DocsFrontmatter, type DocsGraph, type DocsRoute, type DocsSource, type EditLinkConfig, type HeadConfig, type LocaleConfig, type MarkdownConfig, type NavigationConfig, type NavigationItem, type NavigationPlacement, type NavigationTab, type SearchConfig, type SiteConfig, type SiteIconConfig, type SiteVersion, type ThemeConfig, type ThemeFont, type ThemeFontFile, type ThemeFonts, type ThemePaletteColor, type ThemePaletteConfig, type ThemeTokenValue, type ThemeTokens, type TypographyPreset, type TypographyPresets, starlight_default as default, defineDocsConfig, mergeDocsConfig };
@@ -0,0 +1,61 @@
1
+ ---
2
+ title: AI agents
3
+ description: Create a Cookbook site with a coding agent and make the published docs easy for agents to find and read.
4
+ sidebar:
5
+ order: 3
6
+ ---
7
+
8
+ Cookbook's project creator writes an `AGENTS.md` beside `docs.config.ts` and an
9
+ `.agents/skills/upgrade-cookbook/SKILL.md` for dependency upgrades. They tell
10
+ coding agents where content lives, where to find Cookbook's installed reference
11
+ docs, how to upgrade Cookbook, and how to validate changes. Give an agent a
12
+ concrete task, for example:
13
+
14
+ > Create a Cookbook site for this repository in `docs-site/`. Use the existing
15
+ > README and `docs/` pages as sources. Set the public site URL to
16
+ > `https://docs.example.com`, add a getting started page if one is missing,
17
+ > and run the doctor and production build.
18
+
19
+ From the repository root, the agent can run:
20
+
21
+ ```sh
22
+ npm create @tenphi/cookbook@latest docs-site -- --source . --site https://docs.example.com --yes
23
+ cd docs-site
24
+ npm run doctor
25
+ npm run build
26
+ ```
27
+
28
+ For a new project without existing documentation, omit `--source .`. To document
29
+ an npm artifact, use `--package name@version` instead. The [getting started
30
+ guide](./getting-started.md) covers all three paths. Agents should edit
31
+ `docs.config.ts` for site metadata, navigation, and theme, and follow the
32
+ [customization rules](./customization-rules.md) for styling.
33
+ Replace the example URL with the site's actual public origin.
34
+
35
+ ## Make the published site readable
36
+
37
+ Set `site.url` in `docs.config.ts` to the public HTTPS origin. If the site is
38
+ hosted under a path, set Astro's `base` in `astro.config.ts`. A production build
39
+ then gives every page a canonical URL and creates a sitemap. Cookbook also writes:
40
+
41
+ - `llms.txt`, a short index of published pages with titles, descriptions, and
42
+ links to their readable HTML pages. Drafts are omitted. This is an optional
43
+ discovery aid for agents that choose to read it.
44
+ - `robots.txt` at origin-root deployments with a pointer to the sitemap. A
45
+ `robots.txt` below a path such as `/project/` would not control the origin's
46
+ crawlers, so Cookbook does not generate one there.
47
+
48
+ You can supply your own `public/llms.txt` or `public/robots.txt`; Cookbook keeps
49
+ those files. For sites under a path, configure an origin-root `robots.txt` at
50
+ the hosting layer if you need one.
51
+
52
+ The HTML pages remain the primary source of information. Their text, headings,
53
+ links, and page metadata are present in the static response, so an agent can
54
+ read them without running client JavaScript. Write descriptive headings and
55
+ link text, keep instructions current, and verify the production output with
56
+ `npm run build` and `npm run preview`.
57
+
58
+ Google's [AI Search guidance](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide)
59
+ prioritizes ordinary crawlability and useful content. It says `llms.txt` is
60
+ not used by Google Search; Cookbook provides it for other agents that use the
61
+ [llms.txt proposal](https://llmstxt.org/).
@@ -0,0 +1,91 @@
1
+ ---
2
+ title: Architecture
3
+ description: Understand the four packages and the static content pipeline behind Cookbook.
4
+ sidebar:
5
+ order: 8
6
+ ---
7
+
8
+ Cookbook keeps content concerns separate from rendering so another renderer
9
+ can consume the same validated graph in the future.
10
+
11
+ ## Packages
12
+
13
+ | Package | Responsibility |
14
+ | ------------------------- | ----------------------------------------------------------------------------------------------------------- |
15
+ | `@tenphi/create-cookbook` | Inspect an npm artifact and scaffold a reproducible documentation project |
16
+ | `@tenphi/cookbook` | Provide the memorable Astro integration, public config exports, and CLI |
17
+ | `@tenphi/docs` | Discover sources, resolve packages, build the content graph, transform Markdown, and report diagnostics |
18
+ | `@tenphi/starlight` | Adapt the graph to Astro/Starlight and provide the Tasty/Glaze theme, components, search, and static assets |
19
+
20
+ The `@tenphi/cookbook` default export represents the complete product. Consumers do
21
+ not compose Starlight or renderer internals themselves.
22
+
23
+ ## Build pipeline
24
+
25
+ 1. Validate and normalize the configuration.
26
+ 2. Collect local and locked package sources.
27
+ 3. Assign canonical routes to every document.
28
+ 4. Parse Markdown and collect headings, links, and assets.
29
+ 5. Rewrite internal references through the completed route graph.
30
+ 6. Reject unsafe paths and report strict diagnostics.
31
+ 7. Render static pages through Astro and Starlight.
32
+ 8. Copy content-hashed assets and build the local Pagefind index.
33
+
34
+ Source documents are read-only throughout this process. The transformed body
35
+ exists in the in-memory graph and the renderer's virtual module; a build never
36
+ rewrites the repository Markdown.
37
+
38
+ ## Theme pipeline
39
+
40
+ Theme resolution has three deliberately separate layers:
41
+
42
+ 1. Glaze resolves semantic palette inputs into light, dark, and high-contrast
43
+ colors.
44
+ 2. The Glaze values, design tokens, typography presets, states, and units are
45
+ registered directly with Tasty.
46
+ 3. Cookbook components use `tasty()` and the Tasty selector bridge styles DOM
47
+ owned by Astro, Starlight, Expressive Code, Pagefind, and rendered Markdown.
48
+
49
+ The palette owns color relationships. Components never choose raw light/dark
50
+ colors, and shape tokens never contain palette logic. This keeps a palette
51
+ change, a density change, and a typography change independent. Astro runs
52
+ Tasty in extract mode, so these runtime style calls become a shared static CSS
53
+ asset during the build; no Tasty styling runtime ships to the browser.
54
+
55
+ ## Public graph API
56
+
57
+ Renderer and tooling authors can work directly with `@tenphi/docs`:
58
+
59
+ ```ts
60
+ import {
61
+ assertValidDocs,
62
+ createDocsGraph,
63
+ defineDocsConfig,
64
+ } from "@tenphi/docs";
65
+
66
+ const config = defineDocsConfig({
67
+ content: {
68
+ sources: [{ glob: "docs/**/*.md", base: "docs" }],
69
+ },
70
+ });
71
+
72
+ const graph = await createDocsGraph({ root: process.cwd(), config });
73
+ assertValidDocs(graph);
74
+
75
+ for (const route of graph.routes) {
76
+ console.log(route.route, route.sourcePath);
77
+ }
78
+ ```
79
+
80
+ The graph exposes normalized entries, routes, assets, and structured
81
+ diagnostics without importing Starlight.
82
+
83
+ ## Reference app
84
+
85
+ The monorepo's `apps/reference` project is both the deployed documentation site
86
+ and an end-to-end fixture. Its integration discovers `docs.config.ts`, whose
87
+ `root: "../.."` loads this `docs/` tree through the same route pipeline used by
88
+ convention-mode sites. CI builds the same app before GitHub Pages publishes it.
89
+
90
+ Return to [Cookbook](./index.md) or inspect the
91
+ [repository](https://github.com/tenphi/cookbook).
@@ -0,0 +1,86 @@
1
+ ---
2
+ title: Authoring components
3
+ description: Use accessible tabs, callouts, code groups, cards, steps, and isolated previews.
4
+ sidebar:
5
+ order: 4
6
+ ---
7
+
8
+ import { Callout, CodeGroup, Tab, Tabs } from "@tenphi/cookbook/components";
9
+
10
+ Write ordinary Markdown for most pages. Use MDX when a page needs components,
11
+ and import them from `@tenphi/cookbook/components`. Local MDX is supported by
12
+ default; npm MDX requires an explicit `trust: "mdx"` source declaration.
13
+
14
+ ## Tabs
15
+
16
+ Every panel requires a `label`. Arrow keys, Home, and End move between tabs;
17
+ right-to-left layouts reverse the horizontal arrow direction. Without
18
+ JavaScript, all panels remain readable under their headings.
19
+
20
+ ```mdx
21
+ import { Tab, Tabs } from "@tenphi/cookbook/components";
22
+
23
+ <Tabs label="Installation">
24
+ <Tab label="npm">Run `npm install your-package`.</Tab>
25
+ <Tab label="pnpm">Run `pnpm add your-package`.</Tab>
26
+ </Tabs>
27
+ ```
28
+
29
+ <Tabs label="Installation">
30
+ <Tab label="npm">Run `npm install your-package`.</Tab>
31
+ <Tab label="pnpm">Run `pnpm add your-package`.</Tab>
32
+ </Tabs>
33
+
34
+ ## Callouts
35
+
36
+ Use `kind="note"`, `"tip"`, `"caution"`, or `"danger"`; `title` overrides the
37
+ visible label. The default kind is `note`. Status colors come from
38
+ `theme.palette.info`, `success`, `warning`, and `danger` and adapt to all schemes
39
+ and contrast modes.
40
+
41
+ ```mdx
42
+ <Callout kind="tip" title="Keep content close to code">
43
+ Relative Markdown links continue to work after Cookbook assigns public routes.
44
+ </Callout>
45
+ ```
46
+
47
+ <Callout kind="tip" title="Keep content close to code">
48
+ Relative Markdown links continue to work after Cookbook assigns public routes.
49
+ </Callout>
50
+
51
+ ## Code groups
52
+
53
+ Pass labeled source strings to create an accessible tabbed code group. `language`
54
+ is an optional visible label; these programmatic snippets render as escaped plain
55
+ text. Ordinary fenced Markdown provides syntax highlighting.
56
+
57
+ ```mdx
58
+ <CodeGroup
59
+ label="Install Cookbook"
60
+ items={[
61
+ { label: "npm", language: "shell", code: "npm install @tenphi/cookbook" },
62
+ { label: "pnpm", language: "shell", code: "pnpm add @tenphi/cookbook" },
63
+ ]}
64
+ />
65
+ ```
66
+
67
+ <CodeGroup
68
+ label="Install Cookbook"
69
+ items={[
70
+ { label: "npm", language: "shell", code: "npm install @tenphi/cookbook" },
71
+ { label: "pnpm", language: "shell", code: "pnpm add @tenphi/cookbook" },
72
+ ]}
73
+ />
74
+
75
+ ## Other components
76
+
77
+ | Component | Props and behavior |
78
+ | --------- | ----------------------------------------------------------------------------------------------------------------- |
79
+ | `Card` | Optional `title` and `href`; renders an article or link with slot content |
80
+ | `Steps` | Ordered list container; supply `li` elements |
81
+ | `Logo` | Optional `label`, `decorative`, and `class`; renders the Cookbook mark |
82
+ | `Preview` | Required `title`; optional `html`, `css`, and `javascript`; isolates examples in Shadow DOM or a sandboxed iframe |
83
+
84
+ The public package exports each component's props type, such as `TabProps`,
85
+ `CalloutProps`, and `CodeGroupProps`. Styles and all named sub-elements are
86
+ listed in [Theme and components](./theme-and-components.md#style-customization).
package/docs/cli.md ADDED
@@ -0,0 +1,88 @@
1
+ ---
2
+ title: CLI commands
3
+ description: Validate documentation and reconcile package locks using the same configuration as Astro.
4
+ sidebar:
5
+ order: 6
6
+ ---
7
+
8
+ The integration and CLI discover `docs.config.ts`, `.mts`, `.js`, or `.mjs` in the
9
+ project directory. Its `root` sets the content and lock directory. Use `--root`
10
+ to select another project, or `--config` for an explicit config path relative to
11
+ that project.
12
+
13
+ ## Validate with doctor
14
+
15
+ ```sh
16
+ npx @tenphi/cookbook doctor
17
+ npx @tenphi/cookbook doctor --root ./apps/docs
18
+ npx @tenphi/cookbook doctor --config ./config/manual.ts --json
19
+ ```
20
+
21
+ Doctor checks the content graph, configuration, semantic theme, links, assets,
22
+ navigation, and redirects without starting Astro. It exits non-zero for errors.
23
+ It does not compile MDX or replace a full Astro build.
24
+
25
+ JSON results use a stable envelope, including configuration failures:
26
+
27
+ ```json
28
+ {
29
+ "ok": true,
30
+ "pages": 8,
31
+ "assets": 3,
32
+ "diagnostics": []
33
+ }
34
+ ```
35
+
36
+ ## Update package content
37
+
38
+ ```sh
39
+ npx @tenphi/cookbook update
40
+ npx @tenphi/cookbook update @scope/package --dry-run
41
+ npx @tenphi/cookbook update --json
42
+ ```
43
+
44
+ `update` reads package sources from configuration, creates the first lock,
45
+ resolves changed tags or ranges, and removes entries that are no longer declared.
46
+ A package name or exact requested specifier selects individual updates. An
47
+ unselected source must already have a matching lock; otherwise run a full update.
48
+
49
+ `--dry-run` resolves versions and shows the proposed changes without writing
50
+ files. JSON output adds `dryRun`, `changes`, `removed`, and `lock` to the envelope.
51
+ Review and commit the resulting lock diff before deploying. Builds require an
52
+ exact requested-specifier match and never silently substitute a lock for another
53
+ range or tag.
54
+
55
+ Vendored sources remain vendored. New artifacts are stored in separate integrity
56
+ folders before the lock is replaced, so a failed download leaves the old lock
57
+ and its content available. Old vendor folders can be removed after reviewing
58
+ which paths the new lock references.
59
+
60
+ ## Creator flags
61
+
62
+ Start with local content, an existing repository, or an npm artifact:
63
+
64
+ ```sh
65
+ npm create @tenphi/cookbook@latest docs-site -- --yes
66
+ npm create @tenphi/cookbook@latest docs-site -- --source . --yes
67
+ npm create @tenphi/cookbook@latest docs-site -- --package @scope/package --yes
68
+ ```
69
+
70
+ | Flag | Purpose |
71
+ | ---------------------------------------------------------------- | ------------------------------------------------- |
72
+ | `--source <directory>` | Document an existing local repository |
73
+ | `--package <specifier>` | Document a locked npm artifact |
74
+ | `--yes`, `-y` | Use non-interactive defaults |
75
+ | `--brand <color>` | Set the Glaze brand seed |
76
+ | `--site <url>` | Set the canonical site URL |
77
+ | `--base <path>` | Set Astro's hosting subpath |
78
+ | `--deploy github-pages\|netlify\|cloudflare-pages\|vercel\|none` | Add deployment setup or a host guide |
79
+ | `--package-manager npm\|pnpm\|yarn` | Select the project manager |
80
+ | `--no-install` | Generate files without installing dependencies |
81
+ | `--vendor` | Vendor the npm artifact for offline builds |
82
+ | `--trust-package` | Permit MDX execution from the locked npm artifact |
83
+ | `--open` | Start and open the development server |
84
+
85
+ `--source` and `--package` are mutually exclusive. With neither, the creator
86
+ writes a local starter. `--vendor` and `--trust-package` require `--package`.
87
+ `--open` requires installation. A non-empty destination requires interactive
88
+ confirmation before generated files can be overwritten.