@c15t/cli 2.0.0-rc.1 → 2.0.0-rc.3
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/{760.mjs → 153.mjs} +131 -49
- package/dist/commands/generate/templates/next/app/layout.d.ts +2 -1
- package/dist/commands/generate/templates/next/app/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/index.d.ts.map +1 -1
- package/dist/commands/generate/templates/next/pages/layout.d.ts +2 -1
- package/dist/commands/generate/templates/next/pages/layout.d.ts.map +1 -1
- package/dist/commands/generate/templates/shared/layout-pipeline.d.ts +1 -0
- package/dist/commands/generate/templates/shared/layout-pipeline.d.ts.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/skills.d.ts +11 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +151 -3
- package/dist/machines/generate/actors/prompts.d.ts +7 -0
- package/dist/machines/generate/actors/prompts.d.ts.map +1 -1
- package/dist/machines/generate/machine.d.ts +7 -2
- package/dist/machines/generate/machine.d.ts.map +1 -1
- package/dist/machines/generate/types.d.ts +3 -1
- package/dist/machines/generate/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/{760.mjs → 153.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Node, Project, SyntaxKind } from "ts-morph";
|
|
2
|
-
export const __rspack_esm_id = "
|
|
2
|
+
export const __rspack_esm_id = "153";
|
|
3
3
|
export const __rspack_esm_ids = [
|
|
4
|
-
"
|
|
4
|
+
"153"
|
|
5
5
|
];
|
|
6
6
|
export const __webpack_modules__ = {
|
|
7
7
|
"./src/commands/generate/options/utils/generate-files.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
@@ -11,7 +11,7 @@ export const __webpack_modules__ = {
|
|
|
11
11
|
var promises_ = __webpack_require__("node:fs/promises");
|
|
12
12
|
var external_node_path_ = __webpack_require__("node:path");
|
|
13
13
|
var external_picocolors_ = __webpack_require__("picocolors");
|
|
14
|
-
var
|
|
14
|
+
var utils_logger = __webpack_require__("./src/utils/logger.ts");
|
|
15
15
|
var constants = __webpack_require__("./src/constants.ts");
|
|
16
16
|
function generateClientConfigContent(mode, backendURL, useEnvFile, enableDevTools = false) {
|
|
17
17
|
switch(mode){
|
|
@@ -231,6 +231,99 @@ ${devToolsCall}
|
|
|
231
231
|
const envVarName = getEnvVarName(pkg);
|
|
232
232
|
return `\n# c15t Configuration\n${envVarName}=https://your-instance.c15t.dev\n`;
|
|
233
233
|
}
|
|
234
|
+
async function findMatchingFiles(projectRoot, patterns, logger) {
|
|
235
|
+
const matches = [];
|
|
236
|
+
for (const pattern of patterns){
|
|
237
|
+
const parts = pattern.split('/');
|
|
238
|
+
const hasWildcard = parts.some((p)=>'*' === p);
|
|
239
|
+
if (hasWildcard) {
|
|
240
|
+
const baseParts = [];
|
|
241
|
+
for (const part of parts){
|
|
242
|
+
if ('*' === part) break;
|
|
243
|
+
baseParts.push(part);
|
|
244
|
+
}
|
|
245
|
+
const baseDir = external_node_path_["default"].join(projectRoot, ...baseParts);
|
|
246
|
+
try {
|
|
247
|
+
const entries = await promises_["default"].readdir(baseDir, {
|
|
248
|
+
withFileTypes: true
|
|
249
|
+
});
|
|
250
|
+
for (const entry of entries)if (entry.isDirectory()) {
|
|
251
|
+
const remainingParts = parts.slice(baseParts.length + 1);
|
|
252
|
+
const potentialPath = external_node_path_["default"].join(baseDir, entry.name, ...remainingParts);
|
|
253
|
+
const relativePath = external_node_path_["default"].relative(projectRoot, potentialPath);
|
|
254
|
+
const patternWithDir = pattern.replace('*', entry.name);
|
|
255
|
+
if (relativePath === patternWithDir.replace(/\//g, external_node_path_["default"].sep)) try {
|
|
256
|
+
await promises_["default"].access(potentialPath);
|
|
257
|
+
logger?.debug(`Found layout: ${relativePath}`);
|
|
258
|
+
matches.push(relativePath);
|
|
259
|
+
} catch {}
|
|
260
|
+
}
|
|
261
|
+
} catch {}
|
|
262
|
+
} else {
|
|
263
|
+
const filePath = external_node_path_["default"].join(projectRoot, pattern);
|
|
264
|
+
try {
|
|
265
|
+
await promises_["default"].access(filePath);
|
|
266
|
+
logger?.debug(`Found layout: ${pattern}`);
|
|
267
|
+
matches.push(pattern);
|
|
268
|
+
} catch {}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return matches;
|
|
272
|
+
}
|
|
273
|
+
function extractLocaleSegment(filepath) {
|
|
274
|
+
const match = filepath.match(constants.QL.DYNAMIC_SEGMENT);
|
|
275
|
+
return match ? match[0] : void 0;
|
|
276
|
+
}
|
|
277
|
+
function hasLocaleSegment(filepath) {
|
|
278
|
+
return constants.QL.DYNAMIC_SEGMENT.test(filepath);
|
|
279
|
+
}
|
|
280
|
+
function getAppDirectory(layoutPath) {
|
|
281
|
+
const parts = layoutPath.split(external_node_path_["default"].sep);
|
|
282
|
+
const appIndex = parts.indexOf('app');
|
|
283
|
+
if (-1 === appIndex) {
|
|
284
|
+
const pagesIndex = parts.indexOf('pages');
|
|
285
|
+
if (-1 !== pagesIndex) return parts.slice(0, pagesIndex + 1).join(external_node_path_["default"].sep);
|
|
286
|
+
return external_node_path_["default"].dirname(layoutPath);
|
|
287
|
+
}
|
|
288
|
+
if (hasLocaleSegment(layoutPath)) return parts.slice(0, appIndex + 2).join(external_node_path_["default"].sep);
|
|
289
|
+
return parts.slice(0, appIndex + 1).join(external_node_path_["default"].sep);
|
|
290
|
+
}
|
|
291
|
+
async function findLayoutFile(projectRoot, logger) {
|
|
292
|
+
logger?.debug(`Searching for layout file in ${projectRoot}`);
|
|
293
|
+
const appLayoutMatches = await findMatchingFiles(projectRoot, constants.Lk, logger);
|
|
294
|
+
if (appLayoutMatches.length > 0) {
|
|
295
|
+
appLayoutMatches.sort((a, b)=>{
|
|
296
|
+
const aHasLocale = hasLocaleSegment(a);
|
|
297
|
+
const bHasLocale = hasLocaleSegment(b);
|
|
298
|
+
if (!aHasLocale && bHasLocale) return -1;
|
|
299
|
+
if (aHasLocale && !bHasLocale) return 1;
|
|
300
|
+
return a.length - b.length;
|
|
301
|
+
});
|
|
302
|
+
const layoutPath = appLayoutMatches[0];
|
|
303
|
+
const localeSegment = extractLocaleSegment(layoutPath);
|
|
304
|
+
logger?.debug(`Selected layout: ${layoutPath}`);
|
|
305
|
+
return {
|
|
306
|
+
path: layoutPath,
|
|
307
|
+
type: 'app',
|
|
308
|
+
hasLocaleSegment: !!localeSegment,
|
|
309
|
+
localeSegment,
|
|
310
|
+
appDirectory: getAppDirectory(layoutPath)
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
const pagesLayoutMatches = await findMatchingFiles(projectRoot, constants.Vj, logger);
|
|
314
|
+
if (pagesLayoutMatches.length > 0) {
|
|
315
|
+
const layoutPath = pagesLayoutMatches[0];
|
|
316
|
+
logger?.debug(`Selected pages layout: ${layoutPath}`);
|
|
317
|
+
return {
|
|
318
|
+
path: layoutPath,
|
|
319
|
+
type: 'pages',
|
|
320
|
+
hasLocaleSegment: false,
|
|
321
|
+
appDirectory: getAppDirectory(layoutPath)
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
logger?.debug('No layout file found');
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
234
327
|
function toCamelCase(scriptName) {
|
|
235
328
|
return scriptName.replace(/-([a-z])/g, (_, letter)=>letter.toUpperCase());
|
|
236
329
|
}
|
|
@@ -315,7 +408,7 @@ ${devToolsCall}
|
|
|
315
408
|
}` : '{ children }: { children: ReactNode }';
|
|
316
409
|
const providerProps = initialDataProp ? `\n\t\t\tinitialData={initialData}\n\t\t\toptions={${fullOptionsText}}` : ` options={${fullOptionsText}}`;
|
|
317
410
|
const directive = useClientDirective ? "'use client';\n\n" : '';
|
|
318
|
-
const devToolsImport = enableDevTools ? "import {
|
|
411
|
+
const devToolsImport = enableDevTools ? "import { DevTools } from '@c15t/dev-tools/react';\n" : '';
|
|
319
412
|
const themeImport = includeTheme ? "import { theme } from './theme';\n" : '';
|
|
320
413
|
const componentName = defaultExport ? 'ConsentManagerClient' : 'ConsentManager';
|
|
321
414
|
const exportPrefix = defaultExport ? 'export default function' : 'export function';
|
|
@@ -339,7 +432,7 @@ ${exportPrefix} ${componentName}(${propsDestructure}) {
|
|
|
339
432
|
<ConsentManagerProvider${providerProps}>
|
|
340
433
|
<ConsentBanner />
|
|
341
434
|
<ConsentDialog />
|
|
342
|
-
${enableDevTools ? "<
|
|
435
|
+
${enableDevTools ? "<DevTools disabled={process.env.NODE_ENV === 'production'} />" : ''}
|
|
343
436
|
{children}
|
|
344
437
|
</ConsentManagerProvider>
|
|
345
438
|
);
|
|
@@ -364,7 +457,7 @@ ${exportPrefix} ${componentName}(${propsDestructure}) {
|
|
|
364
457
|
* @see https://c15t.com/docs/frameworks/${slug}/quickstart
|
|
365
458
|
*/`;
|
|
366
459
|
}
|
|
367
|
-
async function
|
|
460
|
+
async function directory_getComponentsDirectory(projectRoot, sourceDir) {
|
|
368
461
|
const isSrcDir = 'src' === sourceDir || sourceDir.startsWith('src');
|
|
369
462
|
const candidates = isSrcDir ? [
|
|
370
463
|
'src/components',
|
|
@@ -416,7 +509,7 @@ ${exportPrefix} ${componentName}(${propsDestructure}) {
|
|
|
416
509
|
typeImports = '';
|
|
417
510
|
}
|
|
418
511
|
const ssrDataOption = enableSSR ? '\n\t\t\t\tssrData,' : '';
|
|
419
|
-
const devToolsImport = enableDevTools ? "import {
|
|
512
|
+
const devToolsImport = enableDevTools ? "import { DevTools } from '@c15t/dev-tools/react';\n" : '';
|
|
420
513
|
const reactNodeImport = useConsentManagerProps ? '' : "import type { ReactNode } from 'react';\n";
|
|
421
514
|
return `'use client';
|
|
422
515
|
|
|
@@ -444,7 +537,7 @@ export default function ConsentManagerClient(${propsDestructure}) {
|
|
|
444
537
|
>
|
|
445
538
|
<ConsentBanner />
|
|
446
539
|
<ConsentDialog />
|
|
447
|
-
${enableDevTools ? "<
|
|
540
|
+
${enableDevTools ? "<DevTools disabled={process.env.NODE_ENV === 'production'} />" : ''}
|
|
448
541
|
{children}
|
|
449
542
|
</ConsentManagerProvider>
|
|
450
543
|
);
|
|
@@ -816,10 +909,13 @@ export const theme: Theme = {
|
|
|
816
909
|
});
|
|
817
910
|
}
|
|
818
911
|
async function runLayoutUpdatePipeline(config) {
|
|
819
|
-
const { filePatterns, projectRoot, frameworkDirName, createComponents, wrapJsx, afterImport } = config;
|
|
912
|
+
const { filePatterns, projectRoot, knownFilePath, frameworkDirName, createComponents, wrapJsx, afterImport } = config;
|
|
820
913
|
const project = new Project();
|
|
821
914
|
let layoutFile;
|
|
822
|
-
|
|
915
|
+
if (knownFilePath) try {
|
|
916
|
+
layoutFile = project.addSourceFileAtPath(knownFilePath);
|
|
917
|
+
} catch {}
|
|
918
|
+
else for (const pattern of filePatterns){
|
|
823
919
|
const files = project.addSourceFilesAtPaths(`${projectRoot}/${pattern}`);
|
|
824
920
|
if (files.length > 0) {
|
|
825
921
|
layoutFile = files[0];
|
|
@@ -988,7 +1084,7 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
988
1084
|
}
|
|
989
1085
|
async function createExpandedConsentManagerComponents(projectRoot, appDir, options) {
|
|
990
1086
|
const { mode, backendURL, useEnvFile, proxyNextjs, enableSSR, enableDevTools, expandedTheme } = options;
|
|
991
|
-
const componentsDir = await
|
|
1087
|
+
const componentsDir = await directory_getComponentsDirectory(projectRoot, appDir);
|
|
992
1088
|
const consentManagerDirPath = external_node_path_["default"].join(projectRoot, componentsDir, 'consent-manager');
|
|
993
1089
|
const backendURLValue = getBackendURLValue(backendURL, useEnvFile, proxyNextjs, NEXTJS_CONFIG.envVarPrefix);
|
|
994
1090
|
const optionsText = generateOptionsText(mode, backendURL, useEnvFile, proxyNextjs, void 0, NEXTJS_CONFIG.envVarPrefix);
|
|
@@ -1029,7 +1125,7 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1029
1125
|
async function createPrebuiltConsentManagerComponents(projectRoot, appDir, options) {
|
|
1030
1126
|
const { mode, backendURL, useEnvFile, proxyNextjs, enableSSR, enableDevTools, expandedTheme, selectedScripts } = options;
|
|
1031
1127
|
const hasTheme = expandedTheme && 'none' !== expandedTheme;
|
|
1032
|
-
const componentsDir = await
|
|
1128
|
+
const componentsDir = await directory_getComponentsDirectory(projectRoot, appDir);
|
|
1033
1129
|
const consentManagerDirPath = external_node_path_["default"].join(projectRoot, componentsDir, 'consent-manager');
|
|
1034
1130
|
const backendURLValue = getBackendURLValue(backendURL, useEnvFile, proxyNextjs, NEXTJS_CONFIG.envVarPrefix);
|
|
1035
1131
|
const optionsText = generateOptionsText(mode, backendURL, useEnvFile, proxyNextjs, void 0, NEXTJS_CONFIG.envVarPrefix);
|
|
@@ -1077,10 +1173,11 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1077
1173
|
'app/layout.ts',
|
|
1078
1174
|
'src/app/layout.ts'
|
|
1079
1175
|
];
|
|
1080
|
-
async function updateAppLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableSSR = false, enableDevTools = false, uiStyle = 'prebuilt', expandedTheme = 'tailwind', selectedScripts }) {
|
|
1176
|
+
async function updateAppLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableSSR = false, enableDevTools = false, uiStyle = 'prebuilt', expandedTheme = 'tailwind', selectedScripts, layoutFilePath }) {
|
|
1081
1177
|
return runLayoutUpdatePipeline({
|
|
1082
1178
|
filePatterns: APP_LAYOUT_PATTERNS,
|
|
1083
1179
|
projectRoot,
|
|
1180
|
+
knownFilePath: layoutFilePath,
|
|
1084
1181
|
frameworkDirName: 'app',
|
|
1085
1182
|
wrapJsx: wrapAppJsxContent,
|
|
1086
1183
|
createComponents: async (_layoutFilePath, appDir)=>{
|
|
@@ -1176,11 +1273,12 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1176
1273
|
'src/pages/_app.tsx',
|
|
1177
1274
|
'src/pages/_app.ts'
|
|
1178
1275
|
];
|
|
1179
|
-
async function updatePagesLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableDevTools = false, selectedScripts }) {
|
|
1276
|
+
async function updatePagesLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableDevTools = false, selectedScripts, layoutFilePath }) {
|
|
1180
1277
|
const optionsText = generateOptionsText(mode, backendURL, useEnvFile, proxyNextjs);
|
|
1181
1278
|
return runLayoutUpdatePipeline({
|
|
1182
1279
|
filePatterns: PAGES_APP_PATTERNS,
|
|
1183
1280
|
projectRoot,
|
|
1281
|
+
knownFilePath: layoutFilePath,
|
|
1184
1282
|
frameworkDirName: 'pages',
|
|
1185
1283
|
wrapJsx: wrapPagesJsxContent,
|
|
1186
1284
|
createComponents: async (_layoutFilePath, pagesDir)=>createConsentManagerComponent(projectRoot, pagesDir, optionsText, selectedScripts, enableDevTools),
|
|
@@ -1190,40 +1288,24 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1190
1288
|
}
|
|
1191
1289
|
});
|
|
1192
1290
|
}
|
|
1193
|
-
function detectNextJsStructure(projectRoot) {
|
|
1194
|
-
const project = new Project();
|
|
1195
|
-
const appLayoutPatterns = [
|
|
1196
|
-
'app/layout.tsx',
|
|
1197
|
-
'src/app/layout.tsx',
|
|
1198
|
-
'app/layout.ts',
|
|
1199
|
-
'src/app/layout.ts'
|
|
1200
|
-
];
|
|
1201
|
-
for (const pattern of appLayoutPatterns){
|
|
1202
|
-
const files = project.addSourceFilesAtPaths(`${projectRoot}/${pattern}`);
|
|
1203
|
-
if (files.length > 0) return 'app';
|
|
1204
|
-
}
|
|
1205
|
-
const pagesAppPatterns = [
|
|
1206
|
-
'pages/_app.tsx',
|
|
1207
|
-
'pages/_app.ts',
|
|
1208
|
-
'src/pages/_app.tsx',
|
|
1209
|
-
'src/pages/_app.ts'
|
|
1210
|
-
];
|
|
1211
|
-
for (const pattern of pagesAppPatterns){
|
|
1212
|
-
const files = project.addSourceFilesAtPaths(`${projectRoot}/${pattern}`);
|
|
1213
|
-
if (files.length > 0) return 'pages';
|
|
1214
|
-
}
|
|
1215
|
-
return null;
|
|
1216
|
-
}
|
|
1217
1291
|
async function updateNextLayout(options) {
|
|
1218
|
-
const
|
|
1219
|
-
if (!
|
|
1292
|
+
const layoutDetection = await findLayoutFile(options.projectRoot);
|
|
1293
|
+
if (!layoutDetection) return {
|
|
1220
1294
|
updated: false,
|
|
1221
1295
|
filePath: null,
|
|
1222
1296
|
alreadyModified: false,
|
|
1223
1297
|
structureType: null
|
|
1224
1298
|
};
|
|
1299
|
+
const structureType = layoutDetection.type;
|
|
1300
|
+
const layoutFilePath = external_node_path_["default"].join(options.projectRoot, layoutDetection.path);
|
|
1225
1301
|
let result;
|
|
1226
|
-
result = 'app' === structureType ? await updateAppLayout(
|
|
1302
|
+
result = 'app' === structureType ? await updateAppLayout({
|
|
1303
|
+
...options,
|
|
1304
|
+
layoutFilePath
|
|
1305
|
+
}) : await updatePagesLayout({
|
|
1306
|
+
...options,
|
|
1307
|
+
layoutFilePath
|
|
1308
|
+
});
|
|
1227
1309
|
return {
|
|
1228
1310
|
...result,
|
|
1229
1311
|
structureType
|
|
@@ -1260,7 +1342,7 @@ export function ConsentManager({ children }: { children: ReactNode }) {
|
|
|
1260
1342
|
}
|
|
1261
1343
|
async function layout_createConsentManagerComponent(projectRoot, sourceDir, mode, backendURL, useEnvFile, selectedScripts, enableDevTools, expandedTheme) {
|
|
1262
1344
|
const hasTheme = expandedTheme && 'none' !== expandedTheme;
|
|
1263
|
-
const componentsDir = await
|
|
1345
|
+
const componentsDir = await directory_getComponentsDirectory(projectRoot, sourceDir);
|
|
1264
1346
|
const consentManagerDirPath = external_node_path_["default"].join(projectRoot, componentsDir, 'consent-manager');
|
|
1265
1347
|
const optionsText = generateOptionsText(mode, backendURL, useEnvFile, void 0, true);
|
|
1266
1348
|
const providerContent = generateConsentComponent({
|
|
@@ -1590,7 +1672,7 @@ export default config;
|
|
|
1590
1672
|
};
|
|
1591
1673
|
};
|
|
1592
1674
|
const { message, type } = spinnerMessage();
|
|
1593
|
-
spinner.stop((0,
|
|
1675
|
+
spinner.stop((0, utils_logger.$e)(type, message));
|
|
1594
1676
|
return {
|
|
1595
1677
|
layoutUpdated: layoutResult.updated,
|
|
1596
1678
|
layoutPath: layoutResult.filePath
|
|
@@ -1623,7 +1705,7 @@ export default config;
|
|
|
1623
1705
|
};
|
|
1624
1706
|
};
|
|
1625
1707
|
const { message, type } = spinnerMessage();
|
|
1626
|
-
spinner.stop((0,
|
|
1708
|
+
spinner.stop((0, utils_logger.$e)(type, message));
|
|
1627
1709
|
return {
|
|
1628
1710
|
nextConfigUpdated: configResult.updated,
|
|
1629
1711
|
nextConfigPath: configResult.filePath,
|
|
@@ -1651,9 +1733,9 @@ export default config;
|
|
|
1651
1733
|
const currentExampleContent = await promises_["default"].readFile(envExamplePath, 'utf-8');
|
|
1652
1734
|
if (!currentExampleContent.includes(envVarName)) await promises_["default"].appendFile(envExamplePath, envExampleContent);
|
|
1653
1735
|
} else await promises_["default"].writeFile(envExamplePath, envExampleContent);
|
|
1654
|
-
spinner.stop((0,
|
|
1736
|
+
spinner.stop((0, utils_logger.$e)('info', `Environment files added/updated successfully: ${external_picocolors_["default"].cyan(external_node_path_["default"].relative(cwd, envPath))} and ${external_picocolors_["default"].cyan(external_node_path_["default"].relative(cwd, envExamplePath))}`));
|
|
1655
1737
|
} catch (error) {
|
|
1656
|
-
spinner.stop((0,
|
|
1738
|
+
spinner.stop((0, utils_logger.$e)('error', `Error processing environment files: ${error instanceof Error ? error.message : String(error)}`));
|
|
1657
1739
|
throw error;
|
|
1658
1740
|
}
|
|
1659
1741
|
}
|
|
@@ -1696,7 +1778,7 @@ export default config;
|
|
|
1696
1778
|
spinner.start('Generating client configuration file...');
|
|
1697
1779
|
result.configContent = generateClientConfigContent(mode, backendURL, useEnvFile, enableDevTools);
|
|
1698
1780
|
result.configPath = external_node_path_["default"].join(projectRoot, 'c15t.config.ts');
|
|
1699
|
-
spinner.stop((0,
|
|
1781
|
+
spinner.stop((0, utils_logger.$e)('info', `Client configuration file generated: ${result.configContent}`));
|
|
1700
1782
|
}
|
|
1701
1783
|
if (useEnvFile && backendURL) await handleEnvFiles({
|
|
1702
1784
|
projectRoot,
|
|
@@ -1711,8 +1793,8 @@ export default config;
|
|
|
1711
1793
|
if (tailwindResult.updated) {
|
|
1712
1794
|
result.tailwindCssUpdated = true;
|
|
1713
1795
|
result.tailwindCssPath = tailwindResult.filePath;
|
|
1714
|
-
spinner.stop((0,
|
|
1715
|
-
} else spinner.stop((0,
|
|
1796
|
+
spinner.stop((0, utils_logger.$e)('info', `Tailwind CSS updated for v3 compatibility: ${external_picocolors_["default"].cyan(external_node_path_["default"].relative(context.cwd, tailwindResult.filePath || ''))}`));
|
|
1797
|
+
} else spinner.stop((0, utils_logger.$e)('debug', 'Tailwind CSS update not needed.'));
|
|
1716
1798
|
}
|
|
1717
1799
|
return result;
|
|
1718
1800
|
}
|
|
@@ -17,6 +17,7 @@ interface UpdateAppLayoutOptions {
|
|
|
17
17
|
uiStyle?: UIStyle;
|
|
18
18
|
expandedTheme?: ExpandedTheme;
|
|
19
19
|
selectedScripts?: string[];
|
|
20
|
+
layoutFilePath?: string;
|
|
20
21
|
}
|
|
21
22
|
interface ComponentFilePaths {
|
|
22
23
|
consentManager: string;
|
|
@@ -39,7 +40,7 @@ interface ComponentFilePaths {
|
|
|
39
40
|
* 4. Adds ConsentManager import to layout
|
|
40
41
|
* 5. Wraps layout content with ConsentManager component
|
|
41
42
|
*/
|
|
42
|
-
export declare function updateAppLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableSSR, enableDevTools, uiStyle, expandedTheme, selectedScripts, }: UpdateAppLayoutOptions): Promise<{
|
|
43
|
+
export declare function updateAppLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableSSR, enableDevTools, uiStyle, expandedTheme, selectedScripts, layoutFilePath, }: UpdateAppLayoutOptions): Promise<{
|
|
43
44
|
updated: boolean;
|
|
44
45
|
filePath: string | null;
|
|
45
46
|
alreadyModified: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/generate/templates/next/app/layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAmB/D,UAAU,sBAAsB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/generate/templates/next/app/layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAmB/D,UAAU,sBAAsB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAyTD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CAAC,EACrC,WAAW,EACX,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAiB,EACjB,cAAsB,EACtB,OAAoB,EACpB,aAA0B,EAC1B,eAAe,EACf,cAAc,GACd,EAAE,sBAAsB,GAAG,OAAO,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC,CAAC,CA+BD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/templates/next/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/templates/next/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAI5D,UAAU,uBAAuB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,KAAK,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;AAE5C,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,uBAAuB,GAC9B,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACF,CAAC,CAoCD"}
|
|
@@ -13,6 +13,7 @@ interface UpdatePagesLayoutOptions {
|
|
|
13
13
|
proxyNextjs?: boolean;
|
|
14
14
|
enableDevTools?: boolean;
|
|
15
15
|
selectedScripts?: string[];
|
|
16
|
+
layoutFilePath?: string;
|
|
16
17
|
}
|
|
17
18
|
interface ComponentFilePaths {
|
|
18
19
|
consentManager: string;
|
|
@@ -37,7 +38,7 @@ interface ComponentFilePaths {
|
|
|
37
38
|
* Unlike App Directory, Pages Directory only needs one component file because
|
|
38
39
|
* it doesn't use the 'use client' directive pattern.
|
|
39
40
|
*/
|
|
40
|
-
export declare function updatePagesLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableDevTools, selectedScripts, }: UpdatePagesLayoutOptions): Promise<{
|
|
41
|
+
export declare function updatePagesLayout({ projectRoot, mode, backendURL, useEnvFile, proxyNextjs, enableDevTools, selectedScripts, layoutFilePath, }: UpdatePagesLayoutOptions): Promise<{
|
|
41
42
|
updated: boolean;
|
|
42
43
|
filePath: string | null;
|
|
43
44
|
alreadyModified: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/generate/templates/next/pages/layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE,UAAU,wBAAwB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/generate/templates/next/pages/layout.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAKvE,UAAU,wBAAwB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC3B,cAAc,EAAE,MAAM,CAAC;CACvB;AA+KD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CAAC,EACvC,WAAW,EACX,IAAI,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAsB,EACtB,eAAe,EACf,cAAc,GACd,EAAE,wBAAwB,GAAG,OAAO,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC,CAAC,CA6BD"}
|
|
@@ -20,6 +20,7 @@ export interface LayoutPipelineConfig {
|
|
|
20
20
|
filePatterns: string[];
|
|
21
21
|
/** Root directory of the project */
|
|
22
22
|
projectRoot: string;
|
|
23
|
+
knownFilePath?: string;
|
|
23
24
|
/** Framework directory name for getFrameworkDirectory (e.g., 'app' or 'pages') */
|
|
24
25
|
frameworkDirName: string;
|
|
25
26
|
/** Creates the consent-manager component files. Receives the layout file path and framework directory. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-pipeline.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/templates/shared/layout-pipeline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAW,KAAK,UAAU,EAAc,MAAM,UAAU,CAAC;AAOhE,UAAU,kBAAkB;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACpC,mGAAmG;IACnG,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,CAAC;IACzB,0GAA0G;IAC1G,gBAAgB,EAAE,CACjB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,KAChB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,uEAAuE;IACvE,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,+GAA+G;IAC/G,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,oBAAoB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"layout-pipeline.d.ts","sourceRoot":"","sources":["../../../../../src/commands/generate/templates/shared/layout-pipeline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAW,KAAK,UAAU,EAAc,MAAM,UAAU,CAAC;AAOhE,UAAU,kBAAkB;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACpC,mGAAmG;IACnG,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,gBAAgB,EAAE,MAAM,CAAC;IACzB,0GAA0G;IAC1G,gBAAgB,EAAE,CACjB,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,KAChB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACjC,uEAAuE;IACvE,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACzC,+GAA+G;IAC/G,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC5C,MAAM,EAAE,oBAAoB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CA8F7B"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { authCommands, loginCommand, logoutCommand } from './auth';
|
|
|
5
5
|
export { generate, generateCommand } from './generate';
|
|
6
6
|
export { instancesCommand } from './instances';
|
|
7
7
|
export { selfHost } from './self-host';
|
|
8
|
+
export { installSkills } from './skills';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Install Skills command
|
|
3
|
+
*
|
|
4
|
+
* Installs c15t agent skills for AI-assisted development (Claude, Cursor, etc.)
|
|
5
|
+
*/
|
|
6
|
+
import type { CliContext } from '../context/types';
|
|
7
|
+
/**
|
|
8
|
+
* Install c15t agent skills for AI coding assistants
|
|
9
|
+
*/
|
|
10
|
+
export declare function installSkills(context: CliContext): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=skills.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,UAAU,iBA6CtD"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAGH,OAAO,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAGH,OAAO,eAAe,CAAC;AA0EvB,wBAAsB,IAAI,kBAyKzB"}
|
package/dist/index.mjs
CHANGED
|
@@ -22,6 +22,9 @@ var __webpack_modules__ = {
|
|
|
22
22
|
"./src/constants.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
23
23
|
__webpack_require__.d(__webpack_exports__, {
|
|
24
24
|
$V: ()=>STORAGE_MODES,
|
|
25
|
+
Lk: ()=>LAYOUT_PATTERNS,
|
|
26
|
+
QL: ()=>REGEX,
|
|
27
|
+
Vj: ()=>PAGES_APP_PATTERNS,
|
|
25
28
|
tl: ()=>URLS
|
|
26
29
|
});
|
|
27
30
|
const URLS = {
|
|
@@ -32,12 +35,51 @@ var __webpack_modules__ = {
|
|
|
32
35
|
API_DOCS: 'https://c15t.dev/docs/api',
|
|
33
36
|
CLI_DOCS: 'https://c15t.dev/docs/cli'
|
|
34
37
|
};
|
|
38
|
+
const REGEX = {
|
|
39
|
+
URL: /^https?:\/\/.+/,
|
|
40
|
+
C15T_URL: /^https:\/\/[\w-]+\.c15t\.dev$/,
|
|
41
|
+
DYNAMIC_SEGMENT: /\[[\w-]+\]/,
|
|
42
|
+
SEMVER: /^\d+\.\d+\.\d+(-[\w.]+)?$/,
|
|
43
|
+
PACKAGE_NAME: /^(@[\w-]+\/)?[\w-]+$/
|
|
44
|
+
};
|
|
35
45
|
const STORAGE_MODES = {
|
|
36
46
|
C15T: 'c15t',
|
|
37
47
|
OFFLINE: 'offline',
|
|
38
48
|
SELF_HOSTED: 'self-hosted',
|
|
39
49
|
CUSTOM: 'custom'
|
|
40
50
|
};
|
|
51
|
+
const LAYOUT_PATTERNS = [
|
|
52
|
+
'app/layout.tsx',
|
|
53
|
+
'app/layout.ts',
|
|
54
|
+
'app/layout.jsx',
|
|
55
|
+
'app/layout.js',
|
|
56
|
+
'src/app/layout.tsx',
|
|
57
|
+
'src/app/layout.ts',
|
|
58
|
+
'src/app/layout.jsx',
|
|
59
|
+
'src/app/layout.js',
|
|
60
|
+
'app/*/layout.tsx',
|
|
61
|
+
'app/*/layout.ts',
|
|
62
|
+
'app/*/layout.jsx',
|
|
63
|
+
'app/*/layout.js',
|
|
64
|
+
'src/app/*/layout.tsx',
|
|
65
|
+
'src/app/*/layout.ts',
|
|
66
|
+
'src/app/*/layout.jsx',
|
|
67
|
+
'src/app/*/layout.js',
|
|
68
|
+
'app/*/*/layout.tsx',
|
|
69
|
+
'app/*/*/layout.ts',
|
|
70
|
+
'src/app/*/*/layout.tsx',
|
|
71
|
+
'src/app/*/*/layout.ts'
|
|
72
|
+
];
|
|
73
|
+
const PAGES_APP_PATTERNS = [
|
|
74
|
+
'pages/_app.tsx',
|
|
75
|
+
'pages/_app.ts',
|
|
76
|
+
'pages/_app.jsx',
|
|
77
|
+
'pages/_app.js',
|
|
78
|
+
'src/pages/_app.tsx',
|
|
79
|
+
'src/pages/_app.ts',
|
|
80
|
+
'src/pages/_app.jsx',
|
|
81
|
+
'src/pages/_app.js'
|
|
82
|
+
];
|
|
41
83
|
},
|
|
42
84
|
"./src/utils/logger.ts" (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
43
85
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -798,7 +840,7 @@ const fileGenerationActor = (0, __rspack_external_xstate.fromPromise)(async ({ i
|
|
|
798
840
|
};
|
|
799
841
|
const { projectRoot, framework, cwd, logger } = cliContext;
|
|
800
842
|
framework.pkg;
|
|
801
|
-
const { generateFiles } = await __webpack_require__.e("
|
|
843
|
+
const { generateFiles } = await __webpack_require__.e("153").then(__webpack_require__.bind(__webpack_require__, "./src/commands/generate/options/utils/generate-files.ts"));
|
|
802
844
|
const spinnerMock = {
|
|
803
845
|
start: (msg)=>logger.debug(`[spinner] ${msg}`),
|
|
804
846
|
stop: (msg)=>logger.debug(`[spinner] ${msg}`),
|
|
@@ -1029,7 +1071,7 @@ async function getDevToolsOption({ context, handleCancel, onCancel }) {
|
|
|
1029
1071
|
{
|
|
1030
1072
|
value: true,
|
|
1031
1073
|
label: 'Yes (Recommended)',
|
|
1032
|
-
hint: isReactProject ? 'Adds <
|
|
1074
|
+
hint: isReactProject ? 'Adds <DevTools /> to generated consent components' : 'Adds createDevTools() setup to c15t.config.ts'
|
|
1033
1075
|
},
|
|
1034
1076
|
{
|
|
1035
1077
|
value: false,
|
|
@@ -1422,6 +1464,53 @@ const installConfirmActor = (0, __rspack_external_xstate.fromPromise)(async ({ i
|
|
|
1422
1464
|
confirmed: result
|
|
1423
1465
|
};
|
|
1424
1466
|
});
|
|
1467
|
+
const skillsInstallActor = (0, __rspack_external_xstate.fromPromise)(async ({ input })=>{
|
|
1468
|
+
const { cliContext } = input;
|
|
1469
|
+
const result = await prompts_.confirm({
|
|
1470
|
+
message: 'Install c15t agent skills for AI-assisted development? (Claude, Cursor, etc.)',
|
|
1471
|
+
initialValue: true
|
|
1472
|
+
});
|
|
1473
|
+
if (isCancel(result)) return {
|
|
1474
|
+
installed: false
|
|
1475
|
+
};
|
|
1476
|
+
if (result) try {
|
|
1477
|
+
const { spawn } = await import("node:child_process");
|
|
1478
|
+
const pmName = cliContext.packageManager.name;
|
|
1479
|
+
const execCommands = {
|
|
1480
|
+
bun: 'bunx',
|
|
1481
|
+
pnpm: 'pnpm dlx',
|
|
1482
|
+
yarn: 'yarn dlx',
|
|
1483
|
+
npm: 'npx'
|
|
1484
|
+
};
|
|
1485
|
+
const execCommand = execCommands[pmName] ?? 'npx';
|
|
1486
|
+
const [cmd, ...baseArgs] = execCommand.split(' ');
|
|
1487
|
+
cliContext.logger.info('Installing c15t agent skills...');
|
|
1488
|
+
const child = spawn(cmd, [
|
|
1489
|
+
...baseArgs,
|
|
1490
|
+
'skills',
|
|
1491
|
+
'add',
|
|
1492
|
+
'c15t/skills'
|
|
1493
|
+
], {
|
|
1494
|
+
cwd: cliContext.projectRoot,
|
|
1495
|
+
stdio: 'inherit'
|
|
1496
|
+
});
|
|
1497
|
+
const exitCode = await new Promise((resolve)=>{
|
|
1498
|
+
child.on('exit', (code)=>resolve(code));
|
|
1499
|
+
});
|
|
1500
|
+
if (0 === exitCode) {
|
|
1501
|
+
cliContext.logger.success('Agent skills installed successfully!');
|
|
1502
|
+
return {
|
|
1503
|
+
installed: true
|
|
1504
|
+
};
|
|
1505
|
+
}
|
|
1506
|
+
cliContext.logger.warn('Skills installation failed. You can install later with: npx skills add c15t/skills');
|
|
1507
|
+
} catch {
|
|
1508
|
+
cliContext.logger.warn('Skills installation failed. You can install later with: npx skills add c15t/skills');
|
|
1509
|
+
}
|
|
1510
|
+
return {
|
|
1511
|
+
installed: false
|
|
1512
|
+
};
|
|
1513
|
+
});
|
|
1425
1514
|
const githubStarActor = (0, __rspack_external_xstate.fromPromise)(async ({ input })=>{
|
|
1426
1515
|
const { cliContext } = input;
|
|
1427
1516
|
const result = await prompts_.confirm({
|
|
@@ -1569,6 +1658,7 @@ function createInitialContext(cliContext, modeArg) {
|
|
|
1569
1658
|
installAttempted: false,
|
|
1570
1659
|
installSucceeded: false,
|
|
1571
1660
|
runMigrations: false,
|
|
1661
|
+
skillsInstalled: false,
|
|
1572
1662
|
cancelReason: null,
|
|
1573
1663
|
cleanupDone: false,
|
|
1574
1664
|
errors: [],
|
|
@@ -1595,6 +1685,7 @@ const generateMachine = (0, __rspack_external_xstate.setup)({
|
|
|
1595
1685
|
installConfirm: installConfirmActor,
|
|
1596
1686
|
dependencyInstall: dependencyInstallActor,
|
|
1597
1687
|
rollback: rollbackActor,
|
|
1688
|
+
skillsInstall: skillsInstallActor,
|
|
1598
1689
|
githubStar: githubStarActor
|
|
1599
1690
|
}
|
|
1600
1691
|
}).createMachine({
|
|
@@ -1999,7 +2090,22 @@ const generateMachine = (0, __rspack_external_xstate.setup)({
|
|
|
1999
2090
|
}
|
|
2000
2091
|
},
|
|
2001
2092
|
after: {
|
|
2002
|
-
100: '
|
|
2093
|
+
100: 'skillsInstall'
|
|
2094
|
+
}
|
|
2095
|
+
},
|
|
2096
|
+
skillsInstall: {
|
|
2097
|
+
invoke: {
|
|
2098
|
+
src: 'skillsInstall',
|
|
2099
|
+
input: ({ context })=>({
|
|
2100
|
+
cliContext: context.cliContext
|
|
2101
|
+
}),
|
|
2102
|
+
onDone: {
|
|
2103
|
+
target: 'githubStar',
|
|
2104
|
+
actions: (0, __rspack_external_xstate.assign)({
|
|
2105
|
+
skillsInstalled: ({ event })=>event.output.installed
|
|
2106
|
+
})
|
|
2107
|
+
},
|
|
2108
|
+
onError: 'githubStar'
|
|
2003
2109
|
}
|
|
2004
2110
|
},
|
|
2005
2111
|
githubStar: {
|
|
@@ -2801,6 +2907,41 @@ async function selfHost(context) {
|
|
|
2801
2907
|
success: true
|
|
2802
2908
|
});
|
|
2803
2909
|
}
|
|
2910
|
+
async function installSkills(context) {
|
|
2911
|
+
const { logger, packageManager, telemetry } = context;
|
|
2912
|
+
logger.info('c15t agent skills give AI coding assistants deep knowledge of c15t APIs, components, and configuration.');
|
|
2913
|
+
logger.info('Supported tools: Claude Code, Cursor, GitHub Copilot, and any agent that supports the skills format.');
|
|
2914
|
+
const execCommands = {
|
|
2915
|
+
bun: 'bunx',
|
|
2916
|
+
pnpm: 'pnpm dlx',
|
|
2917
|
+
yarn: 'yarn dlx',
|
|
2918
|
+
npm: 'npx'
|
|
2919
|
+
};
|
|
2920
|
+
const execCommand = execCommands[packageManager.name] ?? 'npx';
|
|
2921
|
+
const [cmd, ...baseArgs] = execCommand.split(' ');
|
|
2922
|
+
logger.info(`Running: ${execCommand} skills add c15t/skills`);
|
|
2923
|
+
try {
|
|
2924
|
+
const child = (0, __rspack_external_node_child_process_27f17141.spawn)(cmd, [
|
|
2925
|
+
...baseArgs,
|
|
2926
|
+
'skills',
|
|
2927
|
+
'add',
|
|
2928
|
+
'c15t/skills'
|
|
2929
|
+
], {
|
|
2930
|
+
cwd: context.projectRoot,
|
|
2931
|
+
stdio: 'inherit'
|
|
2932
|
+
});
|
|
2933
|
+
const [exitCode] = await (0, __rspack_external_node_events_0a6aefe7.once)(child, 'exit');
|
|
2934
|
+
if (0 === exitCode) {
|
|
2935
|
+
logger.success('Agent skills installed successfully!');
|
|
2936
|
+
telemetry.trackEvent(TelemetryEventName.ONBOARDING_COMPLETED, {
|
|
2937
|
+
action: 'skills_installed'
|
|
2938
|
+
});
|
|
2939
|
+
} else logger.error(`Skills installation failed (exit code ${exitCode}). Please try again or install manually with: npx skills add c15t/skills`);
|
|
2940
|
+
} catch (error) {
|
|
2941
|
+
logger.error(`Skills installation failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
2942
|
+
logger.info('You can install manually with: npx skills add c15t/skills');
|
|
2943
|
+
}
|
|
2944
|
+
}
|
|
2804
2945
|
async function displayIntro(context, version) {
|
|
2805
2946
|
const { logger } = context;
|
|
2806
2947
|
logger.info(`${external_picocolors_["default"].bold('Welcome!')} Let's get you set up.`);
|
|
@@ -3241,6 +3382,13 @@ const src_commands = [
|
|
|
3241
3382
|
description: 'Commands for self-hosting c15t (generate, migrate).',
|
|
3242
3383
|
action: (context)=>selfHost(context)
|
|
3243
3384
|
},
|
|
3385
|
+
{
|
|
3386
|
+
name: 'skills',
|
|
3387
|
+
label: 'Skills',
|
|
3388
|
+
hint: 'Add c15t agent skills for AI tools',
|
|
3389
|
+
description: 'Install c15t skills for AI-assisted development (Claude, Cursor, etc.)',
|
|
3390
|
+
action: (context)=>installSkills(context)
|
|
3391
|
+
},
|
|
3244
3392
|
{
|
|
3245
3393
|
name: 'github',
|
|
3246
3394
|
label: 'GitHub',
|
|
@@ -112,6 +112,13 @@ export interface InstallConfirmOutput {
|
|
|
112
112
|
confirmed: boolean;
|
|
113
113
|
}
|
|
114
114
|
export declare const installConfirmActor: import("xstate").PromiseActorLogic<InstallConfirmOutput, InstallConfirmInput, import("xstate").EventObject>;
|
|
115
|
+
export interface SkillsInstallInput {
|
|
116
|
+
cliContext: CliContext;
|
|
117
|
+
}
|
|
118
|
+
export interface SkillsInstallOutput {
|
|
119
|
+
installed: boolean;
|
|
120
|
+
}
|
|
121
|
+
export declare const skillsInstallActor: import("xstate").PromiseActorLogic<SkillsInstallOutput, SkillsInstallInput, import("xstate").EventObject>;
|
|
115
122
|
export interface GitHubStarInput {
|
|
116
123
|
cliContext: CliContext;
|
|
117
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../src/machines/generate/actors/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAC;AAS/E;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBAClC,KAAK,EAAE,MAAM;CAIzB;AAID,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,WAAW,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,2GAoC7B,CAAC;AAIH,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,+GA2D/B,CAAC;AAIH,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,eAAe,qGAmC3B,CAAC;AAIF,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,6GAyC9B,CAAC;AAIH,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,eAAO,MAAM,oBAAoB,+GAqL/B,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,kBAAkB,2GA4C7B,CAAC;AAIH,MAAM,WAAW,mBAAmB;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,6GAiB9B,CAAC;AAIH,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,qGAgC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../../src/machines/generate/actors/prompts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAC;AAS/E;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBAClC,KAAK,EAAE,MAAM;CAIzB;AAID,MAAM,WAAW,kBAAkB;IAClC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,WAAW,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,2GAoC7B,CAAC;AAIH,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,qBAAqB;IACrC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,+GA2D/B,CAAC;AAIH,MAAM,WAAW,eAAe;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,eAAe,qGAmC3B,CAAC;AAIF,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,6GAyC9B,CAAC;AAIH,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,eAAO,MAAM,oBAAoB,+GAqL/B,CAAC;AAIH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,eAAe,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,kBAAkB,2GA4C7B,CAAC;AAIH,MAAM,WAAW,mBAAmB;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,6GAiB9B,CAAC;AAIH,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,2GA2D7B,CAAC;AAIH,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,eAAe,qGAgC3B,CAAC"}
|
|
@@ -83,7 +83,7 @@ export declare const generateMachine: import("xstate").StateMachine<GenerateMach
|
|
|
83
83
|
} | {
|
|
84
84
|
type: "CLEANUP_COMPLETE";
|
|
85
85
|
}, {
|
|
86
|
-
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/preflight").PreflightOutput, import("./actors/preflight").PreflightInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").ModeSelectionOutput, import("./actors/prompts").ModeSelectionInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").BackendOptionsOutput, import("./actors/prompts").BackendOptionsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").FrontendOptionsOutput, import("./actors/prompts").FrontendOptionsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/file-generation").FileGenerationOutput, import("./actors/file-generation").FileGenerationInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/dependencies").DependencyInstallOutput, import("./actors/dependencies").DependencyInstallInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").GitHubStarOutput, import("./actors/prompts").GitHubStarInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").BackendURLOutput, import("./actors/prompts").BackendURLInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").AccountCreationOutput, import("./actors/prompts").AccountCreationInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").ScriptsOptionOutput, import("./actors/prompts").ScriptsOptionInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/dependencies").CheckDepsOutput, import("./actors/dependencies").CheckDepsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").InstallConfirmOutput, import("./actors/prompts").InstallConfirmInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/file-generation").RollbackOutput, import("./actors/file-generation").RollbackInput, import("xstate").EventObject>> | undefined;
|
|
86
|
+
[x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/preflight").PreflightOutput, import("./actors/preflight").PreflightInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").ModeSelectionOutput, import("./actors/prompts").ModeSelectionInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").BackendOptionsOutput, import("./actors/prompts").BackendOptionsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").FrontendOptionsOutput, import("./actors/prompts").FrontendOptionsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/file-generation").FileGenerationOutput, import("./actors/file-generation").FileGenerationInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/dependencies").DependencyInstallOutput, import("./actors/dependencies").DependencyInstallInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").SkillsInstallOutput, import("./actors/prompts").SkillsInstallInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").GitHubStarOutput, import("./actors/prompts").GitHubStarInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").BackendURLOutput, import("./actors/prompts").BackendURLInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").AccountCreationOutput, import("./actors/prompts").AccountCreationInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").ScriptsOptionOutput, import("./actors/prompts").ScriptsOptionInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/dependencies").CheckDepsOutput, import("./actors/dependencies").CheckDepsInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/prompts").InstallConfirmOutput, import("./actors/prompts").InstallConfirmInput, import("xstate").EventObject>> | import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./actors/file-generation").RollbackOutput, import("./actors/file-generation").RollbackInput, import("xstate").EventObject>> | undefined;
|
|
87
87
|
}, {
|
|
88
88
|
src: "preflight";
|
|
89
89
|
logic: import("xstate").PromiseActorLogic<import("./actors/preflight").PreflightOutput, import("./actors/preflight").PreflightInput, import("xstate").EventObject>;
|
|
@@ -108,6 +108,10 @@ export declare const generateMachine: import("xstate").StateMachine<GenerateMach
|
|
|
108
108
|
src: "dependencyInstall";
|
|
109
109
|
logic: import("xstate").PromiseActorLogic<import("./actors/dependencies").DependencyInstallOutput, import("./actors/dependencies").DependencyInstallInput, import("xstate").EventObject>;
|
|
110
110
|
id: string | undefined;
|
|
111
|
+
} | {
|
|
112
|
+
src: "skillsInstall";
|
|
113
|
+
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").SkillsInstallOutput, import("./actors/prompts").SkillsInstallInput, import("xstate").EventObject>;
|
|
114
|
+
id: string | undefined;
|
|
111
115
|
} | {
|
|
112
116
|
src: "githubStar";
|
|
113
117
|
logic: import("xstate").PromiseActorLogic<import("./actors/prompts").GitHubStarOutput, import("./actors/prompts").GitHubStarInput, import("xstate").EventObject>;
|
|
@@ -208,7 +212,7 @@ export declare const generateMachine: import("xstate").StateMachine<GenerateMach
|
|
|
208
212
|
} | {
|
|
209
213
|
type: "shouldPromptUIStyle";
|
|
210
214
|
params: unknown;
|
|
211
|
-
}, never, "error" | "exited" | "complete" | "preflightError" | "idle" | "preflight" | "modeSelection" | "offlineMode" | "selfHostedMode" | "customMode" | "backendOptions" | "frontendOptions" | "scriptsOptions" | "fileGeneration" | "dependencyInstall" | "summary" | "githubStar" | "cancelling" | "rollback" | "routeToMode" | "dependencyCheck" | "dependencyConfirm" | {
|
|
215
|
+
}, never, "error" | "exited" | "complete" | "preflightError" | "idle" | "preflight" | "modeSelection" | "offlineMode" | "selfHostedMode" | "customMode" | "backendOptions" | "frontendOptions" | "scriptsOptions" | "fileGeneration" | "dependencyInstall" | "summary" | "skillsInstall" | "githubStar" | "cancelling" | "rollback" | "routeToMode" | "dependencyCheck" | "dependencyConfirm" | {
|
|
212
216
|
c15tMode: "backendURL" | "accountCreation";
|
|
213
217
|
}, string, {
|
|
214
218
|
cliContext: CliContext;
|
|
@@ -238,6 +242,7 @@ export declare const generateMachine: import("xstate").StateMachine<GenerateMach
|
|
|
238
242
|
readonly dependencyConfirm: {};
|
|
239
243
|
readonly dependencyInstall: {};
|
|
240
244
|
readonly summary: {};
|
|
245
|
+
readonly skillsInstall: {};
|
|
241
246
|
readonly githubStar: {};
|
|
242
247
|
readonly complete: {};
|
|
243
248
|
readonly error: {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/machines/generate/machine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../../../src/machines/generate/machine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAyBlD,OAAO,EAEN,KAAK,sBAAsB,EAE3B,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAIC,UAAU;cAAY,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgnB5D,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC"}
|
|
@@ -75,6 +75,8 @@ export interface GenerateMachineContext extends BaseMachineContext {
|
|
|
75
75
|
installSucceeded: boolean;
|
|
76
76
|
/** Whether to run database migrations (self-hosted mode) */
|
|
77
77
|
runMigrations: boolean;
|
|
78
|
+
/** Whether agent skills were installed */
|
|
79
|
+
skillsInstalled: boolean;
|
|
78
80
|
/** Reason for cancellation if cancelled */
|
|
79
81
|
cancelReason: string | null;
|
|
80
82
|
/** Whether cleanup has been performed */
|
|
@@ -169,7 +171,7 @@ export type GenerateMachineEvent = {
|
|
|
169
171
|
/**
|
|
170
172
|
* State value types for the generate machine
|
|
171
173
|
*/
|
|
172
|
-
export type GenerateMachineStateValue = 'idle' | 'preflight' | 'preflightError' | 'modeSelection' | 'c15tMode' | 'offlineMode' | 'selfHostedMode' | 'customMode' | 'backendOptions' | 'frontendOptions' | 'scriptsOptions' | 'fileGeneration' | 'dependencyInstall' | 'summary' | 'githubStar' | 'complete' | 'error' | 'cancelling' | 'cleanup' | 'exited';
|
|
174
|
+
export type GenerateMachineStateValue = 'idle' | 'preflight' | 'preflightError' | 'modeSelection' | 'c15tMode' | 'offlineMode' | 'selfHostedMode' | 'customMode' | 'backendOptions' | 'frontendOptions' | 'scriptsOptions' | 'fileGeneration' | 'dependencyInstall' | 'summary' | 'skillsInstall' | 'githubStar' | 'complete' | 'error' | 'cancelling' | 'cleanup' | 'exited';
|
|
173
175
|
/**
|
|
174
176
|
* Initial context for the generate machine
|
|
175
177
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/machines/generate/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/machines/generate/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@c15t/cli",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.3",
|
|
4
4
|
"description": "CLI for rapid c15t setup. Scaffold React and Next.js cookie banners and a preferences centre, generate types and config, and run migration tooling for self-hosted deployments.",
|
|
5
5
|
"homepage": "https://c15t.com",
|
|
6
6
|
"repository": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"test:watch": "vitest"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@c15t/backend": "2.0.0-rc.
|
|
34
|
+
"@c15t/backend": "2.0.0-rc.3",
|
|
35
35
|
"@c15t/logger": "2.0.0-rc.1",
|
|
36
36
|
"@clack/prompts": "0.11.0",
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.0.0",
|