create-krispya 0.5.2 → 0.6.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.cjs CHANGED
@@ -2,9 +2,13 @@
2
2
 
3
3
  const index = require('./chunks/index.cjs');
4
4
  require('chalk');
5
+ require('fs/promises');
6
+ require('fs');
7
+ require('path');
5
8
 
6
9
 
7
10
 
11
+ exports.detectTooling = index.detectTooling;
8
12
  exports.generate = index.generate;
9
13
  exports.generateMonorepo = index.generateMonorepo;
10
14
  exports.generateRandomName = index.generateRandomName;
package/dist/index.d.cts CHANGED
@@ -21,6 +21,7 @@ type File = {
21
21
  type Linter = "eslint" | "oxlint" | "biome";
22
22
  type Formatter = "prettier" | "oxfmt" | "biome";
23
23
  type Testing = "vitest" | "none";
24
+ type ConfigStrategy = "stealth" | "root";
24
25
  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";
25
26
  type GenerateFiberOptions = {
26
27
  /** @default true */
@@ -47,6 +48,7 @@ type GenerateZustandOptions = {
47
48
  addExample?: boolean;
48
49
  } | boolean;
49
50
  type GenerateGithubPagesOptions = {} | boolean;
51
+ type AiPlatform = "agents" | "claude";
50
52
  type GenerateOptions = {
51
53
  githubUserName?: string;
52
54
  githubRepoName?: string;
@@ -57,6 +59,9 @@ type GenerateOptions = {
57
59
  linter?: Linter;
58
60
  formatter?: Formatter;
59
61
  testing?: Testing;
62
+ configStrategy?: ConfigStrategy;
63
+ /** AI platforms to generate pointer files for */
64
+ aiPlatforms?: AiPlatform[];
60
65
  versions?: PackageVersions;
61
66
  fiber?: GenerateFiberOptions;
62
67
  handle?: GenerateHandleOptions;
@@ -94,6 +99,8 @@ type GenerateOptions = {
94
99
  type Generator = {
95
100
  get options(): GenerateOptions;
96
101
  get versions(): PackageVersions;
102
+ /** Returns true if using stealth config strategy (configs in .config/) */
103
+ isStealthConfig(): boolean;
97
104
  addDependency(name: string, semver: string): void;
98
105
  addDevDependency(name: string, semver: string): void;
99
106
  addFile(path: string, file: File): void;
@@ -151,14 +158,22 @@ declare function validatePackageName(name: string): string | undefined;
151
158
  * Filters out hidden directories (starting with .).
152
159
  */
153
160
  declare function parseWorkspaceYamlContent(content: string): string[];
161
+
162
+ type DetectedTooling = {
163
+ linter: Linter | undefined;
164
+ formatter: Formatter | undefined;
165
+ };
166
+ /**
167
+ * Detects linter and formatter from a monorepo root.
168
+ * Priority: scripts → .config/ directories → devDependencies
169
+ */
170
+ declare function detectTooling(root: string): Promise<DetectedTooling>;
154
171
  /**
155
172
  * Generates a random name in the format "adjective-noun"
156
173
  * @returns A randomly generated name string
157
174
  */
158
175
  declare function generateRandomName(): string;
159
176
 
160
- type AiFileChoice = "cursor-rules" | "agents-md" | "claude-md" | "copilot-md";
161
-
162
177
  /**
163
178
  * Parameters for generating a monorepo workspace.
164
179
  *
@@ -176,7 +191,8 @@ type MonorepoParams = {
176
191
  pnpmVersion?: string;
177
192
  pnpmManageVersions?: boolean;
178
193
  nodeVersion?: string;
179
- aiFiles?: AiFileChoice[];
194
+ /** AI platforms to generate files for */
195
+ aiPlatforms?: AiPlatform[];
180
196
  };
181
197
  type MonorepoResult = {
182
198
  files: Record<string, File>;
@@ -194,5 +210,5 @@ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
194
210
  */
195
211
  declare function generate(options: GenerateOptions): Record<string, File>;
196
212
 
197
- export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmCliVersion, getLatestNpmVersion, getLatestPnpmVersion, getLatestYarnVersion, parseWorkspaceYamlContent, validatePackageName };
198
- 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 };
213
+ export { detectTooling, generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmCliVersion, getLatestNpmVersion, getLatestPnpmVersion, getLatestYarnVersion, parseWorkspaceYamlContent, validatePackageName };
214
+ export type { AiPlatform, BaseTemplate, CodeInjectionLocation, ConfigStrategy, DetectedTooling, 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
@@ -21,6 +21,7 @@ type File = {
21
21
  type Linter = "eslint" | "oxlint" | "biome";
22
22
  type Formatter = "prettier" | "oxfmt" | "biome";
23
23
  type Testing = "vitest" | "none";
24
+ type ConfigStrategy = "stealth" | "root";
24
25
  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";
25
26
  type GenerateFiberOptions = {
26
27
  /** @default true */
@@ -47,6 +48,7 @@ type GenerateZustandOptions = {
47
48
  addExample?: boolean;
48
49
  } | boolean;
49
50
  type GenerateGithubPagesOptions = {} | boolean;
51
+ type AiPlatform = "agents" | "claude";
50
52
  type GenerateOptions = {
51
53
  githubUserName?: string;
52
54
  githubRepoName?: string;
@@ -57,6 +59,9 @@ type GenerateOptions = {
57
59
  linter?: Linter;
58
60
  formatter?: Formatter;
59
61
  testing?: Testing;
62
+ configStrategy?: ConfigStrategy;
63
+ /** AI platforms to generate pointer files for */
64
+ aiPlatforms?: AiPlatform[];
60
65
  versions?: PackageVersions;
61
66
  fiber?: GenerateFiberOptions;
62
67
  handle?: GenerateHandleOptions;
@@ -94,6 +99,8 @@ type GenerateOptions = {
94
99
  type Generator = {
95
100
  get options(): GenerateOptions;
96
101
  get versions(): PackageVersions;
102
+ /** Returns true if using stealth config strategy (configs in .config/) */
103
+ isStealthConfig(): boolean;
97
104
  addDependency(name: string, semver: string): void;
98
105
  addDevDependency(name: string, semver: string): void;
99
106
  addFile(path: string, file: File): void;
@@ -151,14 +158,22 @@ declare function validatePackageName(name: string): string | undefined;
151
158
  * Filters out hidden directories (starting with .).
152
159
  */
153
160
  declare function parseWorkspaceYamlContent(content: string): string[];
161
+
162
+ type DetectedTooling = {
163
+ linter: Linter | undefined;
164
+ formatter: Formatter | undefined;
165
+ };
166
+ /**
167
+ * Detects linter and formatter from a monorepo root.
168
+ * Priority: scripts → .config/ directories → devDependencies
169
+ */
170
+ declare function detectTooling(root: string): Promise<DetectedTooling>;
154
171
  /**
155
172
  * Generates a random name in the format "adjective-noun"
156
173
  * @returns A randomly generated name string
157
174
  */
158
175
  declare function generateRandomName(): string;
159
176
 
160
- type AiFileChoice = "cursor-rules" | "agents-md" | "claude-md" | "copilot-md";
161
-
162
177
  /**
163
178
  * Parameters for generating a monorepo workspace.
164
179
  *
@@ -176,7 +191,8 @@ type MonorepoParams = {
176
191
  pnpmVersion?: string;
177
192
  pnpmManageVersions?: boolean;
178
193
  nodeVersion?: string;
179
- aiFiles?: AiFileChoice[];
194
+ /** AI platforms to generate files for */
195
+ aiPlatforms?: AiPlatform[];
180
196
  };
181
197
  type MonorepoResult = {
182
198
  files: Record<string, File>;
@@ -194,5 +210,5 @@ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
194
210
  */
195
211
  declare function generate(options: GenerateOptions): Record<string, File>;
196
212
 
197
- export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmCliVersion, getLatestNpmVersion, getLatestPnpmVersion, getLatestYarnVersion, parseWorkspaceYamlContent, validatePackageName };
198
- 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 };
213
+ export { detectTooling, generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmCliVersion, getLatestNpmVersion, getLatestPnpmVersion, getLatestYarnVersion, parseWorkspaceYamlContent, validatePackageName };
214
+ export type { AiPlatform, BaseTemplate, CodeInjectionLocation, ConfigStrategy, DetectedTooling, 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
@@ -21,6 +21,7 @@ type File = {
21
21
  type Linter = "eslint" | "oxlint" | "biome";
22
22
  type Formatter = "prettier" | "oxfmt" | "biome";
23
23
  type Testing = "vitest" | "none";
24
+ type ConfigStrategy = "stealth" | "root";
24
25
  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";
25
26
  type GenerateFiberOptions = {
26
27
  /** @default true */
@@ -47,6 +48,7 @@ type GenerateZustandOptions = {
47
48
  addExample?: boolean;
48
49
  } | boolean;
49
50
  type GenerateGithubPagesOptions = {} | boolean;
51
+ type AiPlatform = "agents" | "claude";
50
52
  type GenerateOptions = {
51
53
  githubUserName?: string;
52
54
  githubRepoName?: string;
@@ -57,6 +59,9 @@ type GenerateOptions = {
57
59
  linter?: Linter;
58
60
  formatter?: Formatter;
59
61
  testing?: Testing;
62
+ configStrategy?: ConfigStrategy;
63
+ /** AI platforms to generate pointer files for */
64
+ aiPlatforms?: AiPlatform[];
60
65
  versions?: PackageVersions;
61
66
  fiber?: GenerateFiberOptions;
62
67
  handle?: GenerateHandleOptions;
@@ -94,6 +99,8 @@ type GenerateOptions = {
94
99
  type Generator = {
95
100
  get options(): GenerateOptions;
96
101
  get versions(): PackageVersions;
102
+ /** Returns true if using stealth config strategy (configs in .config/) */
103
+ isStealthConfig(): boolean;
97
104
  addDependency(name: string, semver: string): void;
98
105
  addDevDependency(name: string, semver: string): void;
99
106
  addFile(path: string, file: File): void;
@@ -151,14 +158,22 @@ declare function validatePackageName(name: string): string | undefined;
151
158
  * Filters out hidden directories (starting with .).
152
159
  */
153
160
  declare function parseWorkspaceYamlContent(content: string): string[];
161
+
162
+ type DetectedTooling = {
163
+ linter: Linter | undefined;
164
+ formatter: Formatter | undefined;
165
+ };
166
+ /**
167
+ * Detects linter and formatter from a monorepo root.
168
+ * Priority: scripts → .config/ directories → devDependencies
169
+ */
170
+ declare function detectTooling(root: string): Promise<DetectedTooling>;
154
171
  /**
155
172
  * Generates a random name in the format "adjective-noun"
156
173
  * @returns A randomly generated name string
157
174
  */
158
175
  declare function generateRandomName(): string;
159
176
 
160
- type AiFileChoice = "cursor-rules" | "agents-md" | "claude-md" | "copilot-md";
161
-
162
177
  /**
163
178
  * Parameters for generating a monorepo workspace.
164
179
  *
@@ -176,7 +191,8 @@ type MonorepoParams = {
176
191
  pnpmVersion?: string;
177
192
  pnpmManageVersions?: boolean;
178
193
  nodeVersion?: string;
179
- aiFiles?: AiFileChoice[];
194
+ /** AI platforms to generate files for */
195
+ aiPlatforms?: AiPlatform[];
180
196
  };
181
197
  type MonorepoResult = {
182
198
  files: Record<string, File>;
@@ -194,5 +210,5 @@ declare function generateMonorepo(params: MonorepoParams): MonorepoResult;
194
210
  */
195
211
  declare function generate(options: GenerateOptions): Record<string, File>;
196
212
 
197
- export { generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmCliVersion, getLatestNpmVersion, getLatestPnpmVersion, getLatestYarnVersion, parseWorkspaceYamlContent, validatePackageName };
198
- 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 };
213
+ export { detectTooling, generate, generateMonorepo, generateRandomName, getBaseTemplate, getLanguageFromTemplate, getLatestNodeVersion, getLatestNpmCliVersion, getLatestNpmVersion, getLatestPnpmVersion, getLatestYarnVersion, parseWorkspaceYamlContent, validatePackageName };
214
+ export type { AiPlatform, BaseTemplate, CodeInjectionLocation, ConfigStrategy, DetectedTooling, 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.mjs CHANGED
@@ -1,2 +1,5 @@
1
- export { l as generate, r as generateMonorepo, b as generateRandomName, g as getBaseTemplate, a as getLanguageFromTemplate, p as getLatestNodeVersion, o as getLatestNpmCliVersion, k as getLatestNpmVersion, m as getLatestPnpmVersion, n as getLatestYarnVersion, q as parseWorkspaceYamlContent, v as validatePackageName } from './chunks/index.mjs';
1
+ export { d as detectTooling, m as generate, u as generateMonorepo, b as generateRandomName, g as getBaseTemplate, a as getLanguageFromTemplate, r as getLatestNodeVersion, q as getLatestNpmCliVersion, l as getLatestNpmVersion, n as getLatestPnpmVersion, o as getLatestYarnVersion, p as parseWorkspaceYamlContent, v as validatePackageName } from './chunks/index.mjs';
2
2
  import 'chalk';
3
+ import 'fs/promises';
4
+ import 'fs';
5
+ import 'path';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-krispya",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "🌹 CLI for creating web projects with (my) sensible defaults",
5
5
  "keywords": [
6
6
  "cli",