@gemini-designer/mcp-server 0.1.38 → 0.1.40
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/config/index.d.ts +12 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +44 -0
- package/dist/config/index.js.map +1 -1
- package/dist/context/builder.d.ts.map +1 -1
- package/dist/context/builder.js +29 -28
- package/dist/context/builder.js.map +1 -1
- package/dist/context/project-root-resolver.d.ts +24 -0
- package/dist/context/project-root-resolver.d.ts.map +1 -0
- package/dist/context/project-root-resolver.js +76 -0
- package/dist/context/project-root-resolver.js.map +1 -0
- package/dist/design/principles.d.ts +2 -2
- package/dist/design/principles.d.ts.map +1 -1
- package/dist/design/principles.js +27 -65
- package/dist/design/principles.js.map +1 -1
- package/dist/eval/run.js +23 -19
- package/dist/eval/run.js.map +1 -1
- package/dist/guides/prompting.d.ts +1 -1
- package/dist/guides/prompting.d.ts.map +1 -1
- package/dist/guides/prompting.js +22 -18
- package/dist/guides/prompting.js.map +1 -1
- package/dist/output/file-bundle.d.ts +81 -0
- package/dist/output/file-bundle.d.ts.map +1 -0
- package/dist/output/file-bundle.js +26 -0
- package/dist/output/file-bundle.js.map +1 -0
- package/dist/output/generation-policy.d.ts +8 -1
- package/dist/output/generation-policy.d.ts.map +1 -1
- package/dist/output/generation-policy.js +55 -1
- package/dist/output/generation-policy.js.map +1 -1
- package/dist/output/hash.d.ts +2 -0
- package/dist/output/hash.d.ts.map +1 -0
- package/dist/output/hash.js +5 -0
- package/dist/output/hash.js.map +1 -0
- package/dist/prompts/index.js +1 -1
- package/dist/prompts/index.js.map +1 -1
- package/dist/tools/analyze-tokens.js +1 -1
- package/dist/tools/analyze-tokens.js.map +1 -1
- package/dist/tools/apply-file-bundle.d.ts +10 -0
- package/dist/tools/apply-file-bundle.d.ts.map +1 -0
- package/dist/tools/apply-file-bundle.js +210 -0
- package/dist/tools/apply-file-bundle.js.map +1 -0
- package/dist/tools/catalog-components.d.ts +1 -1
- package/dist/tools/catalog-components.d.ts.map +1 -1
- package/dist/tools/catalog-components.js +30 -4
- package/dist/tools/catalog-components.js.map +1 -1
- package/dist/tools/detect-ui-stack.d.ts.map +1 -1
- package/dist/tools/detect-ui-stack.js +98 -2
- package/dist/tools/detect-ui-stack.js.map +1 -1
- package/dist/tools/generate-component-variants.d.ts.map +1 -1
- package/dist/tools/generate-component-variants.js +113 -2
- package/dist/tools/generate-component-variants.js.map +1 -1
- package/dist/tools/generate-vibes.js +1 -1
- package/dist/tools/generate-vibes.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +17 -6
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/modify-ui.d.ts.map +1 -1
- package/dist/tools/modify-ui.js +159 -110
- package/dist/tools/modify-ui.js.map +1 -1
- package/dist/tools/prompting-guide.d.ts.map +1 -1
- package/dist/tools/prompting-guide.js +10 -5
- package/dist/tools/prompting-guide.js.map +1 -1
- package/dist/tools/repo-get-file-meta.d.ts +9 -0
- package/dist/tools/repo-get-file-meta.d.ts.map +1 -0
- package/dist/tools/repo-get-file-meta.js +72 -0
- package/dist/tools/repo-get-file-meta.js.map +1 -0
- package/dist/tools/repo-read-files.d.ts +10 -0
- package/dist/tools/repo-read-files.d.ts.map +1 -0
- package/dist/tools/repo-read-files.js +87 -0
- package/dist/tools/repo-read-files.js.map +1 -0
- package/dist/tools/repo-search.d.ts +10 -0
- package/dist/tools/repo-search.d.ts.map +1 -0
- package/dist/tools/repo-search.js +96 -0
- package/dist/tools/repo-search.js.map +1 -0
- package/dist/tools/repo-tree.d.ts +9 -0
- package/dist/tools/repo-tree.d.ts.map +1 -0
- package/dist/tools/repo-tree.js +105 -0
- package/dist/tools/repo-tree.js.map +1 -0
- package/dist/tools/scaffold-project.d.ts +41 -2
- package/dist/tools/scaffold-project.d.ts.map +1 -1
- package/dist/tools/scaffold-project.js +2188 -91
- package/dist/tools/scaffold-project.js.map +1 -1
- package/dist/tools/ui-generate.d.ts +10 -0
- package/dist/tools/ui-generate.d.ts.map +1 -0
- package/dist/tools/ui-generate.js +249 -0
- package/dist/tools/ui-generate.js.map +1 -0
- package/dist/tools/ui-review.d.ts +18 -0
- package/dist/tools/ui-review.d.ts.map +1 -0
- package/dist/tools/ui-review.js +456 -0
- package/dist/tools/ui-review.js.map +1 -0
- package/dist/tools/validate-project.d.ts +10 -0
- package/dist/tools/validate-project.d.ts.map +1 -0
- package/dist/tools/validate-project.js +159 -0
- package/dist/tools/validate-project.js.map +1 -0
- package/dist/utils/concurrency.d.ts +2 -0
- package/dist/utils/concurrency.d.ts.map +1 -0
- package/dist/utils/concurrency.js +16 -0
- package/dist/utils/concurrency.js.map +1 -0
- package/dist/utils/ripgrep.d.ts +45 -0
- package/dist/utils/ripgrep.d.ts.map +1 -0
- package/dist/utils/ripgrep.js +312 -0
- package/dist/utils/ripgrep.js.map +1 -0
- package/dist/utils/walk.d.ts +1 -0
- package/dist/utils/walk.d.ts.map +1 -1
- package/dist/utils/walk.js +2 -1
- package/dist/utils/walk.js.map +1 -1
- package/package.json +2 -1
- package/src/__tests__/generation-policy.test.ts +17 -6
- package/src/__tests__/ripgrep.test.ts +136 -0
- package/src/config/index.ts +51 -0
- package/src/context/builder.ts +27 -30
- package/src/context/project-root-resolver.ts +90 -0
- package/src/design/principles.ts +27 -65
- package/src/eval/run.ts +28 -20
- package/src/guides/prompting.ts +24 -20
- package/src/output/file-bundle.ts +33 -0
- package/src/output/generation-policy.ts +77 -3
- package/src/output/hash.ts +5 -0
- package/src/prompts/index.ts +1 -1
- package/src/tools/analyze-tokens.ts +1 -1
- package/src/tools/apply-file-bundle.ts +237 -0
- package/src/tools/catalog-components.ts +29 -4
- package/src/tools/detect-ui-stack.ts +110 -2
- package/src/tools/generate-component-variants.ts +120 -2
- package/src/tools/generate-vibes.ts +1 -1
- package/src/tools/index.ts +18 -6
- package/src/tools/modify-ui.ts +168 -112
- package/src/tools/prompting-guide.ts +6 -3
- package/src/tools/repo-get-file-meta.ts +98 -0
- package/src/tools/repo-read-files.ts +109 -0
- package/src/tools/repo-search.ts +110 -0
- package/src/tools/repo-tree.ts +118 -0
- package/src/tools/scaffold-project.ts +2424 -91
- package/src/tools/ui-generate.ts +294 -0
- package/src/tools/ui-review.ts +508 -0
- package/src/tools/validate-project.ts +202 -0
- package/src/utils/concurrency.ts +21 -0
- package/src/utils/ripgrep.ts +360 -0
- package/src/utils/walk.ts +3 -3
- package/dist/tools/analyze-screenshot-ui.d.ts +0 -18
- package/dist/tools/analyze-screenshot-ui.d.ts.map +0 -1
- package/dist/tools/analyze-screenshot-ui.js +0 -183
- package/dist/tools/analyze-screenshot-ui.js.map +0 -1
- package/dist/tools/create-ui.d.ts +0 -13
- package/dist/tools/create-ui.d.ts.map +0 -1
- package/dist/tools/create-ui.js +0 -657
- package/dist/tools/create-ui.js.map +0 -1
- package/dist/tools/snippet-ui.d.ts +0 -13
- package/dist/tools/snippet-ui.d.ts.map +0 -1
- package/dist/tools/snippet-ui.js +0 -634
- package/dist/tools/snippet-ui.js.map +0 -1
- package/src/tools/analyze-screenshot-ui.ts +0 -196
- package/src/tools/create-ui.ts +0 -754
- package/src/tools/snippet-ui.ts +0 -724
package/dist/config/index.d.ts
CHANGED
|
@@ -20,7 +20,11 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
20
20
|
accessibility: z.ZodDefault<z.ZodEffects<z.ZodEnum<["none", "wcag-a", "wcag-aa", "wcag-aaa"]>, "none" | "wcag-a" | "wcag-aa" | "wcag-aaa", unknown>>;
|
|
21
21
|
breakpoints: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
22
22
|
designPrinciples: z.ZodDefault<z.ZodEffects<z.ZodEnum<["full", "compact", "off"]>, "full" | "compact" | "off", unknown>>;
|
|
23
|
+
policyStrict: z.ZodDefault<z.ZodBoolean>;
|
|
23
24
|
debug: z.ZodDefault<z.ZodBoolean>;
|
|
25
|
+
allowExec: z.ZodDefault<z.ZodEffects<z.ZodBoolean, boolean, unknown>>;
|
|
26
|
+
execAllowlist: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
27
|
+
execTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
24
28
|
}, "strip", z.ZodTypeAny, {
|
|
25
29
|
mode: "local" | "remote";
|
|
26
30
|
localProvider: "gemini" | "litellm";
|
|
@@ -30,7 +34,11 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
30
34
|
accessibility: "none" | "wcag-a" | "wcag-aa" | "wcag-aaa";
|
|
31
35
|
breakpoints: Record<string, number>;
|
|
32
36
|
designPrinciples: "full" | "compact" | "off";
|
|
37
|
+
policyStrict: boolean;
|
|
33
38
|
debug: boolean;
|
|
39
|
+
allowExec: boolean;
|
|
40
|
+
execAllowlist: string[];
|
|
41
|
+
execTimeoutMs: number;
|
|
34
42
|
apiKey?: string | undefined;
|
|
35
43
|
remoteEndpoint?: string | undefined;
|
|
36
44
|
remoteApiKey?: string | undefined;
|
|
@@ -52,7 +60,11 @@ declare const ConfigSchema: z.ZodObject<{
|
|
|
52
60
|
accessibility?: unknown;
|
|
53
61
|
breakpoints?: Record<string, number> | undefined;
|
|
54
62
|
designPrinciples?: unknown;
|
|
63
|
+
policyStrict?: boolean | undefined;
|
|
55
64
|
debug?: boolean | undefined;
|
|
65
|
+
allowExec?: unknown;
|
|
66
|
+
execAllowlist?: string[] | undefined;
|
|
67
|
+
execTimeoutMs?: number | undefined;
|
|
56
68
|
}>;
|
|
57
69
|
export type Config = z.infer<typeof ConfigSchema>;
|
|
58
70
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmHhB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CA4EnC"}
|
package/dist/config/index.js
CHANGED
|
@@ -87,8 +87,35 @@ const ConfigSchema = z.object({
|
|
|
87
87
|
return s;
|
|
88
88
|
}, z.enum(['full', 'compact', 'off']))
|
|
89
89
|
.default('full'),
|
|
90
|
+
// Generation policy strictness (deterministic post-checks)
|
|
91
|
+
// - false: warn on softer issues; error on clear footguns
|
|
92
|
+
// - true: elevate more issues to errors (useful for autonomous agents)
|
|
93
|
+
policyStrict: z.boolean().default(false),
|
|
90
94
|
// Debug mode
|
|
91
95
|
debug: z.boolean().default(false),
|
|
96
|
+
// --- Tooling / execution (SaaS safety) ---
|
|
97
|
+
// By default, the MCP server does NOT execute project commands.
|
|
98
|
+
// Enable this only in trusted environments.
|
|
99
|
+
allowExec: z
|
|
100
|
+
.preprocess((v) => {
|
|
101
|
+
if (typeof v === 'string') {
|
|
102
|
+
const s = v.trim().toLowerCase();
|
|
103
|
+
return s === '1' || s === 'true' || s === 'yes' || s === 'y';
|
|
104
|
+
}
|
|
105
|
+
return v;
|
|
106
|
+
}, z.boolean())
|
|
107
|
+
.default(false),
|
|
108
|
+
// Comma-separated allowlist of npm scripts that validate_project is permitted to run.
|
|
109
|
+
execAllowlist: z.array(z.string()).default([
|
|
110
|
+
'lint',
|
|
111
|
+
'typecheck',
|
|
112
|
+
'test',
|
|
113
|
+
'build',
|
|
114
|
+
'storybook',
|
|
115
|
+
'build-storybook',
|
|
116
|
+
]),
|
|
117
|
+
// Default execution timeout.
|
|
118
|
+
execTimeoutMs: z.number().int().min(1000).max(10 * 60 * 1000).default(60_000),
|
|
92
119
|
});
|
|
93
120
|
/**
|
|
94
121
|
* Load configuration from all sources
|
|
@@ -196,6 +223,23 @@ function loadConfigFromEnv() {
|
|
|
196
223
|
if (process.env.GEMINI_DESIGNER_DEBUG === 'true') {
|
|
197
224
|
config.debug = true;
|
|
198
225
|
}
|
|
226
|
+
if (process.env.GEMINI_DESIGNER_POLICY_STRICT === 'true') {
|
|
227
|
+
config.policyStrict = true;
|
|
228
|
+
}
|
|
229
|
+
if (process.env.GEMINI_DESIGNER_ALLOW_EXEC) {
|
|
230
|
+
const s = process.env.GEMINI_DESIGNER_ALLOW_EXEC.trim().toLowerCase();
|
|
231
|
+
config.allowExec = s === '1' || s === 'true' || s === 'yes' || s === 'y';
|
|
232
|
+
}
|
|
233
|
+
if (process.env.GEMINI_DESIGNER_EXEC_ALLOWLIST) {
|
|
234
|
+
config.execAllowlist = process.env.GEMINI_DESIGNER_EXEC_ALLOWLIST.split(',')
|
|
235
|
+
.map((x) => x.trim())
|
|
236
|
+
.filter(Boolean);
|
|
237
|
+
}
|
|
238
|
+
if (process.env.GEMINI_DESIGNER_EXEC_TIMEOUT_MS) {
|
|
239
|
+
const n = Number(process.env.GEMINI_DESIGNER_EXEC_TIMEOUT_MS);
|
|
240
|
+
if (Number.isFinite(n))
|
|
241
|
+
config.execTimeoutMs = n;
|
|
242
|
+
}
|
|
199
243
|
if (process.env.GEMINI_DESIGNER_DESIGN_PRINCIPLES) {
|
|
200
244
|
config.designPrinciples = process.env.GEMINI_DESIGNER_DESIGN_PRINCIPLES;
|
|
201
245
|
}
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/context/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/context/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU5C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,CAsExB;AAgDD;;GAEG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyC1F"}
|
package/dist/context/builder.js
CHANGED
|
@@ -9,6 +9,7 @@ import * as fs from 'node:fs';
|
|
|
9
9
|
import * as path from 'node:path';
|
|
10
10
|
import { isPathAllowed, isSensitiveFile, sanitizeContent } from './filter.js';
|
|
11
11
|
import { assertReadablePath } from './guards.js';
|
|
12
|
+
import { ripgrepListFiles } from '../utils/ripgrep.js';
|
|
12
13
|
// Token estimation: ~4 characters per token for English text/code
|
|
13
14
|
const CHARS_PER_TOKEN = 4;
|
|
14
15
|
const MAX_CONTEXT_TOKENS = 12500; // ~50k chars
|
|
@@ -146,36 +147,36 @@ export async function discoverUIFiles(directory, config) {
|
|
|
146
147
|
/design[-_]?tokens?\./,
|
|
147
148
|
/tailwind\.config\./,
|
|
148
149
|
];
|
|
150
|
+
const excludedDirs = ['node_modules', '.git', 'dist', 'build', '.next', '.nuxt'];
|
|
151
|
+
const excludeGlobs = excludedDirs.map((d) => `!**/${d}/**`);
|
|
152
|
+
let list;
|
|
153
|
+
try {
|
|
154
|
+
list = await ripgrepListFiles({
|
|
155
|
+
cwd: directory,
|
|
156
|
+
includeHidden: true,
|
|
157
|
+
noIgnore: true,
|
|
158
|
+
maxFiles: 5000,
|
|
159
|
+
maxDepth: 3,
|
|
160
|
+
globs: excludeGlobs,
|
|
161
|
+
cacheTtlMs: 1500,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
// Fall back to empty on rg failures; caller can still operate without auto-discovery.
|
|
166
|
+
return [];
|
|
167
|
+
}
|
|
149
168
|
const files = [];
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
continue;
|
|
161
|
-
}
|
|
162
|
-
scan(fullPath, depth + 1);
|
|
163
|
-
}
|
|
164
|
-
else if (entry.isFile()) {
|
|
165
|
-
// Check if matches UI patterns
|
|
166
|
-
if (uiPatterns.some((pattern) => pattern.test(entry.name))) {
|
|
167
|
-
if (isPathAllowed(fullPath, config.allowedPaths) && !isSensitiveFile(fullPath)) {
|
|
168
|
-
files.push(fullPath);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
catch {
|
|
175
|
-
// Skip directories we can't read
|
|
176
|
-
}
|
|
169
|
+
for (const rel of list.files) {
|
|
170
|
+
const name = path.basename(rel);
|
|
171
|
+
if (!uiPatterns.some((pattern) => pattern.test(name)))
|
|
172
|
+
continue;
|
|
173
|
+
const abs = path.resolve(directory, rel);
|
|
174
|
+
if (!isPathAllowed(abs, config.allowedPaths))
|
|
175
|
+
continue;
|
|
176
|
+
if (isSensitiveFile(abs))
|
|
177
|
+
continue;
|
|
178
|
+
files.push(abs);
|
|
177
179
|
}
|
|
178
|
-
scan(directory);
|
|
179
180
|
// Sort by relevance
|
|
180
181
|
return sortByRelevance(files);
|
|
181
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/context/builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/context/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Config } from '../config/index.js';
|
|
2
|
+
import { type ResolveMode } from '../output/path-resolve.js';
|
|
3
|
+
export declare function resolveProjectRootAbsForTarget(params: {
|
|
4
|
+
config: Config;
|
|
5
|
+
projectRootRaw?: string;
|
|
6
|
+
targetPath: string;
|
|
7
|
+
}): string;
|
|
8
|
+
export declare function resolvePathInProject(params: {
|
|
9
|
+
projectRootAbs: string;
|
|
10
|
+
inputPath: string;
|
|
11
|
+
mode: ResolveMode;
|
|
12
|
+
}): {
|
|
13
|
+
absPath: string;
|
|
14
|
+
normalizedRelative: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function resolveProjectAndTarget(params: {
|
|
17
|
+
config: Config;
|
|
18
|
+
projectRootRaw?: string;
|
|
19
|
+
targetPath: string;
|
|
20
|
+
}): {
|
|
21
|
+
projectRootAbs: string;
|
|
22
|
+
targetPath: string;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=project-root-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-root-resolver.d.ts","sourceRoot":"","sources":["../../src/context/project-root-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAgCvF,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAWT;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;CACnB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAiBlD;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAQjD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
import { assertReadableDir } from './guards.js';
|
|
4
|
+
import { resolveWithinProjectRoot } from '../output/path-resolve.js';
|
|
5
|
+
function nearestExistingDir(absPath) {
|
|
6
|
+
let dir = fs.existsSync(absPath) ? absPath : path.dirname(absPath);
|
|
7
|
+
while (dir !== path.dirname(dir) && !fs.existsSync(dir))
|
|
8
|
+
dir = path.dirname(dir);
|
|
9
|
+
return dir;
|
|
10
|
+
}
|
|
11
|
+
function looksLikeProjectRoot(dirAbs) {
|
|
12
|
+
const pkg = path.join(dirAbs, 'package.json');
|
|
13
|
+
if (fs.existsSync(pkg))
|
|
14
|
+
return true;
|
|
15
|
+
const nextConfigs = ['next.config.js', 'next.config.ts', 'next.config.mjs', 'next.config.cjs'];
|
|
16
|
+
if (nextConfigs.some((f) => fs.existsSync(path.join(dirAbs, f))))
|
|
17
|
+
return true;
|
|
18
|
+
const viteConfigs = ['vite.config.ts', 'vite.config.js', 'vite.config.mjs', 'vite.config.cjs'];
|
|
19
|
+
if (viteConfigs.some((f) => fs.existsSync(path.join(dirAbs, f))))
|
|
20
|
+
return true;
|
|
21
|
+
if (fs.existsSync(path.join(dirAbs, 'tsconfig.json')))
|
|
22
|
+
return true;
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
function findNearestProjectRootAbs(startDirAbs) {
|
|
26
|
+
let dir = startDirAbs;
|
|
27
|
+
while (true) {
|
|
28
|
+
if (looksLikeProjectRoot(dir))
|
|
29
|
+
return dir;
|
|
30
|
+
const parent = path.dirname(dir);
|
|
31
|
+
if (parent === dir)
|
|
32
|
+
return null;
|
|
33
|
+
dir = parent;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export function resolveProjectRootAbsForTarget(params) {
|
|
37
|
+
if (params.projectRootRaw && params.projectRootRaw.trim().length > 0) {
|
|
38
|
+
return assertReadableDir(path.isAbsolute(params.projectRootRaw) ? params.projectRootRaw : path.resolve(process.cwd(), params.projectRootRaw), params.config);
|
|
39
|
+
}
|
|
40
|
+
const targetAbs = path.isAbsolute(params.targetPath)
|
|
41
|
+
? params.targetPath
|
|
42
|
+
: path.resolve(process.cwd(), params.targetPath);
|
|
43
|
+
const startDir = nearestExistingDir(path.dirname(targetAbs));
|
|
44
|
+
const inferred = findNearestProjectRootAbs(startDir) ?? process.cwd();
|
|
45
|
+
return assertReadableDir(inferred, params.config);
|
|
46
|
+
}
|
|
47
|
+
export function resolvePathInProject(params) {
|
|
48
|
+
// First, interpret as project-relative (what the tools promise).
|
|
49
|
+
try {
|
|
50
|
+
return resolveWithinProjectRoot({
|
|
51
|
+
projectRootAbs: params.projectRootAbs,
|
|
52
|
+
inputPath: params.inputPath,
|
|
53
|
+
mode: params.mode,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
// Fallback: interpret as workspace-relative.
|
|
58
|
+
if (path.isAbsolute(params.inputPath))
|
|
59
|
+
throw new Error(`Path is not within projectRoot: ${params.inputPath}`);
|
|
60
|
+
return resolveWithinProjectRoot({
|
|
61
|
+
projectRootAbs: params.projectRootAbs,
|
|
62
|
+
inputPath: path.resolve(process.cwd(), params.inputPath),
|
|
63
|
+
mode: params.mode,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export function resolveProjectAndTarget(params) {
|
|
68
|
+
const projectRootAbs = resolveProjectRootAbsForTarget(params);
|
|
69
|
+
const resolvedTarget = resolvePathInProject({
|
|
70
|
+
projectRootAbs,
|
|
71
|
+
inputPath: params.targetPath,
|
|
72
|
+
mode: 'file',
|
|
73
|
+
});
|
|
74
|
+
return { projectRootAbs, targetPath: resolvedTarget.normalizedRelative };
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=project-root-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-root-resolver.js","sourceRoot":"","sources":["../../src/context/project-root-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
* Core design principles for generating distinctive, memorable UI.
|
|
9
9
|
* Injected into generation prompts to steer away from generic output.
|
|
10
10
|
*/
|
|
11
|
-
export declare const DESIGN_PRINCIPLES = "\n## Design
|
|
11
|
+
export declare const DESIGN_PRINCIPLES = "\n## Design & Engineering Principles\n\nGoal: ship production-grade UI that feels intentionally designed.\n\n### 0) Respect the repo (always)\n- If a project already has design tokens, spacing scales, typography, or UI conventions, FOLLOW THEM.\n- Do not introduce a new design system, new fonts, or new dependencies unless explicitly requested.\n- Prefer reusing existing components/utilities already present in the repo.\n\n### 1) Distinctiveness (without breaking brand)\n- Avoid cookie-cutter \"SaaS hero + 3 cards\" defaults unless explicitly requested.\n- Pick ONE clear layout archetype and commit (e.g., blueprint/spec sheet/editorial split/timeline/case file).\n- Include ONE signature motif that repeats subtly (borders, dividers, background treatment, icon style, micro-layout).\n- Use purposeful asymmetry/overlap OR purposeful restraint (both are valid \u2014 commit to one).\n\n### 2) Visual craft\n- Typography: keep it consistent with the repo. If inventing new typography, prefer a small set (1\u20132 families) and avoid long fallback stacks.\n- Color: use semantic roles (background/surface/text/accent/border) and ensure contrast.\n- Depth: add atmosphere via subtle gradients/textures/borders/shadows \u2014 not noisy gimmicks.\n- Motion: one high-impact moment beats many micro-animations. Keep durations/easing consistent.\n\n### 3) Implementation quality\n- Accessibility: WCAG AA by default (keyboard navigation, focus-visible, labels/aria, reduced-motion).\n- Responsive: mobile-first, layout scales cleanly.\n- Factuality: do NOT invent metrics/prices/user counts/version numbers. Use placeholders or omit.\n- Assets: avoid remote asset URLs in CSS. Prefer CSS-generated textures/patterns or local assets.\n- Next.js hygiene: avoid <style jsx global> and avoid Google Fonts via CSS @import. Prefer next/font and global CSS.\n";
|
|
12
12
|
/**
|
|
13
13
|
* Compact version for token-constrained contexts.
|
|
14
14
|
* Use this when combining with large user prompts.
|
|
15
15
|
*/
|
|
16
|
-
export declare const DESIGN_PRINCIPLES_COMPACT = "\n## Design Rules\n-
|
|
16
|
+
export declare const DESIGN_PRINCIPLES_COMPACT = "\n## Design Rules (compact)\n- Respect the repo's existing tokens/components; don't introduce new dependencies unless asked.\n- Avoid cookie-cutter layouts by default; commit to one archetype + one signature motif.\n- WCAG AA, responsive, focus-visible, reduced-motion.\n- Don't invent numbers; avoid remote CSS assets.\n";
|
|
17
17
|
export type DesignPrinciplesSetting = 'full' | 'compact' | 'off';
|
|
18
18
|
export declare function resolveDesignPrinciples(setting: DesignPrinciplesSetting, variant: 'full' | 'compact'): string;
|
|
19
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principles.d.ts","sourceRoot":"","sources":["../../src/design/principles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"principles.d.ts","sourceRoot":"","sources":["../../src/design/principles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,i0DA4B7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,sUAMrC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;AAEjE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,MAAM,CAIR;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,UAMxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;CAK3B,CAAC"}
|
|
@@ -9,82 +9,44 @@
|
|
|
9
9
|
* Injected into generation prompts to steer away from generic output.
|
|
10
10
|
*/
|
|
11
11
|
export const DESIGN_PRINCIPLES = `
|
|
12
|
-
## Design
|
|
12
|
+
## Design & Engineering Principles
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
Every design should feel intentionally crafted, not algorithmically generated.
|
|
14
|
+
Goal: ship production-grade UI that feels intentionally designed.
|
|
16
15
|
|
|
17
|
-
###
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
- DO pick distinctive families that match the aesthetic direction (and vary them between generations):
|
|
22
|
-
- Display: Bricolage Grotesque, Fraunces, Unbounded, Syne, Playfair Display
|
|
23
|
-
- Body: Plus Jakarta Sans, Instrument Sans, Source Sans 3, IBM Plex Sans, Newsreader
|
|
24
|
-
- Code: JetBrains Mono, Fira Code, IBM Plex Mono, Space Mono, DM Mono
|
|
25
|
-
- Editorial: Newsreader, Crimson Pro, Cormorant Garamond, Libre Baskerville
|
|
26
|
-
- Pair a distinctive display font with a refined body font
|
|
27
|
-
- Use extreme weight contrasts (100/200 vs 800/900, not 400 vs 600)
|
|
28
|
-
- Size jumps of 3x+, not 1.5x differences
|
|
16
|
+
### 0) Respect the repo (always)
|
|
17
|
+
- If a project already has design tokens, spacing scales, typography, or UI conventions, FOLLOW THEM.
|
|
18
|
+
- Do not introduce a new design system, new fonts, or new dependencies unless explicitly requested.
|
|
19
|
+
- Prefer reusing existing components/utilities already present in the repo.
|
|
29
20
|
|
|
30
|
-
###
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
- Draw inspiration from: IDE themes, cultural aesthetics, editorial design
|
|
36
|
-
- Consider: brutalist monochromes, rich jewel tones, warm earthy palettes
|
|
21
|
+
### 1) Distinctiveness (without breaking brand)
|
|
22
|
+
- Avoid cookie-cutter "SaaS hero + 3 cards" defaults unless explicitly requested.
|
|
23
|
+
- Pick ONE clear layout archetype and commit (e.g., blueprint/spec sheet/editorial split/timeline/case file).
|
|
24
|
+
- Include ONE signature motif that repeats subtly (borders, dividers, background treatment, icon style, micro-layout).
|
|
25
|
+
- Use purposeful asymmetry/overlap OR purposeful restraint (both are valid — commit to one).
|
|
37
26
|
|
|
38
|
-
###
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
- Hover states that transform, not just color-shift
|
|
44
|
-
- One well-designed entrance animation > ten subtle fades
|
|
27
|
+
### 2) Visual craft
|
|
28
|
+
- Typography: keep it consistent with the repo. If inventing new typography, prefer a small set (1–2 families) and avoid long fallback stacks.
|
|
29
|
+
- Color: use semantic roles (background/surface/text/accent/border) and ensure contrast.
|
|
30
|
+
- Depth: add atmosphere via subtle gradients/textures/borders/shadows — not noisy gimmicks.
|
|
31
|
+
- Motion: one high-impact moment beats many micro-animations. Keep durations/easing consistent.
|
|
45
32
|
|
|
46
|
-
###
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
- Layered transparencies and glassmorphism
|
|
53
|
-
- Dramatic shadows and elevation
|
|
54
|
-
- Decorative borders and frames
|
|
55
|
-
|
|
56
|
-
### Spatial Composition
|
|
57
|
-
- Unexpected layouts create memorability
|
|
58
|
-
- Use: asymmetry, overlap, diagonal flow
|
|
59
|
-
- Grid-breaking elements for visual interest
|
|
60
|
-
- Choose: generous negative space OR controlled density (both valid, commit fully)
|
|
61
|
-
- Avoid cookie-cutter card grids
|
|
62
|
-
|
|
63
|
-
### Aesthetic Directions (pick ONE, commit fully)
|
|
64
|
-
When generating vibes, draw from these inspirations:
|
|
65
|
-
- Brutally minimal (stark, high-contrast, essential)
|
|
66
|
-
- Maximalist chaos (layered, textured, vibrant)
|
|
67
|
-
- Retro-futuristic (CRT glow, scan lines, neon)
|
|
68
|
-
- Organic/natural (earth tones, flowing shapes)
|
|
69
|
-
- Luxury/refined (gold/black, serif elegance)
|
|
70
|
-
- Playful/toy-like (rounded corners, bouncy, colorful)
|
|
71
|
-
- Editorial/magazine (bold typography, asymmetry)
|
|
72
|
-
- Brutalist/raw (exposed structure, monospace, blocks)
|
|
73
|
-
- Art deco/geometric (symmetry, gold, repetition)
|
|
74
|
-
- Soft/pastel (muted, gentle, rounded)
|
|
75
|
-
- Industrial/utilitarian (functional, exposed, dark)
|
|
33
|
+
### 3) Implementation quality
|
|
34
|
+
- Accessibility: WCAG AA by default (keyboard navigation, focus-visible, labels/aria, reduced-motion).
|
|
35
|
+
- Responsive: mobile-first, layout scales cleanly.
|
|
36
|
+
- Factuality: do NOT invent metrics/prices/user counts/version numbers. Use placeholders or omit.
|
|
37
|
+
- Assets: avoid remote asset URLs in CSS. Prefer CSS-generated textures/patterns or local assets.
|
|
38
|
+
- Next.js hygiene: avoid <style jsx global> and avoid Google Fonts via CSS @import. Prefer next/font and global CSS.
|
|
76
39
|
`;
|
|
77
40
|
/**
|
|
78
41
|
* Compact version for token-constrained contexts.
|
|
79
42
|
* Use this when combining with large user prompts.
|
|
80
43
|
*/
|
|
81
44
|
export const DESIGN_PRINCIPLES_COMPACT = `
|
|
82
|
-
## Design Rules
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
- Layout: Asymmetry, overlap, grid-breaking. Commit to a direction.
|
|
45
|
+
## Design Rules (compact)
|
|
46
|
+
- Respect the repo's existing tokens/components; don't introduce new dependencies unless asked.
|
|
47
|
+
- Avoid cookie-cutter layouts by default; commit to one archetype + one signature motif.
|
|
48
|
+
- WCAG AA, responsive, focus-visible, reduced-motion.
|
|
49
|
+
- Don't invent numbers; avoid remote CSS assets.
|
|
88
50
|
`;
|
|
89
51
|
export function resolveDesignPrinciples(setting, variant) {
|
|
90
52
|
if (setting === 'off')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principles.js","sourceRoot":"","sources":["../../src/design/principles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG
|
|
1
|
+
{"version":3,"file":"principles.js","sourceRoot":"","sources":["../../src/design/principles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BhC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;CAMxC,CAAC;AAIF,MAAM,UAAU,uBAAuB,CACrC,OAAgC,EAChC,OAA2B;IAE3B,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,yBAAyB,CAAC;IAC5D,OAAO,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,yBAAyB,CAAC;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO;IACP,QAAQ;IACR,OAAO;IACP,WAAW;IACX,MAAM;CACP,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC,qBAAqB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,CAAC;IACrF,IAAI,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC;IAC9F,IAAI,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,CAAC;IAC/E,SAAS,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;CACpF,CAAC"}
|