@decantr/cli 1.5.2 → 1.5.4
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/bin.js +2 -2
- package/dist/{chunk-66RIAQLH.js → chunk-D3W3MYKT.js} +49 -90
- package/dist/{chunk-6RJSFLT4.js → chunk-T7CQSJGV.js} +390 -379
- package/dist/{heal-54MKDDSQ.js → heal-VYEGIUAS.js} +1 -1
- package/dist/index.js +2 -2
- package/dist/{upgrade-25IURU4X.js → upgrade-TXVD2WIN.js} +1 -1
- package/package.json +1 -1
- package/src/bundled/blueprints/default.json +1 -2
- package/src/templates/DECANTR.md.template +8 -9
- package/src/templates/essence-summary.md.template +1 -1
- package/src/templates/project.json.template +1 -2
- package/src/templates/task-add-page.md.template +7 -8
- package/src/templates/task-modify.md.template +8 -9
- package/src/templates/task-scaffold.md.template +1 -2
package/dist/bin.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./chunk-
|
|
3
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-D3W3MYKT.js";
|
|
3
|
+
import "./chunk-T7CQSJGV.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
scaffoldMinimal,
|
|
10
10
|
scaffoldProject,
|
|
11
11
|
syncRegistry
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-T7CQSJGV.js";
|
|
13
13
|
|
|
14
14
|
// src/index.ts
|
|
15
15
|
import { readFileSync as readFileSync15, existsSync as existsSync23, readdirSync as readdirSync6 } from "fs";
|
|
@@ -284,7 +284,7 @@ async function runInteractivePrompts(detected, archetypes, blueprints, themes) {
|
|
|
284
284
|
"Guard enforcement level",
|
|
285
285
|
[
|
|
286
286
|
{ value: "creative", label: "creative", description: "Advisory only (new projects)" },
|
|
287
|
-
{ value: "guided", label: "guided", description: "Style, structure,
|
|
287
|
+
{ value: "guided", label: "guided", description: "Style, structure, density enforced" },
|
|
288
288
|
{ value: "strict", label: "strict", description: "All 5 rules enforced exactly" }
|
|
289
289
|
],
|
|
290
290
|
detected.existingEssence ? 1 : 2
|
|
@@ -649,7 +649,6 @@ import { join as join4 } from "path";
|
|
|
649
649
|
import { RegistryAPIClient } from "@decantr/registry";
|
|
650
650
|
var PLURAL_TO_SINGULAR = {
|
|
651
651
|
patterns: "pattern",
|
|
652
|
-
recipes: "recipe",
|
|
653
652
|
themes: "theme",
|
|
654
653
|
blueprints: "blueprint",
|
|
655
654
|
archetypes: "archetype",
|
|
@@ -657,7 +656,6 @@ var PLURAL_TO_SINGULAR = {
|
|
|
657
656
|
};
|
|
658
657
|
var SINGULAR_TO_PLURAL = {
|
|
659
658
|
pattern: "patterns",
|
|
660
|
-
recipe: "recipes",
|
|
661
659
|
theme: "themes",
|
|
662
660
|
blueprint: "blueprints",
|
|
663
661
|
archetype: "archetypes",
|
|
@@ -710,10 +708,9 @@ async function cmdPublish(type, name, projectRoot = process.cwd()) {
|
|
|
710
708
|
// src/commands/create.ts
|
|
711
709
|
import { existsSync as existsSync5, mkdirSync as mkdirSync3, writeFileSync as writeFileSync3 } from "fs";
|
|
712
710
|
import { join as join5 } from "path";
|
|
713
|
-
var CONTENT_TYPES = ["pattern", "
|
|
711
|
+
var CONTENT_TYPES = ["pattern", "theme", "blueprint", "archetype", "shell"];
|
|
714
712
|
var PLURAL = {
|
|
715
713
|
pattern: "patterns",
|
|
716
|
-
recipe: "recipes",
|
|
717
714
|
theme: "themes",
|
|
718
715
|
blueprint: "blueprints",
|
|
719
716
|
archetype: "archetypes",
|
|
@@ -730,8 +727,6 @@ function getSkeleton(type, id, name) {
|
|
|
730
727
|
switch (type) {
|
|
731
728
|
case "pattern":
|
|
732
729
|
return { ...base, components: [], presets: {}, layout: {} };
|
|
733
|
-
case "recipe":
|
|
734
|
-
return { ...base, shell: {}, spatial: {}, effects: {} };
|
|
735
730
|
case "theme":
|
|
736
731
|
return { ...base, seed: { primary: "#6500C6", secondary: "#0AF3EB", accent: "#F58882", background: "#0D0D1A" }, modes: ["dark"], shapes: ["rounded"] };
|
|
737
732
|
case "blueprint":
|
|
@@ -1339,7 +1334,7 @@ var DIM7 = "\x1B[2m";
|
|
|
1339
1334
|
var RESET7 = "\x1B[0m";
|
|
1340
1335
|
async function cmdThemeSwitch(themeName, args, projectRoot = process.cwd()) {
|
|
1341
1336
|
if (!themeName) {
|
|
1342
|
-
console.error(`${RED6}Usage: decantr theme switch <themeName> [--
|
|
1337
|
+
console.error(`${RED6}Usage: decantr theme switch <themeName> [--shape <s>] [--mode <m>]${RESET7}`);
|
|
1343
1338
|
process.exitCode = 1;
|
|
1344
1339
|
return;
|
|
1345
1340
|
}
|
|
@@ -1363,16 +1358,11 @@ async function cmdThemeSwitch(themeName, args, projectRoot = process.cwd()) {
|
|
|
1363
1358
|
return;
|
|
1364
1359
|
}
|
|
1365
1360
|
const essence = migrateV30ToV313(parsed);
|
|
1366
|
-
let recipe;
|
|
1367
1361
|
let shape;
|
|
1368
1362
|
let mode;
|
|
1369
1363
|
for (let i = 0; i < args.length; i++) {
|
|
1370
1364
|
const arg = args[i];
|
|
1371
|
-
if (arg.startsWith("--
|
|
1372
|
-
recipe = arg.split("=")[1];
|
|
1373
|
-
} else if (arg === "--recipe" && args[i + 1] && !args[i + 1].startsWith("-")) {
|
|
1374
|
-
recipe = args[++i];
|
|
1375
|
-
} else if (arg.startsWith("--shape=")) {
|
|
1365
|
+
if (arg.startsWith("--shape=")) {
|
|
1376
1366
|
shape = arg.split("=")[1];
|
|
1377
1367
|
} else if (arg === "--shape" && args[i + 1] && !args[i + 1].startsWith("-")) {
|
|
1378
1368
|
shape = args[++i];
|
|
@@ -1382,13 +1372,10 @@ async function cmdThemeSwitch(themeName, args, projectRoot = process.cwd()) {
|
|
|
1382
1372
|
mode = args[++i];
|
|
1383
1373
|
}
|
|
1384
1374
|
}
|
|
1385
|
-
const
|
|
1386
|
-
essence.dna.theme.
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
} else {
|
|
1390
|
-
essence.dna.theme.recipe = themeName;
|
|
1391
|
-
}
|
|
1375
|
+
const oldThemeId = essence.dna.theme.id || essence.dna.theme.style;
|
|
1376
|
+
essence.dna.theme.id = themeName;
|
|
1377
|
+
delete essence.dna.theme.style;
|
|
1378
|
+
delete essence.dna.theme.recipe;
|
|
1392
1379
|
if (shape) {
|
|
1393
1380
|
essence.dna.theme.shape = shape;
|
|
1394
1381
|
}
|
|
@@ -1398,29 +1385,27 @@ async function cmdThemeSwitch(themeName, args, projectRoot = process.cwd()) {
|
|
|
1398
1385
|
const registryClient = new RegistryClient({
|
|
1399
1386
|
cacheDir: join11(projectRoot, ".decantr", "cache")
|
|
1400
1387
|
});
|
|
1401
|
-
const recipeName = essence.dna.theme.recipe;
|
|
1402
1388
|
try {
|
|
1403
|
-
const
|
|
1404
|
-
if (
|
|
1405
|
-
const raw =
|
|
1389
|
+
const themeResult = await registryClient.fetchTheme(themeName);
|
|
1390
|
+
if (themeResult?.data) {
|
|
1391
|
+
const raw = themeResult.data;
|
|
1406
1392
|
const inner = raw.data ?? raw;
|
|
1407
|
-
if (inner.
|
|
1393
|
+
if (inner.radius) {
|
|
1408
1394
|
essence.dna.radius = {
|
|
1409
1395
|
...essence.dna.radius,
|
|
1410
|
-
philosophy: inner.
|
|
1411
|
-
base: inner.
|
|
1396
|
+
philosophy: inner.radius.philosophy || essence.dna.radius.philosophy,
|
|
1397
|
+
base: inner.radius.base ?? essence.dna.radius.base
|
|
1412
1398
|
};
|
|
1413
1399
|
}
|
|
1414
1400
|
}
|
|
1415
1401
|
} catch {
|
|
1416
1402
|
}
|
|
1417
1403
|
writeFileSync8(essencePath, JSON.stringify(essence, null, 2) + "\n");
|
|
1418
|
-
console.log(`${GREEN7}Switched theme: ${
|
|
1419
|
-
if (recipe) console.log(` ${DIM7}Recipe: ${recipe}${RESET7}`);
|
|
1404
|
+
console.log(`${GREEN7}Switched theme: ${oldThemeId} \u2192 ${themeName}${RESET7}`);
|
|
1420
1405
|
if (shape) console.log(` ${DIM7}Shape: ${shape}${RESET7}`);
|
|
1421
1406
|
if (mode) console.log(` ${DIM7}Mode: ${mode}${RESET7}`);
|
|
1422
1407
|
await refreshDerivedFiles(projectRoot, essence, registryClient);
|
|
1423
|
-
console.log(`${GREEN7}Derived files refreshed (tokens.css,
|
|
1408
|
+
console.log(`${GREEN7}Derived files refreshed (tokens.css, treatments.css, all contexts).${RESET7}`);
|
|
1424
1409
|
console.log(`${YELLOW4}Guard will flag code using old tokens. Run \`decantr check\`.${RESET7}`);
|
|
1425
1410
|
}
|
|
1426
1411
|
|
|
@@ -2467,7 +2452,7 @@ async function cmdMagic(prompt, projectRoot, options) {
|
|
|
2467
2452
|
existing: false
|
|
2468
2453
|
};
|
|
2469
2454
|
if (blueprintData) {
|
|
2470
|
-
if (blueprintData.theme?.style) initOptions.theme = blueprintData.theme.style;
|
|
2455
|
+
if (blueprintData.theme?.id || blueprintData.theme?.style) initOptions.theme = blueprintData.theme.id || blueprintData.theme.style;
|
|
2471
2456
|
if (blueprintData.theme?.mode) initOptions.mode = blueprintData.theme.mode;
|
|
2472
2457
|
if (blueprintData.theme?.shape) initOptions.shape = blueprintData.theme.shape;
|
|
2473
2458
|
if (blueprintData.personality) {
|
|
@@ -2499,8 +2484,6 @@ async function cmdMagic(prompt, projectRoot, options) {
|
|
|
2499
2484
|
let patternSpecs;
|
|
2500
2485
|
let topologyMarkdown = "";
|
|
2501
2486
|
let themeData;
|
|
2502
|
-
let recipeData;
|
|
2503
|
-
let blueprintRecipeName;
|
|
2504
2487
|
let registrySource = apiAvailable ? "api" : "cache";
|
|
2505
2488
|
if (blueprintData?.compose && blueprintData.compose.length > 0) {
|
|
2506
2489
|
const entries = blueprintData.compose;
|
|
@@ -2604,7 +2587,6 @@ async function cmdMagic(prompt, projectRoot, options) {
|
|
|
2604
2587
|
initOptions.personality
|
|
2605
2588
|
);
|
|
2606
2589
|
}
|
|
2607
|
-
blueprintRecipeName = blueprintData.theme?.recipe;
|
|
2608
2590
|
console.log(`${BOLD4} Composition:${RESET9}`);
|
|
2609
2591
|
console.log(` Sections: ${composedSections.sections.length} (${composedSections.sections.map((s) => s.id).join(", ")})`);
|
|
2610
2592
|
const totalRoutes = Object.keys(routeMap).length;
|
|
@@ -2630,22 +2612,16 @@ async function cmdMagic(prompt, projectRoot, options) {
|
|
|
2630
2612
|
palette: theme.palette,
|
|
2631
2613
|
tokens: theme.tokens,
|
|
2632
2614
|
cvd_support: theme.cvd_support,
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
const rawRecipe = recipeResult.data;
|
|
2644
|
-
const recipe = rawRecipe.data ?? rawRecipe;
|
|
2645
|
-
recipeData = {
|
|
2646
|
-
decorators: recipe.decorators || recipeData?.decorators,
|
|
2647
|
-
spatial_hints: recipe.spatial_hints,
|
|
2648
|
-
radius_hints: recipe.radius_hints
|
|
2615
|
+
typography: theme.typography,
|
|
2616
|
+
motion: theme.motion,
|
|
2617
|
+
decorators: theme.decorators,
|
|
2618
|
+
treatments: theme.treatments,
|
|
2619
|
+
spatial: theme.spatial,
|
|
2620
|
+
radius: theme.radius,
|
|
2621
|
+
shell: theme.shell,
|
|
2622
|
+
effects: theme.effects,
|
|
2623
|
+
compositions: theme.compositions,
|
|
2624
|
+
pattern_preferences: theme.pattern_preferences
|
|
2649
2625
|
};
|
|
2650
2626
|
}
|
|
2651
2627
|
}
|
|
@@ -2658,7 +2634,6 @@ async function cmdMagic(prompt, projectRoot, options) {
|
|
|
2658
2634
|
archetypeData,
|
|
2659
2635
|
registrySource,
|
|
2660
2636
|
themeData,
|
|
2661
|
-
recipeData,
|
|
2662
2637
|
topologyMarkdown,
|
|
2663
2638
|
composedSections,
|
|
2664
2639
|
routeMap,
|
|
@@ -2915,7 +2890,6 @@ var ALL_CONTENT_TYPES = [
|
|
|
2915
2890
|
"patterns",
|
|
2916
2891
|
"archetypes",
|
|
2917
2892
|
"themes",
|
|
2918
|
-
"recipes",
|
|
2919
2893
|
"blueprints",
|
|
2920
2894
|
"shells"
|
|
2921
2895
|
];
|
|
@@ -3135,7 +3109,7 @@ import { createRoot } from 'react-dom/client';
|
|
|
3135
3109
|
import { BrowserRouter } from 'react-router-dom';
|
|
3136
3110
|
import { App } from './App';
|
|
3137
3111
|
import './styles/tokens.css';
|
|
3138
|
-
import './styles/
|
|
3112
|
+
import './styles/treatments.css';
|
|
3139
3113
|
import './styles/global.css';
|
|
3140
3114
|
|
|
3141
3115
|
createRoot(document.getElementById('root')!).render(
|
|
@@ -3358,7 +3332,7 @@ async function cmdSuggest(query, type) {
|
|
|
3358
3332
|
}
|
|
3359
3333
|
}
|
|
3360
3334
|
async function cmdGet(type, id) {
|
|
3361
|
-
const validTypes = ["pattern", "archetype", "
|
|
3335
|
+
const validTypes = ["pattern", "archetype", "theme", "blueprint", "shell"];
|
|
3362
3336
|
if (!validTypes.includes(type)) {
|
|
3363
3337
|
console.error(error3(`Invalid type "${type}". Must be one of: ${validTypes.join(", ")}`));
|
|
3364
3338
|
process.exitCode = 1;
|
|
@@ -3367,7 +3341,6 @@ async function cmdGet(type, id) {
|
|
|
3367
3341
|
const typeMap = {
|
|
3368
3342
|
pattern: "patterns",
|
|
3369
3343
|
archetype: "archetypes",
|
|
3370
|
-
recipe: "recipes",
|
|
3371
3344
|
theme: "themes",
|
|
3372
3345
|
blueprint: "blueprints",
|
|
3373
3346
|
shell: "shells"
|
|
@@ -3496,7 +3469,7 @@ async function cmdValidate(path) {
|
|
|
3496
3469
|
}
|
|
3497
3470
|
}
|
|
3498
3471
|
async function cmdList(type) {
|
|
3499
|
-
const validTypes = ["patterns", "archetypes", "
|
|
3472
|
+
const validTypes = ["patterns", "archetypes", "themes", "blueprints", "shells"];
|
|
3500
3473
|
if (!validTypes.includes(type)) {
|
|
3501
3474
|
console.error(error3(`Invalid type "${type}". Must be one of: ${validTypes.join(", ")}`));
|
|
3502
3475
|
process.exitCode = 1;
|
|
@@ -3610,7 +3583,6 @@ ${YELLOW9}You're offline. Scaffolding Decantr default.${RESET13}`);
|
|
|
3610
3583
|
} else {
|
|
3611
3584
|
options = await runInteractivePrompts(detected, archetypes, blueprints, themes);
|
|
3612
3585
|
}
|
|
3613
|
-
let blueprintRecipeName;
|
|
3614
3586
|
let topologyMarkdown = "";
|
|
3615
3587
|
let archetypeData;
|
|
3616
3588
|
let composedSections;
|
|
@@ -3623,8 +3595,8 @@ ${YELLOW9}You're offline. Scaffolding Decantr default.${RESET13}`);
|
|
|
3623
3595
|
const rawBlueprint = blueprintResult.data;
|
|
3624
3596
|
const blueprint = rawBlueprint.data ?? rawBlueprint;
|
|
3625
3597
|
if (blueprint.theme) {
|
|
3626
|
-
if (blueprint.theme.style && options.theme === "luminarum") {
|
|
3627
|
-
options.theme = blueprint.theme.style;
|
|
3598
|
+
if ((blueprint.theme.id || blueprint.theme.style) && options.theme === "luminarum") {
|
|
3599
|
+
options.theme = blueprint.theme.id || blueprint.theme.style;
|
|
3628
3600
|
}
|
|
3629
3601
|
if (blueprint.theme.mode && options.mode === "dark") {
|
|
3630
3602
|
options.mode = blueprint.theme.mode;
|
|
@@ -3636,7 +3608,6 @@ ${YELLOW9}You're offline. Scaffolding Decantr default.${RESET13}`);
|
|
|
3636
3608
|
if (blueprint.personality && (!options.personality || options.personality.length === 0 || options.personality.length === 1 && options.personality[0] === "professional")) {
|
|
3637
3609
|
options.personality = typeof blueprint.personality === "string" ? [blueprint.personality] : blueprint.personality;
|
|
3638
3610
|
}
|
|
3639
|
-
blueprintRecipeName = blueprint.theme?.recipe;
|
|
3640
3611
|
if (blueprint.compose && blueprint.compose.length > 0) {
|
|
3641
3612
|
const entries = blueprint.compose;
|
|
3642
3613
|
const results = [];
|
|
@@ -3753,7 +3724,6 @@ ${YELLOW9}You're offline. Scaffolding Decantr default.${RESET13}`);
|
|
|
3753
3724
|
}
|
|
3754
3725
|
}
|
|
3755
3726
|
let themeData;
|
|
3756
|
-
let recipeData;
|
|
3757
3727
|
if (options.theme) {
|
|
3758
3728
|
const themeResult = await registryClient.fetchTheme(options.theme);
|
|
3759
3729
|
if (themeResult) {
|
|
@@ -3764,30 +3734,20 @@ ${YELLOW9}You're offline. Scaffolding Decantr default.${RESET13}`);
|
|
|
3764
3734
|
palette: theme.palette,
|
|
3765
3735
|
tokens: theme.tokens,
|
|
3766
3736
|
cvd_support: theme.cvd_support,
|
|
3767
|
-
|
|
3768
|
-
|
|
3737
|
+
typography: theme.typography,
|
|
3738
|
+
motion: theme.motion,
|
|
3739
|
+
decorators: theme.decorators,
|
|
3740
|
+
treatments: theme.treatments,
|
|
3741
|
+
spatial: theme.spatial,
|
|
3742
|
+
radius: theme.radius,
|
|
3743
|
+
shell: theme.shell,
|
|
3744
|
+
effects: theme.effects,
|
|
3745
|
+
compositions: theme.compositions,
|
|
3746
|
+
pattern_preferences: theme.pattern_preferences
|
|
3769
3747
|
};
|
|
3770
|
-
if (theme.decorators) {
|
|
3771
|
-
recipeData = { decorators: theme.decorators };
|
|
3772
|
-
}
|
|
3773
3748
|
} else {
|
|
3774
3749
|
console.log(`${YELLOW9} Warning: Could not fetch theme "${options.theme}". Using defaults.${RESET13}`);
|
|
3775
3750
|
}
|
|
3776
|
-
const recipeName = blueprintRecipeName || options.theme;
|
|
3777
|
-
const recipeResult = await registryClient.fetchRecipe(recipeName);
|
|
3778
|
-
if (process.env.DECANTR_DEBUG && recipeResult) {
|
|
3779
|
-
const dbg = recipeResult.data;
|
|
3780
|
-
console.error(` [debug] recipe source: ${recipeResult.source.type}, keys: ${Object.keys(dbg).join(",")}, has .data: ${"data" in dbg}, has .decorators: ${"decorators" in dbg}, inner.decorators: ${!!dbg.data?.decorators}`);
|
|
3781
|
-
}
|
|
3782
|
-
if (recipeResult) {
|
|
3783
|
-
const rawRecipe = recipeResult.data;
|
|
3784
|
-
const recipe = rawRecipe.data ?? rawRecipe;
|
|
3785
|
-
recipeData = {
|
|
3786
|
-
decorators: recipe.decorators || recipeData?.decorators,
|
|
3787
|
-
spatial_hints: recipe.spatial_hints,
|
|
3788
|
-
radius_hints: recipe.radius_hints
|
|
3789
|
-
};
|
|
3790
|
-
}
|
|
3791
3751
|
}
|
|
3792
3752
|
console.log(heading2("Scaffolding project..."));
|
|
3793
3753
|
const result = await scaffoldProject(
|
|
@@ -3798,7 +3758,6 @@ ${YELLOW9}You're offline. Scaffolding Decantr default.${RESET13}`);
|
|
|
3798
3758
|
archetypeData,
|
|
3799
3759
|
registrySource,
|
|
3800
3760
|
themeData,
|
|
3801
|
-
recipeData,
|
|
3802
3761
|
topologyMarkdown,
|
|
3803
3762
|
// V3.1 composition data:
|
|
3804
3763
|
composedSections,
|
|
@@ -4128,7 +4087,7 @@ ${BOLD6}Examples:${RESET13}
|
|
|
4128
4087
|
case "switch": {
|
|
4129
4088
|
const name = args[1];
|
|
4130
4089
|
if (!name) {
|
|
4131
|
-
console.error(error3("Usage: decantr theme switch <themeName> [--
|
|
4090
|
+
console.error(error3("Usage: decantr theme switch <themeName> [--shape <s>] [--mode <m>]"));
|
|
4132
4091
|
process.exitCode = 1;
|
|
4133
4092
|
return;
|
|
4134
4093
|
}
|
|
@@ -4197,7 +4156,7 @@ ${BOLD6}Commands:${RESET13}
|
|
|
4197
4156
|
${cyan3("list")} List items by type
|
|
4198
4157
|
${cyan3("validate")} Validate essence file (v2 and v3)
|
|
4199
4158
|
${cyan3("theme")} Manage custom themes (create, list, validate, delete, import)
|
|
4200
|
-
${cyan3("create")} Create a custom content item (pattern,
|
|
4159
|
+
${cyan3("create")} Create a custom content item (pattern, theme, blueprint, etc.)
|
|
4201
4160
|
${cyan3("publish")} Publish a custom content item to the community registry
|
|
4202
4161
|
${cyan3("login")} Authenticate with the Decantr registry
|
|
4203
4162
|
${cyan3("logout")} Remove stored credentials
|
|
@@ -4297,7 +4256,7 @@ async function main() {
|
|
|
4297
4256
|
break;
|
|
4298
4257
|
}
|
|
4299
4258
|
case "upgrade": {
|
|
4300
|
-
const { cmdUpgrade } = await import("./upgrade-
|
|
4259
|
+
const { cmdUpgrade } = await import("./upgrade-TXVD2WIN.js");
|
|
4301
4260
|
const applyFlag = args.includes("--apply");
|
|
4302
4261
|
await cmdUpgrade(process.cwd(), { apply: applyFlag });
|
|
4303
4262
|
break;
|
|
@@ -4307,7 +4266,7 @@ async function main() {
|
|
|
4307
4266
|
if (command === "heal") {
|
|
4308
4267
|
console.log(`${YELLOW9}Note: \`decantr heal\` is deprecated. Use \`decantr check\` instead.${RESET13}`);
|
|
4309
4268
|
}
|
|
4310
|
-
const { cmdHeal } = await import("./heal-
|
|
4269
|
+
const { cmdHeal } = await import("./heal-VYEGIUAS.js");
|
|
4311
4270
|
const telemetryFlag = args.includes("--telemetry");
|
|
4312
4271
|
await cmdHeal(process.cwd(), { telemetry: telemetryFlag });
|
|
4313
4272
|
break;
|
|
@@ -4430,7 +4389,7 @@ async function main() {
|
|
|
4430
4389
|
const name = args[2];
|
|
4431
4390
|
if (!type || !name) {
|
|
4432
4391
|
console.error(error3("Usage: decantr create <type> <name>"));
|
|
4433
|
-
console.error(dim3("Types: pattern,
|
|
4392
|
+
console.error(dim3("Types: pattern, theme, blueprint, archetype, shell"));
|
|
4434
4393
|
process.exitCode = 1;
|
|
4435
4394
|
break;
|
|
4436
4395
|
}
|
|
@@ -4442,7 +4401,7 @@ async function main() {
|
|
|
4442
4401
|
const name = args[2];
|
|
4443
4402
|
if (!type || !name) {
|
|
4444
4403
|
console.error(error3("Usage: decantr publish <type> <name>"));
|
|
4445
|
-
console.error(dim3("Types: pattern,
|
|
4404
|
+
console.error(dim3("Types: pattern, theme, blueprint, archetype, shell"));
|
|
4446
4405
|
process.exitCode = 1;
|
|
4447
4406
|
break;
|
|
4448
4407
|
}
|