@atlashub/smartstack-cli 3.16.0 → 3.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +74 -42
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +752 -53
- package/dist/mcp-entry.mjs.map +1 -1
- package/package.json +1 -1
- package/templates/agents/gitflow/finish.md +21 -3
- package/templates/agents/gitflow/start.md +14 -4
- package/templates/skills/application/templates-backend.md +12 -1
- package/templates/skills/business-analyse/SKILL.md +4 -4
- package/templates/skills/business-analyse/html/ba-interactive.html +11 -5
- package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +11 -5
- package/templates/skills/business-analyse/references/deploy-data-build.md +25 -9
- package/templates/skills/business-analyse/references/validation-checklist.md +29 -2
- package/templates/skills/business-analyse/steps/step-00-init.md +23 -5
- package/templates/skills/business-analyse/steps/step-03a2-analysis.md +21 -3
- package/templates/skills/business-analyse/steps/step-03b-ui.md +31 -1
- package/templates/skills/business-analyse/steps/step-03d-validate.md +41 -4
- package/templates/skills/business-analyse/steps/step-05b-deploy.md +9 -7
- package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +222 -40
- package/templates/skills/ralph-loop/SKILL.md +41 -1
- package/templates/skills/ralph-loop/references/category-rules.md +106 -1
- package/templates/skills/ralph-loop/references/compact-loop.md +85 -24
- package/templates/skills/ralph-loop/references/core-seed-data.md +48 -0
- package/templates/skills/ralph-loop/steps/step-00-init.md +30 -54
- package/templates/skills/ralph-loop/steps/step-01-task.md +102 -1
- package/templates/skills/ralph-loop/steps/step-04-check.md +87 -40
package/dist/index.js
CHANGED
|
@@ -124858,7 +124858,8 @@ async function findAllProjects(projectDir) {
|
|
|
124858
124858
|
projects.push({
|
|
124859
124859
|
csprojPath,
|
|
124860
124860
|
relPath: csprojPath.replace(projectDir, "").replace(/^[/\\]/, ""),
|
|
124861
|
-
currentVersion
|
|
124861
|
+
currentVersion,
|
|
124862
|
+
csprojContent: content
|
|
124862
124863
|
});
|
|
124863
124864
|
}
|
|
124864
124865
|
}
|
|
@@ -125066,7 +125067,7 @@ async function syncClaudeSettings(projectDir, dryRun) {
|
|
|
125066
125067
|
}
|
|
125067
125068
|
return added;
|
|
125068
125069
|
}
|
|
125069
|
-
var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack packages to the latest version").option("--preview", "Upgrade to latest preview/prerelease version").option("--dry-run", "Show what would be upgraded without actually upgrading").action(async (options) => {
|
|
125070
|
+
var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack packages to the latest version").option("--preview", "Upgrade to latest preview/prerelease version").option("--dry-run", "Show what would be upgraded without actually upgrading").option("--all-packages", "Also upgrade all other NuGet packages (slow, disabled by default)").action(async (options) => {
|
|
125070
125071
|
logger.header("SmartStack Package Upgrade");
|
|
125071
125072
|
const dryRun = options.dryRun || false;
|
|
125072
125073
|
const result = {
|
|
@@ -125078,6 +125079,7 @@ var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack pack
|
|
|
125078
125079
|
otherPkgFailed: 0,
|
|
125079
125080
|
npmUpgraded: false,
|
|
125080
125081
|
npmSkipped: false,
|
|
125082
|
+
npmOtherUpdated: false,
|
|
125081
125083
|
configSynced: 0,
|
|
125082
125084
|
claudeSettingsSynced: 0,
|
|
125083
125085
|
ralphInitialized: false,
|
|
@@ -125144,17 +125146,23 @@ var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack pack
|
|
|
125144
125146
|
if (projectsToUpgrade.length === 0) {
|
|
125145
125147
|
logger.success(`All ${smartStackProjects.length} SmartStack project(s) already at ${source_default.cyan(nugetVersion)}`);
|
|
125146
125148
|
} else {
|
|
125149
|
+
const useNoRestore = projectsToUpgrade.length > 1;
|
|
125147
125150
|
logger.info(`Upgrading SmartStack in ${projectsToUpgrade.length} project(s)...`);
|
|
125148
125151
|
for (const project of projectsToUpgrade) {
|
|
125149
125152
|
logger.info(`Upgrading ${source_default.cyan(project.relPath)}...`);
|
|
125150
125153
|
try {
|
|
125151
|
-
|
|
125154
|
+
const noRestoreFlag = useNoRestore ? " --no-restore" : "";
|
|
125155
|
+
execCommand2(`dotnet add "${project.csprojPath}" package SmartStack --version ${nugetVersion}${noRestoreFlag}`, void 0, dryRun);
|
|
125152
125156
|
result.nugetUpgraded++;
|
|
125153
125157
|
} catch (error) {
|
|
125154
125158
|
result.nugetFailed++;
|
|
125155
125159
|
logger.error(`Failed to upgrade ${project.relPath}: ${error instanceof Error ? error.message : error}`);
|
|
125156
125160
|
}
|
|
125157
125161
|
}
|
|
125162
|
+
if (useNoRestore && result.nugetUpgraded > 0 && !dryRun) {
|
|
125163
|
+
logger.info("Restoring NuGet packages...");
|
|
125164
|
+
tryExecCommand("dotnet restore", projectDir);
|
|
125165
|
+
}
|
|
125158
125166
|
if (result.nugetUpgraded > 0) {
|
|
125159
125167
|
logger.success(`${result.nugetUpgraded} project(s) upgraded to ${source_default.cyan(nugetVersion)}`);
|
|
125160
125168
|
}
|
|
@@ -125164,48 +125172,57 @@ var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack pack
|
|
|
125164
125172
|
}
|
|
125165
125173
|
console.log();
|
|
125166
125174
|
}
|
|
125167
|
-
|
|
125168
|
-
|
|
125169
|
-
const
|
|
125170
|
-
|
|
125171
|
-
|
|
125172
|
-
|
|
125173
|
-
|
|
125174
|
-
|
|
125175
|
-
|
|
125176
|
-
|
|
125177
|
-
`dotnet add "${project.csprojPath}" package ${pkg2.name}
|
|
125178
|
-
|
|
125179
|
-
|
|
125180
|
-
|
|
125181
|
-
|
|
125182
|
-
|
|
125183
|
-
|
|
125184
|
-
|
|
125185
|
-
|
|
125186
|
-
|
|
125187
|
-
|
|
125188
|
-
|
|
125189
|
-
|
|
125190
|
-
|
|
125191
|
-
|
|
125175
|
+
if (options.allPackages) {
|
|
125176
|
+
logger.info("Checking other NuGet packages...");
|
|
125177
|
+
for (const project of allProjects) {
|
|
125178
|
+
const content = result.nugetUpgraded > 0 && project.currentVersion !== null ? await import_fs_extra7.default.readFile(project.csprojPath, "utf-8") : project.csprojContent;
|
|
125179
|
+
const allPackages = readAllPackageReferences(content);
|
|
125180
|
+
const otherPackages = allPackages.filter((p) => p.name !== "SmartStack");
|
|
125181
|
+
if (otherPackages.length === 0) continue;
|
|
125182
|
+
logger.info(` ${source_default.cyan(project.relPath)}:`);
|
|
125183
|
+
for (const pkg2 of otherPackages) {
|
|
125184
|
+
try {
|
|
125185
|
+
const output = dryRun ? `[DRY RUN] dotnet add "${project.csprojPath}" package ${pkg2.name}` : (0, import_child_process6.execSync)(
|
|
125186
|
+
`dotnet add "${project.csprojPath}" package ${pkg2.name} --no-restore`,
|
|
125187
|
+
{ shell: true, encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] }
|
|
125188
|
+
);
|
|
125189
|
+
if (dryRun) {
|
|
125190
|
+
logger.info(` [DRY RUN] ${pkg2.name} ${source_default.yellow(pkg2.currentVersion)} \u2192 latest`);
|
|
125191
|
+
result.otherPkgUpdated++;
|
|
125192
|
+
continue;
|
|
125193
|
+
}
|
|
125194
|
+
const newContent = await import_fs_extra7.default.readFile(project.csprojPath, "utf-8");
|
|
125195
|
+
const newVersion = readPackageVersion(newContent, pkg2.name);
|
|
125196
|
+
if (newVersion && newVersion !== pkg2.currentVersion) {
|
|
125197
|
+
logger.success(` ${source_default.green("\u2713")} ${pkg2.name} ${source_default.yellow(pkg2.currentVersion)} \u2192 ${source_default.cyan(newVersion)}`);
|
|
125198
|
+
result.otherPkgUpdated++;
|
|
125199
|
+
} else {
|
|
125200
|
+
result.otherPkgSkipped++;
|
|
125201
|
+
}
|
|
125202
|
+
} catch (error) {
|
|
125203
|
+
result.otherPkgFailed++;
|
|
125204
|
+
logger.error(` ${source_default.red("\u2717")} ${pkg2.name}: ${error instanceof Error ? error.message : error}`);
|
|
125192
125205
|
}
|
|
125193
|
-
}
|
|
125194
|
-
|
|
125195
|
-
logger.
|
|
125206
|
+
}
|
|
125207
|
+
if (!dryRun && (result.otherPkgUpdated > 0 || result.otherPkgFailed > 0)) {
|
|
125208
|
+
logger.info(` Restoring ${source_default.cyan(project.relPath)}...`);
|
|
125209
|
+
tryExecCommand(`dotnet restore "${project.csprojPath}"`, void 0);
|
|
125196
125210
|
}
|
|
125197
125211
|
}
|
|
125212
|
+
if (result.otherPkgUpdated > 0) {
|
|
125213
|
+
logger.success(`${result.otherPkgUpdated} package(s) updated`);
|
|
125214
|
+
}
|
|
125215
|
+
if (result.otherPkgSkipped > 0) {
|
|
125216
|
+
logger.info(`${result.otherPkgSkipped} package(s) already at latest`);
|
|
125217
|
+
}
|
|
125218
|
+
if (result.otherPkgFailed > 0) {
|
|
125219
|
+
logger.error(`${result.otherPkgFailed} package(s) failed to update`);
|
|
125220
|
+
}
|
|
125221
|
+
console.log();
|
|
125222
|
+
} else {
|
|
125223
|
+
logger.info(`Other NuGet packages: ${source_default.gray("skipped")} (use ${source_default.cyan("--all-packages")} to upgrade all)`);
|
|
125224
|
+
console.log();
|
|
125198
125225
|
}
|
|
125199
|
-
if (result.otherPkgUpdated > 0) {
|
|
125200
|
-
logger.success(`${result.otherPkgUpdated} package(s) updated`);
|
|
125201
|
-
}
|
|
125202
|
-
if (result.otherPkgSkipped > 0) {
|
|
125203
|
-
logger.info(`${result.otherPkgSkipped} package(s) already at latest`);
|
|
125204
|
-
}
|
|
125205
|
-
if (result.otherPkgFailed > 0) {
|
|
125206
|
-
logger.error(`${result.otherPkgFailed} package(s) failed to update`);
|
|
125207
|
-
}
|
|
125208
|
-
console.log();
|
|
125209
125226
|
}
|
|
125210
125227
|
const frontendDir = await findFrontendDirectory(projectDir);
|
|
125211
125228
|
if (!frontendDir) {
|
|
@@ -125238,6 +125255,18 @@ var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack pack
|
|
|
125238
125255
|
} else {
|
|
125239
125256
|
logger.warning("Could not fetch npm version, skipping frontend upgrade.");
|
|
125240
125257
|
}
|
|
125258
|
+
if (options.allPackages) {
|
|
125259
|
+
logger.info("Updating other npm packages...");
|
|
125260
|
+
const npmUpdateSuccess = tryExecCommand("npm update", frontendDir, dryRun);
|
|
125261
|
+
if (npmUpdateSuccess) {
|
|
125262
|
+
logger.success("npm packages updated");
|
|
125263
|
+
result.npmOtherUpdated = true;
|
|
125264
|
+
} else {
|
|
125265
|
+
logger.error("Failed to update npm packages");
|
|
125266
|
+
}
|
|
125267
|
+
} else {
|
|
125268
|
+
logger.info(`Other npm packages: ${source_default.gray("skipped")} (use ${source_default.cyan("--all-packages")} to upgrade all)`);
|
|
125269
|
+
}
|
|
125241
125270
|
console.log();
|
|
125242
125271
|
}
|
|
125243
125272
|
logger.info("Checking for code migrations...");
|
|
@@ -125332,7 +125361,7 @@ var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack pack
|
|
|
125332
125361
|
logger.success(`Updated config version to ${source_default.cyan(nugetVersion)}`);
|
|
125333
125362
|
console.log();
|
|
125334
125363
|
}
|
|
125335
|
-
const totalChanged = result.nugetUpgraded + result.otherPkgUpdated + (result.npmUpgraded ? 1 : 0) + migrationSummary.totalApplied + result.configSynced + result.claudeSettingsSynced + (result.ralphInitialized ? 1 : 0);
|
|
125364
|
+
const totalChanged = result.nugetUpgraded + result.otherPkgUpdated + (result.npmUpgraded ? 1 : 0) + (result.npmOtherUpdated ? 1 : 0) + migrationSummary.totalApplied + result.configSynced + result.claudeSettingsSynced + (result.ralphInitialized ? 1 : 0);
|
|
125336
125365
|
const allUpToDate = totalChanged === 0 && result.nugetFailed === 0 && result.otherPkgFailed === 0;
|
|
125337
125366
|
const hasProgramIssues = result.programCsIssues.length > 0;
|
|
125338
125367
|
if (allUpToDate && !hasProgramIssues) {
|
|
@@ -125381,6 +125410,9 @@ var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack pack
|
|
|
125381
125410
|
if (result.npmSkipped) {
|
|
125382
125411
|
lines.push(` ${source_default.gray("\u2013")} npm: already up to date`);
|
|
125383
125412
|
}
|
|
125413
|
+
if (result.npmOtherUpdated) {
|
|
125414
|
+
lines.push(` ${source_default.green("\u2713")} npm: other packages updated`);
|
|
125415
|
+
}
|
|
125384
125416
|
if (migrationSummary.totalApplied > 0) {
|
|
125385
125417
|
lines.push(` ${source_default.green("\u2713")} Code migrations: ${migrationSummary.totalApplied} applied`);
|
|
125386
125418
|
}
|