@sixsevenai/ai-dlc-installer 1.4.1 → 1.4.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/cli.js +65 -5
- package/dist/cli.js.map +1 -1
- package/library/commands/ai-dlc/add-unit.md +142 -142
- package/library/commands/ai-dlc/analyze-refinement-scope.md +224 -224
- package/library/commands/ai-dlc/apply-refinements.md +240 -240
- package/library/commands/ai-dlc/archive-session.md +281 -281
- package/library/commands/ai-dlc/assess-risks.md +392 -392
- package/library/commands/ai-dlc/build-tests.md +276 -276
- package/library/commands/ai-dlc/claude-execute.md +209 -209
- package/library/commands/ai-dlc/claude-parallel.md +383 -383
- package/library/commands/ai-dlc/claude-review.md +399 -399
- package/library/commands/ai-dlc/code-skeptic.md +359 -359
- package/library/commands/ai-dlc/codex-execute.md +105 -105
- package/library/commands/ai-dlc/collect-refinement-feedback.md +243 -243
- package/library/commands/ai-dlc/complete-bolt.md +317 -317
- package/library/commands/ai-dlc/construct-unit.md +234 -234
- package/library/commands/ai-dlc/create-diagram.md +327 -327
- package/library/commands/ai-dlc/create-excalidraw-diagram.md +319 -319
- package/library/commands/ai-dlc/create-pipeline.md +391 -391
- package/library/commands/ai-dlc/create-runbook.md +263 -263
- package/library/commands/ai-dlc/create-units.md +335 -335
- package/library/commands/ai-dlc/deploy.md +270 -270
- package/library/commands/ai-dlc/design-api.md +371 -371
- package/library/commands/ai-dlc/design-database.md +311 -311
- package/library/commands/ai-dlc/design-domain-models.md +100 -100
- package/library/commands/ai-dlc/design-ui-tests.md +351 -351
- package/library/commands/ai-dlc/design-ui.md +347 -347
- package/library/commands/ai-dlc/domain-model.md +339 -339
- package/library/commands/ai-dlc/elicit-nfrs.md +384 -384
- package/library/commands/ai-dlc/engage-stakeholders.md +91 -91
- package/library/commands/ai-dlc/generate-code.md +273 -273
- package/library/commands/ai-dlc/generate-docs.md +359 -359
- package/library/commands/ai-dlc/generate-stories.md +337 -337
- package/library/commands/ai-dlc/handle-cross-phase-refinement.md +225 -225
- package/library/commands/ai-dlc/implement-ui-tests.md +320 -320
- package/library/commands/ai-dlc/incident-respond.md +264 -264
- package/library/commands/ai-dlc/logical-design.md +339 -339
- package/library/commands/ai-dlc/maker-execute.md +316 -316
- package/library/commands/ai-dlc/maker-status.md +422 -422
- package/library/commands/ai-dlc/mob-elaborate.md +172 -172
- package/library/commands/ai-dlc/multi-ai-compare.md +156 -156
- package/library/commands/ai-dlc/next-bolt.md +373 -373
- package/library/commands/ai-dlc/next-phase.md +229 -229
- package/library/commands/ai-dlc/package-unit.md +198 -198
- package/library/commands/ai-dlc/plan-bolt.md +423 -423
- package/library/commands/ai-dlc/plan-workflow.md +219 -219
- package/library/commands/ai-dlc/prepare-release.md +207 -207
- package/library/commands/ai-dlc/review-artifacts.md +725 -725
- package/library/commands/ai-dlc/review-code.md +321 -321
- package/library/commands/ai-dlc/run-workflow.md +215 -215
- package/library/commands/ai-dlc/security-audit.md +421 -421
- package/library/commands/ai-dlc/setup-monitoring.md +195 -195
- package/library/commands/ai-dlc/setup.md +771 -771
- package/library/commands/ai-dlc/start-intent.md +349 -349
- package/library/commands/ai-dlc/status.md +190 -190
- package/library/commands/ai-dlc/talk.md +97 -97
- package/library/commands/ai-dlc/trace.md +200 -200
- package/library/commands/ai-dlc/upgrade.md +178 -178
- package/library/commands/ai-dlc/validate-framework.md +292 -292
- package/library/commands/ai-dlc/validate-phase.md +328 -328
- package/library/commands/ai-dlc/validate-unit.md +635 -635
- package/library/commands/ai-dlc/validate-workflow.md +118 -118
- package/library/commands/ai-dlc/visualize.md +386 -386
- package/library/commands/ai-dlc/workflow-cancel.md +145 -145
- package/library/commands/ai-dlc/workflow-pause.md +114 -114
- package/library/commands/ai-dlc/workflow-resume.md +149 -149
- package/library/commands/ai-dlc/workflow-status.md +209 -209
- package/library/commands/brn/assess.md +95 -95
- package/library/commands/brn/audit.md +38 -38
- package/library/commands/brn/document.md +41 -41
- package/library/commands/brn/modernize.md +38 -38
- package/library/commands/brn/optimize.md +41 -41
- package/library/commands/brn/plan.md +126 -126
- package/library/commands/brn/refactor.md +41 -41
- package/library/commands/brn/roi.md +41 -41
- package/library/commands/brn/secure.md +42 -42
- package/library/commands/brn/test.md +44 -44
- package/library/commands/dba/azure-advisor.md +163 -163
- package/library/commands/dba/azure-health.md +235 -235
- package/library/commands/dba/azure-scale.md +238 -238
- package/library/commands/dba/backup-status.md +194 -194
- package/library/commands/dba/bacpac-export.md +192 -192
- package/library/commands/dba/bacpac-import.md +206 -206
- package/library/commands/dba/blocking.md +263 -263
- package/library/commands/dba/dacpac-extract.md +176 -176
- package/library/commands/dba/dacpac-publish.md +248 -248
- package/library/commands/dba/explain-plan.md +189 -189
- package/library/commands/dba/format-sql.md +223 -223
- package/library/commands/dba/health-check.md +216 -216
- package/library/commands/dba/index-analysis.md +293 -293
- package/library/commands/dba/index-rebuild.md +257 -257
- package/library/commands/dba/index-stats.md +274 -274
- package/library/commands/dba/migrate-assess.md +190 -190
- package/library/commands/dba/monitor.md +206 -206
- package/library/commands/dba/parquet-export.md +168 -168
- package/library/commands/dba/parquet-import.md +181 -181
- package/library/commands/dba/query.md +194 -194
- package/library/commands/dba/schema-compare.md +190 -190
- package/library/commands/dba/top-queries.md +242 -242
- package/library/commands/dba/wait-stats.md +222 -222
- package/library/commands/docs/ask-codebase.md +94 -94
- package/library/commands/docs/document-solution.md +90 -90
- package/library/commands/docs/shard.md +188 -188
- package/library/commands/elicit/brainstorm.md +74 -74
- package/library/commands/elicit/challenge.md +88 -88
- package/library/commands/elicit/design.md +80 -80
- package/library/commands/elicit/edges.md +89 -89
- package/library/commands/elicit/empathy.md +96 -96
- package/library/commands/elicit/five-whys.md +89 -89
- package/library/commands/elicit/jobs.md +86 -86
- package/library/commands/elicit/prioritize.md +93 -93
- package/library/commands/elicit/requirements.md +75 -75
- package/library/commands/elicit/scamper.md +83 -83
- package/library/commands/elicit/stories.md +89 -89
- package/library/commands/elicit/technique.md +83 -83
- package/library/commands/elicit/validate.md +78 -78
- package/library/commands/elicit/value.md +88 -88
- package/library/commands/elicit/vision.md +82 -82
- package/library/commands/git/check-duplicates.md +592 -592
- package/library/commands/instruct-me.md +218 -218
- package/library/commands/issue-to-done.md +143 -143
- package/library/commands/it-ops/azure-costs.md +76 -76
- package/library/commands/it-ops/azure-health.md +63 -63
- package/library/commands/it-ops/entra-audit.md +72 -72
- package/library/commands/it-ops/entra-users.md +66 -66
- package/library/commands/it-ops/helpdesk-new.md +95 -95
- package/library/commands/it-ops/helpdesk-summary.md +86 -86
- package/library/commands/it-ops/intune-compliance.md +65 -65
- package/library/commands/it-ops/intune-devices.md +63 -63
- package/library/commands/it-ops/o365-health.md +65 -65
- package/library/commands/it-ops/o365-licenses.md +64 -64
- package/library/commands/it-ops/soc-incidents.md +80 -80
- package/library/commands/it-ops/soc-score.md +69 -69
- package/library/commands/spec/analyze.md +245 -245
- package/library/commands/spec/checklist.md +251 -251
- package/library/commands/spec/clarify.md +310 -310
- package/library/commands/spec/complete.md +92 -92
- package/library/commands/spec/constitution.md +90 -90
- package/library/commands/spec/implement.md +218 -218
- package/library/commands/spec/plan.md +94 -94
- package/library/commands/spec/specify.md +425 -425
- package/library/commands/spec/task-to-issue.md +47 -47
- package/library/commands/spec/tasks.md +191 -191
- package/library/commands/spec/to-intent.md +106 -106
- package/library/commands/task/clarify.md +205 -205
- package/library/commands/task/complete.md +301 -301
- package/library/commands/task/execute.md +391 -391
- package/library/commands/task/plan.md +327 -327
- package/library/commands/worktree/create.md +184 -184
- package/library/commands/worktree/list.md +149 -149
- package/library/commands/worktree/remove.md +260 -260
- package/library/commands/worktree/status.md +229 -229
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -109,7 +109,7 @@ function shouldSkipStep(stepId, options, isInteractive) {
|
|
|
109
109
|
case "select-overwrite-mode":
|
|
110
110
|
return options.force;
|
|
111
111
|
case "select-categories":
|
|
112
|
-
return
|
|
112
|
+
return false;
|
|
113
113
|
case "confirm-installation":
|
|
114
114
|
return options.force || !isInteractive;
|
|
115
115
|
default:
|
|
@@ -1067,6 +1067,9 @@ var INSTALL_CATEGORIES = [
|
|
|
1067
1067
|
{ id: "ai-dlc", pathPrefix: "ai-dlc/", label: "AI-DLC Core", hint: "Core AI-DLC framework files" },
|
|
1068
1068
|
{ id: "memory", pathPrefix: "memory/", label: "Memory", hint: "Memory templates" }
|
|
1069
1069
|
];
|
|
1070
|
+
var PROTECTED_FILES = /* @__PURE__ */ new Set([
|
|
1071
|
+
"memory/spec/constitution.md"
|
|
1072
|
+
]);
|
|
1070
1073
|
function filterMappingsByCategories(mappings, categories) {
|
|
1071
1074
|
const prefixes = INSTALL_CATEGORIES.filter((cat) => categories.includes(cat.id)).map((cat) => cat.pathPrefix);
|
|
1072
1075
|
if (prefixes.length === 0) {
|
|
@@ -1077,6 +1080,18 @@ function filterMappingsByCategories(mappings, categories) {
|
|
|
1077
1080
|
return prefixes.some((prefix) => normalised.startsWith(prefix));
|
|
1078
1081
|
});
|
|
1079
1082
|
}
|
|
1083
|
+
function filterProtectedFiles(mappings, existingTargetFiles, protectedPaths = PROTECTED_FILES) {
|
|
1084
|
+
const skipped = [];
|
|
1085
|
+
const filtered = mappings.filter((mapping) => {
|
|
1086
|
+
const normalised = mapping.relativePath.replace(/\\/g, "/");
|
|
1087
|
+
if (protectedPaths.has(normalised) && existingTargetFiles.has(normalised)) {
|
|
1088
|
+
skipped.push(normalised);
|
|
1089
|
+
return false;
|
|
1090
|
+
}
|
|
1091
|
+
return true;
|
|
1092
|
+
});
|
|
1093
|
+
return { filtered, skipped };
|
|
1094
|
+
}
|
|
1080
1095
|
function resolveCategories(overwriteFlags) {
|
|
1081
1096
|
const validIds = INSTALL_CATEGORIES.map((cat) => cat.id);
|
|
1082
1097
|
const unknown = overwriteFlags.filter((flag) => !validIds.includes(flag));
|
|
@@ -1105,6 +1120,10 @@ function renderSummary(summary, nextSteps, theme, categoryInfo) {
|
|
|
1105
1120
|
lines.push(...renderComponentCounts(summary.componentCounts, theme));
|
|
1106
1121
|
lines.push("");
|
|
1107
1122
|
}
|
|
1123
|
+
if (summary.protectedFilesPreserved && summary.protectedFilesPreserved.length > 0) {
|
|
1124
|
+
lines.push(...renderProtectedFiles(summary.protectedFilesPreserved, theme));
|
|
1125
|
+
lines.push("");
|
|
1126
|
+
}
|
|
1108
1127
|
lines.push(...renderFileStatistics(summary, theme));
|
|
1109
1128
|
lines.push("");
|
|
1110
1129
|
lines.push(` Total time: ${theme.bold(summary.totalDuration.formatted)}`);
|
|
@@ -1161,10 +1180,10 @@ function renderComponentCounts(counts, theme) {
|
|
|
1161
1180
|
lines.push(` ${theme.bold(theme.colorize("Components installed:", "header"))}`);
|
|
1162
1181
|
const items = [
|
|
1163
1182
|
{ label: "agents", count: counts.agents },
|
|
1164
|
-
{ label: "
|
|
1183
|
+
{ label: "skill files", count: counts.skills },
|
|
1165
1184
|
{ label: "commands", count: counts.commands },
|
|
1166
1185
|
{ label: "TypeScript CLI files", count: counts.cliFiles },
|
|
1167
|
-
{ label: "
|
|
1186
|
+
{ label: "other files", count: counts.other }
|
|
1168
1187
|
];
|
|
1169
1188
|
for (const item of items) {
|
|
1170
1189
|
if (item.count > 0) {
|
|
@@ -1197,6 +1216,15 @@ function renderInstalledCategories(categoryInfo, theme) {
|
|
|
1197
1216
|
}
|
|
1198
1217
|
return lines;
|
|
1199
1218
|
}
|
|
1219
|
+
function renderProtectedFiles(protectedPaths, theme) {
|
|
1220
|
+
const bullet = theme.symbolSet.bullet;
|
|
1221
|
+
const lines = [];
|
|
1222
|
+
lines.push(` ${theme.bold(theme.colorize("Protected files preserved:", "header"))}`);
|
|
1223
|
+
for (const filePath of protectedPaths) {
|
|
1224
|
+
lines.push(` ${bullet} ${theme.colorize(filePath, "accent")} (not overwritten)`);
|
|
1225
|
+
}
|
|
1226
|
+
return lines;
|
|
1227
|
+
}
|
|
1200
1228
|
function renderFileStatistics(summary, theme) {
|
|
1201
1229
|
const lines = [];
|
|
1202
1230
|
lines.push(` ${theme.bold(theme.colorize("File statistics:", "header"))}`);
|
|
@@ -3616,7 +3644,8 @@ function createInitialContext(sourceDirectory) {
|
|
|
3616
3644
|
validationReport: null,
|
|
3617
3645
|
fileMappings: [],
|
|
3618
3646
|
overwriteMode: null,
|
|
3619
|
-
selectedCategories: []
|
|
3647
|
+
selectedCategories: [],
|
|
3648
|
+
protectedFilesSkipped: []
|
|
3620
3649
|
};
|
|
3621
3650
|
}
|
|
3622
3651
|
function buildTerminalCapabilities(env) {
|
|
@@ -4103,6 +4132,14 @@ async function executeSelectOverwriteMode(ctx, options, theme) {
|
|
|
4103
4132
|
summary: `Overwrite mode: choose (${ctx.selectedCategories.length} categories from CLI)`
|
|
4104
4133
|
};
|
|
4105
4134
|
}
|
|
4135
|
+
if (options.categories.length > 0) {
|
|
4136
|
+
ctx.selectedCategories = resolveCategories(options.categories);
|
|
4137
|
+
ctx.overwriteMode = "choose";
|
|
4138
|
+
return {
|
|
4139
|
+
data: { mode: "choose", categories: ctx.selectedCategories },
|
|
4140
|
+
summary: `Overwrite mode: choose (${ctx.selectedCategories.length} categories from --categories)`
|
|
4141
|
+
};
|
|
4142
|
+
}
|
|
4106
4143
|
if (options.profile) {
|
|
4107
4144
|
const profileCategories = await loadProfileCategories(options.profile);
|
|
4108
4145
|
ctx.selectedCategories = profileCategories;
|
|
@@ -4182,6 +4219,13 @@ async function executeSelectCategories(ctx, options, theme) {
|
|
|
4182
4219
|
summary: `${ctx.selectedCategories.length} categories selected via --profile "${options.profile}"`
|
|
4183
4220
|
};
|
|
4184
4221
|
}
|
|
4222
|
+
if (options.categories.length > 0 && ctx.selectedCategories.length > 0) {
|
|
4223
|
+
ctx.fileMappings = applySelectedCategoryFilter(ctx);
|
|
4224
|
+
return {
|
|
4225
|
+
data: { categories: ctx.selectedCategories, source: "cli-categories" },
|
|
4226
|
+
summary: `${ctx.selectedCategories.length} categories selected via --categories`
|
|
4227
|
+
};
|
|
4228
|
+
}
|
|
4185
4229
|
if (ctx.overwriteMode !== "choose") {
|
|
4186
4230
|
return {
|
|
4187
4231
|
data: { skipped: true, reason: `overwrite-mode-${ctx.overwriteMode ?? "null"}` },
|
|
@@ -4339,6 +4383,20 @@ async function executeInstallFiles(ctx, options, theme) {
|
|
|
4339
4383
|
);
|
|
4340
4384
|
}
|
|
4341
4385
|
}
|
|
4386
|
+
if (ctx.conflictReport) {
|
|
4387
|
+
const existingSet = new Set(
|
|
4388
|
+
ctx.conflictReport.existingFiles.map((p) => p.replace(/\\/g, "/"))
|
|
4389
|
+
);
|
|
4390
|
+
const { filtered: protectedFiltered, skipped: protectedSkipped } = filterProtectedFiles(ctx.fileMappings, existingSet);
|
|
4391
|
+
if (protectedSkipped.length > 0) {
|
|
4392
|
+
ctx.fileMappings = protectedFiltered;
|
|
4393
|
+
ctx.protectedFilesSkipped = protectedSkipped;
|
|
4394
|
+
verboseLog(
|
|
4395
|
+
options.verbose,
|
|
4396
|
+
`Protected files preserved (not overwritten): ${protectedSkipped.join(", ")}`
|
|
4397
|
+
);
|
|
4398
|
+
}
|
|
4399
|
+
}
|
|
4342
4400
|
if (options.dryRun) {
|
|
4343
4401
|
return {
|
|
4344
4402
|
data: { dryRun: true, fileCount: ctx.fileMappings.length },
|
|
@@ -4520,7 +4578,8 @@ async function executeShowSummary(ctx, options, theme) {
|
|
|
4520
4578
|
totalFilesCopied: ctx.installationResult?.copiedCount ?? 0,
|
|
4521
4579
|
totalFilesSkipped: ctx.installationResult?.skippedCount ?? 0,
|
|
4522
4580
|
totalFilesFailed: ctx.installationResult?.errors.length ?? 0,
|
|
4523
|
-
installerVersion: INSTALLER_VERSION
|
|
4581
|
+
installerVersion: INSTALLER_VERSION,
|
|
4582
|
+
protectedFilesPreserved: ctx.protectedFilesSkipped.length > 0 ? ctx.protectedFilesSkipped : void 0
|
|
4524
4583
|
};
|
|
4525
4584
|
const nextSteps = getDefaultNextSteps(summary.success);
|
|
4526
4585
|
if (theme && !options.quiet) {
|
|
@@ -4586,6 +4645,7 @@ async function runInstaller(options = {}) {
|
|
|
4586
4645
|
overwrite: options.overwrite ?? [],
|
|
4587
4646
|
custom: options.custom ?? false,
|
|
4588
4647
|
profile: options.profile ?? null,
|
|
4648
|
+
categories: options.categories ?? [],
|
|
4589
4649
|
rawArgs: []
|
|
4590
4650
|
};
|
|
4591
4651
|
let exitCode;
|