create-krispya 0.4.7 → 0.5.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.
package/dist/index.d.cts CHANGED
@@ -1,86 +1,52 @@
1
- type GenerateDreiOptions = {} | boolean;
2
-
1
+ type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
2
+ type BaseTemplate = "vanilla" | "react" | "r3f";
3
+ type ProjectType = "app" | "library" | "monorepo";
4
+ type LibraryBundler = "unbuild" | "tsdown";
5
+ type PackageVersions = {
6
+ vite?: string;
7
+ vitest?: string;
8
+ eslint?: string;
9
+ oxlint?: string;
10
+ oxfmt?: string;
11
+ prettier?: string;
12
+ biome?: string;
13
+ };
14
+ type File = {
15
+ type: "text";
16
+ content: string;
17
+ } | {
18
+ type: "remote";
19
+ url: string;
20
+ };
21
+ type Linter = "eslint" | "oxlint" | "biome";
22
+ type Formatter = "prettier" | "oxfmt" | "biome";
23
+ type Testing = "vitest" | "none";
24
+ type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
3
25
  type GenerateFiberOptions = {
4
- /**
5
- * @default true
6
- */
26
+ /** @default true */
7
27
  addExample?: boolean;
8
28
  } | boolean;
9
-
10
- type GenerateGithubPagesOptions = {} | boolean;
11
-
29
+ type GenerateDreiOptions = {} | boolean;
12
30
  type GenerateHandleOptions = {} | boolean;
13
-
14
31
  type GenerateKootaOptions = {
15
- /**
16
- * @default true
17
- */
32
+ /** @default true */
18
33
  addExample?: boolean;
19
34
  } | boolean;
20
-
21
35
  type GenerateLevaOptions = {} | boolean;
22
-
23
36
  type GenerateOffscreenOptions = {} | boolean;
24
-
25
37
  type GeneratePostprocessingOptions = {} | boolean;
26
-
27
38
  type GenerateRapierOptions = {} | boolean;
28
-
39
+ type GenerateTriplexOptions = {} | boolean;
29
40
  type GenerateUikitOptions = {} | boolean;
30
-
41
+ type GenerateViverseOptions = {} | boolean;
31
42
  type GenerateXrOptions = {
32
- storeOptions?: any;
43
+ storeOptions?: unknown;
33
44
  } | boolean;
34
-
35
45
  type GenerateZustandOptions = {
36
- /**
37
- * @default true
38
- */
46
+ /** @default true */
39
47
  addExample?: boolean;
40
48
  } | boolean;
41
-
42
- type GenerateTriplexOptions = {} | boolean;
43
-
44
- type GenerateViverseOptions = {} | boolean;
45
-
46
- /**
47
- * Fetches the latest version of an npm package from the registry
48
- * @param packageName The name of the npm package
49
- * @param fallback Fallback version if fetch fails
50
- * @returns The latest version string (e.g., "1.0.0")
51
- */
52
- declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
53
- /**
54
- * Fetches the latest version of pnpm from the npm registry
55
- * @returns The latest pnpm version string (e.g., "10.24.0")
56
- */
57
- declare function getLatestPnpmVersion(): Promise<string>;
58
- /**
59
- * Fetches the latest LTS version of Node.js
60
- * @returns The latest Node.js LTS version string (e.g., "22.13.0")
61
- */
62
- declare function getLatestNodeVersion(): Promise<string>;
63
- /**
64
- * Generates a random name in the format "adjective-noun"
65
- * @returns A randomly generated name string
66
- */
67
- declare function generateRandomName(): string;
68
-
69
- type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
70
- type BaseTemplate = "vanilla" | "react" | "r3f";
71
- declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
72
- declare function getBaseTemplate(template: Template): BaseTemplate;
73
- type PackageVersions = {
74
- vite?: string;
75
- vitest?: string;
76
- eslint?: string;
77
- oxlint?: string;
78
- oxfmt?: string;
79
- prettier?: string;
80
- biome?: string;
81
- };
82
- type ProjectType = "app" | "library";
83
- type LibraryBundler = "unbuild" | "tsdown";
49
+ type GenerateGithubPagesOptions = {} | boolean;
84
50
  type GenerateOptions = {
85
51
  githubUserName?: string;
86
52
  githubRepoName?: string;
@@ -90,6 +56,7 @@ type GenerateOptions = {
90
56
  template?: Template;
91
57
  linter?: Linter;
92
58
  formatter?: Formatter;
59
+ testing?: Testing;
93
60
  versions?: PackageVersions;
94
61
  fiber?: GenerateFiberOptions;
95
62
  handle?: GenerateHandleOptions;
@@ -119,17 +86,8 @@ type GenerateOptions = {
119
86
  pnpmVersion?: string;
120
87
  pnpmManageVersions?: boolean;
121
88
  nodeVersion?: string;
89
+ workspaceRoot?: string;
122
90
  };
123
- type File = {
124
- type: "text";
125
- content: string;
126
- } | {
127
- type: "remote";
128
- url: string;
129
- };
130
- type Linter = "eslint" | "oxlint" | "biome";
131
- type Formatter = "prettier" | "oxfmt" | "biome";
132
- type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
133
91
  type Generator = {
134
92
  get options(): GenerateOptions;
135
93
  get versions(): PackageVersions;
@@ -139,10 +97,56 @@ type Generator = {
139
97
  addScript(name: string, command: string): void;
140
98
  inject(location: CodeInjectionLocation, code: string): void;
141
99
  replace(search: string, replace: string): void;
142
- configureVite(object: any): void;
100
+ configureVite(object: unknown): void;
143
101
  addVscodeSetting(key: string, value: unknown): void;
144
102
  };
103
+ declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
104
+ declare function getBaseTemplate(template: Template): BaseTemplate;
105
+
106
+ /**
107
+ * Fetches the latest version of an npm package from the registry
108
+ * @param packageName The name of the npm package
109
+ * @param fallback Fallback version if fetch fails
110
+ * @returns The latest version string (e.g., "1.0.0")
111
+ */
112
+ declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
113
+ /**
114
+ * Fetches the latest version of pnpm from the npm registry
115
+ * @returns The latest pnpm version string (e.g., "10.24.0")
116
+ */
117
+ declare function getLatestPnpmVersion(): Promise<string>;
118
+ /**
119
+ * Fetches the latest LTS version of Node.js
120
+ * @returns The latest Node.js LTS version string (e.g., "22.13.0")
121
+ */
122
+ declare function getLatestNodeVersion(): Promise<string>;
123
+ /**
124
+ * Generates a random name in the format "adjective-noun"
125
+ * @returns A randomly generated name string
126
+ */
127
+ declare function generateRandomName(): string;
128
+
129
+ type MonorepoParams = {
130
+ name: string;
131
+ linter: Linter;
132
+ formatter: Formatter;
133
+ packageManager: string;
134
+ pnpmVersion?: string;
135
+ pnpmManageVersions?: boolean;
136
+ nodeVersion?: string;
137
+ };
138
+ type MonorepoResult = {
139
+ files: Record<string, File>;
140
+ };
141
+ /**
142
+ * Generates a monorepo workspace root structure with shared config packages.
143
+ */
144
+ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
145
+
146
+ /**
147
+ * Main generation function that creates all project files.
148
+ */
145
149
  declare function generate(options: GenerateOptions): Record<string, File>;
146
150
 
147
- export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
148
- export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
151
+ export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
152
+ export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateDreiOptions, GenerateFiberOptions, GenerateGithubPagesOptions, GenerateHandleOptions, GenerateKootaOptions, GenerateLevaOptions, GenerateOffscreenOptions, GenerateOptions, GeneratePostprocessingOptions, GenerateRapierOptions, GenerateTriplexOptions, GenerateUikitOptions, GenerateViverseOptions, GenerateXrOptions, GenerateZustandOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template, Testing };
package/dist/index.d.mts CHANGED
@@ -1,86 +1,52 @@
1
- type GenerateDreiOptions = {} | boolean;
2
-
1
+ type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
2
+ type BaseTemplate = "vanilla" | "react" | "r3f";
3
+ type ProjectType = "app" | "library" | "monorepo";
4
+ type LibraryBundler = "unbuild" | "tsdown";
5
+ type PackageVersions = {
6
+ vite?: string;
7
+ vitest?: string;
8
+ eslint?: string;
9
+ oxlint?: string;
10
+ oxfmt?: string;
11
+ prettier?: string;
12
+ biome?: string;
13
+ };
14
+ type File = {
15
+ type: "text";
16
+ content: string;
17
+ } | {
18
+ type: "remote";
19
+ url: string;
20
+ };
21
+ type Linter = "eslint" | "oxlint" | "biome";
22
+ type Formatter = "prettier" | "oxfmt" | "biome";
23
+ type Testing = "vitest" | "none";
24
+ type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
3
25
  type GenerateFiberOptions = {
4
- /**
5
- * @default true
6
- */
26
+ /** @default true */
7
27
  addExample?: boolean;
8
28
  } | boolean;
9
-
10
- type GenerateGithubPagesOptions = {} | boolean;
11
-
29
+ type GenerateDreiOptions = {} | boolean;
12
30
  type GenerateHandleOptions = {} | boolean;
13
-
14
31
  type GenerateKootaOptions = {
15
- /**
16
- * @default true
17
- */
32
+ /** @default true */
18
33
  addExample?: boolean;
19
34
  } | boolean;
20
-
21
35
  type GenerateLevaOptions = {} | boolean;
22
-
23
36
  type GenerateOffscreenOptions = {} | boolean;
24
-
25
37
  type GeneratePostprocessingOptions = {} | boolean;
26
-
27
38
  type GenerateRapierOptions = {} | boolean;
28
-
39
+ type GenerateTriplexOptions = {} | boolean;
29
40
  type GenerateUikitOptions = {} | boolean;
30
-
41
+ type GenerateViverseOptions = {} | boolean;
31
42
  type GenerateXrOptions = {
32
- storeOptions?: any;
43
+ storeOptions?: unknown;
33
44
  } | boolean;
34
-
35
45
  type GenerateZustandOptions = {
36
- /**
37
- * @default true
38
- */
46
+ /** @default true */
39
47
  addExample?: boolean;
40
48
  } | boolean;
41
-
42
- type GenerateTriplexOptions = {} | boolean;
43
-
44
- type GenerateViverseOptions = {} | boolean;
45
-
46
- /**
47
- * Fetches the latest version of an npm package from the registry
48
- * @param packageName The name of the npm package
49
- * @param fallback Fallback version if fetch fails
50
- * @returns The latest version string (e.g., "1.0.0")
51
- */
52
- declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
53
- /**
54
- * Fetches the latest version of pnpm from the npm registry
55
- * @returns The latest pnpm version string (e.g., "10.24.0")
56
- */
57
- declare function getLatestPnpmVersion(): Promise<string>;
58
- /**
59
- * Fetches the latest LTS version of Node.js
60
- * @returns The latest Node.js LTS version string (e.g., "22.13.0")
61
- */
62
- declare function getLatestNodeVersion(): Promise<string>;
63
- /**
64
- * Generates a random name in the format "adjective-noun"
65
- * @returns A randomly generated name string
66
- */
67
- declare function generateRandomName(): string;
68
-
69
- type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
70
- type BaseTemplate = "vanilla" | "react" | "r3f";
71
- declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
72
- declare function getBaseTemplate(template: Template): BaseTemplate;
73
- type PackageVersions = {
74
- vite?: string;
75
- vitest?: string;
76
- eslint?: string;
77
- oxlint?: string;
78
- oxfmt?: string;
79
- prettier?: string;
80
- biome?: string;
81
- };
82
- type ProjectType = "app" | "library";
83
- type LibraryBundler = "unbuild" | "tsdown";
49
+ type GenerateGithubPagesOptions = {} | boolean;
84
50
  type GenerateOptions = {
85
51
  githubUserName?: string;
86
52
  githubRepoName?: string;
@@ -90,6 +56,7 @@ type GenerateOptions = {
90
56
  template?: Template;
91
57
  linter?: Linter;
92
58
  formatter?: Formatter;
59
+ testing?: Testing;
93
60
  versions?: PackageVersions;
94
61
  fiber?: GenerateFiberOptions;
95
62
  handle?: GenerateHandleOptions;
@@ -119,17 +86,8 @@ type GenerateOptions = {
119
86
  pnpmVersion?: string;
120
87
  pnpmManageVersions?: boolean;
121
88
  nodeVersion?: string;
89
+ workspaceRoot?: string;
122
90
  };
123
- type File = {
124
- type: "text";
125
- content: string;
126
- } | {
127
- type: "remote";
128
- url: string;
129
- };
130
- type Linter = "eslint" | "oxlint" | "biome";
131
- type Formatter = "prettier" | "oxfmt" | "biome";
132
- type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
133
91
  type Generator = {
134
92
  get options(): GenerateOptions;
135
93
  get versions(): PackageVersions;
@@ -139,10 +97,56 @@ type Generator = {
139
97
  addScript(name: string, command: string): void;
140
98
  inject(location: CodeInjectionLocation, code: string): void;
141
99
  replace(search: string, replace: string): void;
142
- configureVite(object: any): void;
100
+ configureVite(object: unknown): void;
143
101
  addVscodeSetting(key: string, value: unknown): void;
144
102
  };
103
+ declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
104
+ declare function getBaseTemplate(template: Template): BaseTemplate;
105
+
106
+ /**
107
+ * Fetches the latest version of an npm package from the registry
108
+ * @param packageName The name of the npm package
109
+ * @param fallback Fallback version if fetch fails
110
+ * @returns The latest version string (e.g., "1.0.0")
111
+ */
112
+ declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
113
+ /**
114
+ * Fetches the latest version of pnpm from the npm registry
115
+ * @returns The latest pnpm version string (e.g., "10.24.0")
116
+ */
117
+ declare function getLatestPnpmVersion(): Promise<string>;
118
+ /**
119
+ * Fetches the latest LTS version of Node.js
120
+ * @returns The latest Node.js LTS version string (e.g., "22.13.0")
121
+ */
122
+ declare function getLatestNodeVersion(): Promise<string>;
123
+ /**
124
+ * Generates a random name in the format "adjective-noun"
125
+ * @returns A randomly generated name string
126
+ */
127
+ declare function generateRandomName(): string;
128
+
129
+ type MonorepoParams = {
130
+ name: string;
131
+ linter: Linter;
132
+ formatter: Formatter;
133
+ packageManager: string;
134
+ pnpmVersion?: string;
135
+ pnpmManageVersions?: boolean;
136
+ nodeVersion?: string;
137
+ };
138
+ type MonorepoResult = {
139
+ files: Record<string, File>;
140
+ };
141
+ /**
142
+ * Generates a monorepo workspace root structure with shared config packages.
143
+ */
144
+ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
145
+
146
+ /**
147
+ * Main generation function that creates all project files.
148
+ */
145
149
  declare function generate(options: GenerateOptions): Record<string, File>;
146
150
 
147
- export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
148
- export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
151
+ export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
152
+ export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateDreiOptions, GenerateFiberOptions, GenerateGithubPagesOptions, GenerateHandleOptions, GenerateKootaOptions, GenerateLevaOptions, GenerateOffscreenOptions, GenerateOptions, GeneratePostprocessingOptions, GenerateRapierOptions, GenerateTriplexOptions, GenerateUikitOptions, GenerateViverseOptions, GenerateXrOptions, GenerateZustandOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template, Testing };
package/dist/index.d.ts CHANGED
@@ -1,86 +1,52 @@
1
- type GenerateDreiOptions = {} | boolean;
2
-
1
+ type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
2
+ type BaseTemplate = "vanilla" | "react" | "r3f";
3
+ type ProjectType = "app" | "library" | "monorepo";
4
+ type LibraryBundler = "unbuild" | "tsdown";
5
+ type PackageVersions = {
6
+ vite?: string;
7
+ vitest?: string;
8
+ eslint?: string;
9
+ oxlint?: string;
10
+ oxfmt?: string;
11
+ prettier?: string;
12
+ biome?: string;
13
+ };
14
+ type File = {
15
+ type: "text";
16
+ content: string;
17
+ } | {
18
+ type: "remote";
19
+ url: string;
20
+ };
21
+ type Linter = "eslint" | "oxlint" | "biome";
22
+ type Formatter = "prettier" | "oxfmt" | "biome";
23
+ type Testing = "vitest" | "none";
24
+ type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
3
25
  type GenerateFiberOptions = {
4
- /**
5
- * @default true
6
- */
26
+ /** @default true */
7
27
  addExample?: boolean;
8
28
  } | boolean;
9
-
10
- type GenerateGithubPagesOptions = {} | boolean;
11
-
29
+ type GenerateDreiOptions = {} | boolean;
12
30
  type GenerateHandleOptions = {} | boolean;
13
-
14
31
  type GenerateKootaOptions = {
15
- /**
16
- * @default true
17
- */
32
+ /** @default true */
18
33
  addExample?: boolean;
19
34
  } | boolean;
20
-
21
35
  type GenerateLevaOptions = {} | boolean;
22
-
23
36
  type GenerateOffscreenOptions = {} | boolean;
24
-
25
37
  type GeneratePostprocessingOptions = {} | boolean;
26
-
27
38
  type GenerateRapierOptions = {} | boolean;
28
-
39
+ type GenerateTriplexOptions = {} | boolean;
29
40
  type GenerateUikitOptions = {} | boolean;
30
-
41
+ type GenerateViverseOptions = {} | boolean;
31
42
  type GenerateXrOptions = {
32
- storeOptions?: any;
43
+ storeOptions?: unknown;
33
44
  } | boolean;
34
-
35
45
  type GenerateZustandOptions = {
36
- /**
37
- * @default true
38
- */
46
+ /** @default true */
39
47
  addExample?: boolean;
40
48
  } | boolean;
41
-
42
- type GenerateTriplexOptions = {} | boolean;
43
-
44
- type GenerateViverseOptions = {} | boolean;
45
-
46
- /**
47
- * Fetches the latest version of an npm package from the registry
48
- * @param packageName The name of the npm package
49
- * @param fallback Fallback version if fetch fails
50
- * @returns The latest version string (e.g., "1.0.0")
51
- */
52
- declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
53
- /**
54
- * Fetches the latest version of pnpm from the npm registry
55
- * @returns The latest pnpm version string (e.g., "10.24.0")
56
- */
57
- declare function getLatestPnpmVersion(): Promise<string>;
58
- /**
59
- * Fetches the latest LTS version of Node.js
60
- * @returns The latest Node.js LTS version string (e.g., "22.13.0")
61
- */
62
- declare function getLatestNodeVersion(): Promise<string>;
63
- /**
64
- * Generates a random name in the format "adjective-noun"
65
- * @returns A randomly generated name string
66
- */
67
- declare function generateRandomName(): string;
68
-
69
- type Template = "vanilla" | "vanilla-js" | "react" | "react-js" | "r3f" | "r3f-js";
70
- type BaseTemplate = "vanilla" | "react" | "r3f";
71
- declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
72
- declare function getBaseTemplate(template: Template): BaseTemplate;
73
- type PackageVersions = {
74
- vite?: string;
75
- vitest?: string;
76
- eslint?: string;
77
- oxlint?: string;
78
- oxfmt?: string;
79
- prettier?: string;
80
- biome?: string;
81
- };
82
- type ProjectType = "app" | "library";
83
- type LibraryBundler = "unbuild" | "tsdown";
49
+ type GenerateGithubPagesOptions = {} | boolean;
84
50
  type GenerateOptions = {
85
51
  githubUserName?: string;
86
52
  githubRepoName?: string;
@@ -90,6 +56,7 @@ type GenerateOptions = {
90
56
  template?: Template;
91
57
  linter?: Linter;
92
58
  formatter?: Formatter;
59
+ testing?: Testing;
93
60
  versions?: PackageVersions;
94
61
  fiber?: GenerateFiberOptions;
95
62
  handle?: GenerateHandleOptions;
@@ -119,17 +86,8 @@ type GenerateOptions = {
119
86
  pnpmVersion?: string;
120
87
  pnpmManageVersions?: boolean;
121
88
  nodeVersion?: string;
89
+ workspaceRoot?: string;
122
90
  };
123
- type File = {
124
- type: "text";
125
- content: string;
126
- } | {
127
- type: "remote";
128
- url: string;
129
- };
130
- type Linter = "eslint" | "oxlint" | "biome";
131
- type Formatter = "prettier" | "oxfmt" | "biome";
132
- type CodeInjectionLocation = "vite-config-import" | "import" | "global-start" | "global-end" | "dom-start" | "dom" | "dom-end" | "scene-start" | "scene" | "scene-end" | "readme-start" | "readme-end" | "readme-libraries" | "readme-tools" | "readme-commands" | "vscode-extension-suggestion" | "vscode-setting";
133
91
  type Generator = {
134
92
  get options(): GenerateOptions;
135
93
  get versions(): PackageVersions;
@@ -139,10 +97,56 @@ type Generator = {
139
97
  addScript(name: string, command: string): void;
140
98
  inject(location: CodeInjectionLocation, code: string): void;
141
99
  replace(search: string, replace: string): void;
142
- configureVite(object: any): void;
100
+ configureVite(object: unknown): void;
143
101
  addVscodeSetting(key: string, value: unknown): void;
144
102
  };
103
+ declare function getLanguageFromTemplate(template: Template): "javascript" | "typescript";
104
+ declare function getBaseTemplate(template: Template): BaseTemplate;
105
+
106
+ /**
107
+ * Fetches the latest version of an npm package from the registry
108
+ * @param packageName The name of the npm package
109
+ * @param fallback Fallback version if fetch fails
110
+ * @returns The latest version string (e.g., "1.0.0")
111
+ */
112
+ declare function getLatestNpmVersion(packageName: string, fallback: string): Promise<string>;
113
+ /**
114
+ * Fetches the latest version of pnpm from the npm registry
115
+ * @returns The latest pnpm version string (e.g., "10.24.0")
116
+ */
117
+ declare function getLatestPnpmVersion(): Promise<string>;
118
+ /**
119
+ * Fetches the latest LTS version of Node.js
120
+ * @returns The latest Node.js LTS version string (e.g., "22.13.0")
121
+ */
122
+ declare function getLatestNodeVersion(): Promise<string>;
123
+ /**
124
+ * Generates a random name in the format "adjective-noun"
125
+ * @returns A randomly generated name string
126
+ */
127
+ declare function generateRandomName(): string;
128
+
129
+ type MonorepoParams = {
130
+ name: string;
131
+ linter: Linter;
132
+ formatter: Formatter;
133
+ packageManager: string;
134
+ pnpmVersion?: string;
135
+ pnpmManageVersions?: boolean;
136
+ nodeVersion?: string;
137
+ };
138
+ type MonorepoResult = {
139
+ files: Record<string, File>;
140
+ };
141
+ /**
142
+ * Generates a monorepo workspace root structure with shared config packages.
143
+ */
144
+ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
145
+
146
+ /**
147
+ * Main generation function that creates all project files.
148
+ */
145
149
  declare function generate(options: GenerateOptions): Record<string, File>;
146
150
 
147
- export { generate, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
148
- export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template };
151
+ export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmVersion, getLatestPnpmVersion };
152
+ export type { BaseTemplate, CodeInjectionLocation, File, Formatter, GenerateDreiOptions, GenerateFiberOptions, GenerateGithubPagesOptions, GenerateHandleOptions, GenerateKootaOptions, GenerateLevaOptions, GenerateOffscreenOptions, GenerateOptions, GeneratePostprocessingOptions, GenerateRapierOptions, GenerateTriplexOptions, GenerateUikitOptions, GenerateViverseOptions, GenerateXrOptions, GenerateZustandOptions, Generator, LibraryBundler, Linter, PackageVersions, ProjectType, Template, Testing };