@atlashub/smartstack-cli 3.20.0 → 3.21.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.
Files changed (26) hide show
  1. package/dist/index.js +53 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/mcp-entry.mjs +1 -0
  4. package/dist/mcp-entry.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/templates/project/api.ts.template +8 -29
  7. package/templates/project/appsettings.json.template +1 -0
  8. package/templates/skills/business-analyse/html/ba-interactive.html +562 -150
  9. package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +11 -6
  10. package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +209 -4
  11. package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +2 -8
  12. package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +57 -2
  13. package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +3 -1
  14. package/templates/skills/business-analyse/html/src/scripts/08-editing.js +112 -22
  15. package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +7 -0
  16. package/templates/skills/business-analyse/html/src/styles/02-layout.css +1 -1
  17. package/templates/skills/business-analyse/html/src/styles/03-navigation.css +89 -31
  18. package/templates/skills/business-analyse/html/src/styles/05-modules.css +64 -0
  19. package/templates/skills/business-analyse/html/src/template.html +8 -76
  20. package/templates/skills/business-analyse/references/deploy-data-build.md +9 -7
  21. package/templates/skills/business-analyse/references/html-data-mapping.md +20 -28
  22. package/templates/skills/business-analyse/references/validate-incremental-html.md +2 -1
  23. package/templates/skills/business-analyse/steps/step-03c-compile.md +55 -2
  24. package/templates/skills/business-analyse/steps/step-03d-validate.md +82 -15
  25. package/templates/skills/business-analyse/steps/step-05a-handoff.md +77 -3
  26. package/templates/skills/business-analyse/steps/step-05b-deploy.md +27 -0
package/dist/index.js CHANGED
@@ -112477,6 +112477,30 @@ async function unregisterMcpFromClaudeSettings(serverNames) {
112477
112477
  };
112478
112478
  }
112479
112479
  }
112480
+ async function configureClaudeEnvironment() {
112481
+ const settingsPath = getClaudeSettingsPath();
112482
+ try {
112483
+ const settings = await readClaudeSettings() || {};
112484
+ const env2 = settings["env"] || {};
112485
+ let changed = false;
112486
+ if (env2["CLAUDE_CODE_MAX_OUTPUT_TOKENS"] !== "64000") {
112487
+ env2["CLAUDE_CODE_MAX_OUTPUT_TOKENS"] = "64000";
112488
+ changed = true;
112489
+ }
112490
+ if (!changed) {
112491
+ return { success: true, path: settingsPath };
112492
+ }
112493
+ settings["env"] = env2;
112494
+ await writeClaudeSettings(settings);
112495
+ return { success: true, path: settingsPath };
112496
+ } catch (error) {
112497
+ return {
112498
+ success: false,
112499
+ path: settingsPath,
112500
+ error: error instanceof Error ? error.message : "Unknown error"
112501
+ };
112502
+ }
112503
+ }
112480
112504
  async function getClaudeMcpServers() {
112481
112505
  const settingsPath = getClaudeSettingsPath();
112482
112506
  const settings = await readClaudeSettings();
@@ -112748,6 +112772,16 @@ async function installCommands(options = {}) {
112748
112772
  }
112749
112773
  }
112750
112774
  await registerMcpServer();
112775
+ try {
112776
+ const envResult = await configureClaudeEnvironment();
112777
+ if (envResult.success) {
112778
+ logger.success("Configured Claude Code environment (MAX_OUTPUT_TOKENS=64000)");
112779
+ } else {
112780
+ logger.warning(`Failed to configure Claude environment: ${envResult.error}`);
112781
+ }
112782
+ } catch {
112783
+ logger.warning("Claude environment configuration skipped");
112784
+ }
112751
112785
  const now = (/* @__PURE__ */ new Date()).toISOString();
112752
112786
  const manifest = {
112753
112787
  version: getPackageVersion(),
@@ -116898,6 +116932,8 @@ appsettings.*.Local.json
116898
116932
  projectType: "client",
116899
116933
  dbContext: "extensions",
116900
116934
  baseNamespace: projectName,
116935
+ tablePrefix: "",
116936
+ // Set during /business-analyse cadrage (e.g., "rh_", "fi_", "crm_")
116901
116937
  smartStackVersion: config.smartStackVersion || "1.0.0",
116902
116938
  initialized: (/* @__PURE__ */ new Date()).toISOString()
116903
116939
  };
@@ -117138,7 +117174,7 @@ async function createFrontendStructure(config, state, dryRun) {
117138
117174
  preview: "vite preview"
117139
117175
  },
117140
117176
  dependencies: {
117141
- "@atlashub/smartstack": smartstackNpmTag,
117177
+ "@atlashub/smartstack": `^${config.smartStackVersion || "3.0.0"}`,
117142
117178
  "@microsoft/signalr": "^10.0.0",
117143
117179
  "@tailwindcss/vite": "^4.1.0",
117144
117180
  axios: "^1.13.0",
@@ -117261,6 +117297,12 @@ export default defineConfig(({ mode }) => {
117261
117297
  },
117262
117298
  },
117263
117299
  },
117300
+ // Path alias for @/ imports (matches tsconfig.json paths)
117301
+ resolve: {
117302
+ alias: {
117303
+ '@': '/src',
117304
+ },
117305
+ },
117264
117306
  // Make env variables available to the app
117265
117307
  define: {
117266
117308
  __APP_NAME__: JSON.stringify(env.VITE_APP_NAME || '${projectName}'),
@@ -125321,6 +125363,16 @@ var upgradeCommand = new Command("upgrade").description("Upgrade SmartStack pack
125321
125363
  logger.info(`.claude/settings.json ${source_default.green("\u2713")} up to date`);
125322
125364
  console.log();
125323
125365
  }
125366
+ try {
125367
+ const envResult = await configureClaudeEnvironment();
125368
+ if (envResult.success) {
125369
+ logger.info(`Claude Code environment ${source_default.green("\u2713")} MAX_OUTPUT_TOKENS=64000`);
125370
+ } else {
125371
+ logger.warning(`Failed to configure Claude environment: ${envResult.error}`);
125372
+ }
125373
+ } catch {
125374
+ }
125375
+ console.log();
125324
125376
  logger.info("Checking Ralph configuration...");
125325
125377
  const ralphStatus = await checkRalphInstallation(projectDir);
125326
125378
  if (ralphStatus.configExists) {