@atlashub/smartstack-cli 1.37.0 → 2.1.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 (123) hide show
  1. package/.documentation/agents.html +147 -40
  2. package/.documentation/apex.html +1 -1
  3. package/.documentation/business-analyse.html +3 -3
  4. package/.documentation/cli-commands.html +2 -2
  5. package/.documentation/commands.html +14 -14
  6. package/.documentation/efcore.html +14 -14
  7. package/.documentation/gitflow.html +12 -12
  8. package/.documentation/hooks.html +41 -3
  9. package/.documentation/index.html +1 -1
  10. package/.documentation/init.html +2 -2
  11. package/.documentation/installation.html +11 -11
  12. package/.documentation/js/app.js +1 -1
  13. package/.documentation/ralph-loop.html +1 -1
  14. package/.documentation/test-web.html +4 -4
  15. package/config/mcp-defaults.json +62 -0
  16. package/dist/index.js +58 -5
  17. package/dist/index.js.map +1 -1
  18. package/dist/mcp-entry.mjs +70010 -0
  19. package/dist/mcp-entry.mjs.map +1 -0
  20. package/package.json +14 -5
  21. package/templates/agents/gitflow/start.md +5 -4
  22. package/templates/agents/mcp-healthcheck.md +15 -13
  23. package/templates/mcp-scaffolding/component.tsx.hbs +298 -0
  24. package/templates/mcp-scaffolding/controller.cs.hbs +184 -0
  25. package/templates/mcp-scaffolding/entity-extension.cs.hbs +231 -0
  26. package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +116 -0
  27. package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
  28. package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +134 -0
  29. package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +261 -0
  30. package/templates/mcp-scaffolding/service-extension.cs.hbs +53 -0
  31. package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +413 -0
  32. package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +239 -0
  33. package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +441 -0
  34. package/templates/mcp-scaffolding/tests/security.test.cs.hbs +442 -0
  35. package/templates/mcp-scaffolding/tests/service.test.cs.hbs +390 -0
  36. package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +428 -0
  37. package/templates/ralph/README.md +3 -3
  38. package/templates/ralph/ralph.config.yaml +2 -2
  39. package/templates/skills/admin/SKILL.md +42 -0
  40. package/templates/skills/business-analyse/_shared.md +79 -15
  41. package/templates/skills/business-analyse/questionnaire/01-context.md +4 -4
  42. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +3 -3
  43. package/templates/skills/business-analyse/questionnaire/03-scope.md +4 -4
  44. package/templates/skills/business-analyse/questionnaire/04-data.md +7 -7
  45. package/templates/skills/business-analyse/questionnaire/05-integrations.md +1 -1
  46. package/templates/skills/business-analyse/questionnaire/06-security.md +3 -3
  47. package/templates/skills/business-analyse/questionnaire/07-ui.md +1 -1
  48. package/templates/skills/business-analyse/questionnaire/08-performance.md +3 -3
  49. package/templates/skills/business-analyse/questionnaire/09-constraints.md +4 -4
  50. package/templates/skills/business-analyse/questionnaire/10-documentation.md +2 -2
  51. package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +2 -2
  52. package/templates/skills/business-analyse/questionnaire/12-migration.md +1 -1
  53. package/templates/skills/business-analyse/questionnaire/13-cross-module.md +2 -2
  54. package/templates/skills/business-analyse/steps/step-01-discover.md +50 -25
  55. package/templates/skills/business-analyse/steps/step-03-specify.md +63 -0
  56. package/templates/skills/business-analyse/steps/step-04-validate.md +23 -1
  57. package/templates/skills/business-analyse/steps/step-05-handoff.md +248 -66
  58. package/templates/skills/business-analyse/templates/tpl-handoff.md +99 -23
  59. package/templates/skills/cc-agent/SKILL.md +129 -0
  60. package/templates/skills/cc-agent/references/agent-frontmatter.md +213 -0
  61. package/templates/skills/cc-agent/references/permission-modes.md +102 -0
  62. package/templates/skills/cc-agent/references/tools-reference.md +144 -0
  63. package/templates/skills/cc-agent/steps/step-00-init.md +134 -0
  64. package/templates/skills/cc-agent/steps/step-01-design.md +186 -0
  65. package/templates/skills/cc-agent/steps/step-02-generate.md +204 -0
  66. package/templates/skills/cc-agent/steps/step-03-validate.md +130 -0
  67. package/templates/skills/cc-agent/templates/agent-categorized.md +67 -0
  68. package/templates/skills/cc-agent/templates/agent-standalone.md +56 -0
  69. package/templates/skills/cc-agent/templates/agent-with-skills.md +94 -0
  70. package/templates/skills/cc-audit/SKILL.md +108 -0
  71. package/templates/skills/cc-audit/references/agent-checklist.md +91 -0
  72. package/templates/skills/cc-audit/references/hook-checklist.md +110 -0
  73. package/templates/skills/cc-audit/references/skill-checklist.md +70 -0
  74. package/templates/skills/cc-audit/steps/step-00-init.md +98 -0
  75. package/templates/skills/cc-audit/steps/step-01-scan.md +142 -0
  76. package/templates/skills/cc-audit/steps/step-02-analyze.md +158 -0
  77. package/templates/skills/cc-audit/steps/step-03-report.md +142 -0
  78. package/templates/skills/cc-skill/SKILL.md +134 -0
  79. package/templates/skills/cc-skill/references/best-practices.md +167 -0
  80. package/templates/skills/cc-skill/references/frontmatter-reference.md +182 -0
  81. package/templates/skills/cc-skill/references/skill-patterns.md +199 -0
  82. package/templates/skills/cc-skill/steps/step-00-init.md +119 -0
  83. package/templates/skills/cc-skill/steps/step-01-design.md +199 -0
  84. package/templates/skills/cc-skill/steps/step-02-generate.md +145 -0
  85. package/templates/skills/cc-skill/steps/step-03-steps.md +151 -0
  86. package/templates/skills/cc-skill/steps/step-04-validate.md +124 -0
  87. package/templates/skills/cc-skill/templates/skill-forked.md +85 -0
  88. package/templates/skills/cc-skill/templates/skill-progressive.md +102 -0
  89. package/templates/skills/cc-skill/templates/skill-simple.md +75 -0
  90. package/templates/skills/cc-skill/templates/step-template.md +82 -0
  91. package/templates/skills/check-version/SKILL.md +6 -0
  92. package/templates/skills/controller/templates.md +82 -0
  93. package/templates/skills/debug/SKILL.md +4 -0
  94. package/templates/skills/documentation/SKILL.md +1 -0
  95. package/templates/skills/efcore/SKILL.md +5 -0
  96. package/templates/skills/efcore/references/zero-downtime-patterns.md +227 -0
  97. package/templates/skills/efcore/steps/db/step-deploy.md +26 -5
  98. package/templates/skills/efcore/steps/migration/step-03-validate.md +19 -0
  99. package/templates/skills/efcore/steps/shared/step-00-init.md +21 -7
  100. package/templates/skills/explore/SKILL.md +28 -32
  101. package/templates/skills/feature-full/SKILL.md +1 -0
  102. package/templates/skills/gitflow/SKILL.md +8 -0
  103. package/templates/skills/gitflow/steps/step-start.md +45 -10
  104. package/templates/skills/mcp/SKILL.md +38 -18
  105. package/templates/skills/quick-search/SKILL.md +8 -1
  106. package/templates/skills/ralph-loop/SKILL.md +1 -1
  107. package/templates/skills/ralph-loop/steps/step-00-init.md +8 -68
  108. package/templates/skills/ralph-loop/steps/step-04-check.md +1 -1
  109. package/templates/skills/refactor/SKILL.md +1 -0
  110. package/templates/skills/review-code/SKILL.md +11 -3
  111. package/templates/skills/review-code/references/owasp-api-top10.md +243 -0
  112. package/templates/skills/review-code/references/security-checklist.md +86 -1
  113. package/templates/skills/review-code/references/smartstack-conventions.md +166 -0
  114. package/templates/skills/ui-components/SKILL.md +31 -438
  115. package/templates/skills/ui-components/accessibility.md +170 -0
  116. package/templates/skills/ui-components/patterns/data-table.md +39 -0
  117. package/templates/skills/ui-components/patterns/entity-card.md +77 -0
  118. package/templates/skills/ui-components/patterns/grid-layout.md +91 -0
  119. package/templates/skills/ui-components/patterns/kanban.md +43 -0
  120. package/templates/skills/ui-components/style-guide.md +86 -0
  121. package/templates/skills/utils/SKILL.md +1 -0
  122. package/templates/skills/validate/SKILL.md +1 -0
  123. package/templates/skills/workflow/SKILL.md +27 -0
@@ -12,7 +12,7 @@
12
12
  <header class="global-header">
13
13
  <div class="logo">SS</div>
14
14
  <span class="site-title">SmartStack CLI</span>
15
- <span class="version-badge">v1.25.0</span>
15
+ <span class="version-badge">v2.0.0</span>
16
16
  <div class="header-divider"></div>
17
17
  <span class="page-title">@atlashub/smartstack-cli</span>
18
18
  <!-- Language Select -->
@@ -12,7 +12,7 @@
12
12
  <header class="global-header">
13
13
  <div class="logo">SS</div>
14
14
  <span class="site-title">SmartStack CLI</span>
15
- <span class="version-badge">v1.25.0</span>
15
+ <span class="version-badge">v2.0.0</span>
16
16
  <div class="header-divider"></div>
17
17
  <span class="page-title">Project Init</span>
18
18
  <nav class="breadcrumb">
@@ -198,7 +198,7 @@
198
198
  <span data-lang="fr">Validation conventions, scaffolding, API docs</span>
199
199
  <span data-lang="en">Conventions validation, scaffolding, API docs</span>
200
200
  </td>
201
- <td><code>npm install -g @atlashub/smartstack-mcp && claude mcp add smartstack -- npx @atlashub/smartstack-mcp</code></td>
201
+ <td><code>claude mcp add smartstack -- npx -p @atlashub/smartstack-cli smartstack-mcp</code> <em data-lang="fr">(auto via install)</em><em data-lang="en">(auto via install)</em></td>
202
202
  </tr>
203
203
  <tr>
204
204
  <td><strong>Context7 MCP</strong></td>
@@ -302,7 +302,7 @@
302
302
  <header class="global-header">
303
303
  <div class="logo">SS</div>
304
304
  <span class="site-title">SmartStack CLI</span>
305
- <span class="version-badge">v1.25.0</span>
305
+ <span class="version-badge">v2.0.0</span>
306
306
  <div class="header-divider"></div>
307
307
  <span class="page-title">Installation</span>
308
308
  <nav class="breadcrumb">
@@ -749,25 +749,25 @@ smartstack install</code></pre>
749
749
  </div>
750
750
  </li>
751
751
 
752
- <!-- Step 6: SmartStack MCP Server -->
752
+ <!-- Step 6: SmartStack MCP Server (bundled) -->
753
753
  <li class="checklist-item" data-step="6">
754
754
  <span class="checklist-number">6</span>
755
755
  <div class="checklist-checkbox" onclick="toggleStep(6)"></div>
756
756
  <div class="checklist-content">
757
757
  <div class="checklist-title">
758
- <span data-lang="fr">Installer SmartStack MCP Server</span>
759
- <span data-lang="en">Install SmartStack MCP Server</span>
758
+ <span data-lang="fr">SmartStack MCP Server (inclus dans la CLI)</span>
759
+ <span data-lang="en">SmartStack MCP Server (bundled in CLI)</span>
760
760
  </div>
761
761
  <div class="checklist-description">
762
- <p data-lang="fr">Installez le serveur MCP SmartStack pour la validation des conventions et le scaffolding.</p>
763
- <p data-lang="en">Install the SmartStack MCP server for conventions validation and scaffolding.</p>
762
+ <p data-lang="fr">Le serveur MCP SmartStack est <strong>inclus dans la CLI</strong>. Il est enregistre automatiquement lors du <code>smartstack install</code>. Si besoin d'un enregistrement manuel :</p>
763
+ <p data-lang="en">The SmartStack MCP server is <strong>bundled in the CLI</strong>. It is automatically registered during <code>smartstack install</code>. For manual registration if needed:</p>
764
764
  <div class="code-block">
765
765
  <button class="copy-btn">Copy</button>
766
- <pre><code># 1. Installer le package
767
- npm install -g @atlashub/smartstack-mcp
766
+ <pre><code># Enregistrement automatique (recommande)
767
+ smartstack install --force
768
768
 
769
- # 2. Enregistrer dans Claude
770
- claude mcp add smartstack -- smartstack-mcp</code></pre>
769
+ # Enregistrement manuel (si necessaire)
770
+ claude mcp add smartstack -- npx -p @atlashub/smartstack-cli smartstack-mcp</code></pre>
771
771
  </div>
772
772
  </div>
773
773
  </div>
@@ -810,7 +810,7 @@ $env:CONTEXT7_API_KEY = "<span class="context7-key-placeholder" style="color: va
810
810
  npm install -g @upstash/context7-mcp
811
811
 
812
812
  # 3. Enregistrer dans Claude
813
- claude mcp add context7 -- context7-mcp</code></pre>
813
+ claude mcp add context7 -- npx @upstash/context7-mcp</code></pre>
814
814
  </div>
815
815
  </div>
816
816
  </div>
@@ -398,7 +398,7 @@ function initSearch() {
398
398
  { page: 'installation.html', icon: '📦', title: { fr: 'Installation', en: 'Installation' }, section: { fr: 'Prérequis', en: 'Prerequisites' }, anchor: 'prerequisites',
399
399
  keywords: 'prérequis prerequisites nodejs node version 18 npm git' },
400
400
  { page: 'installation.html', icon: '📦', title: { fr: 'Installation', en: 'Installation' }, section: { fr: 'Installation globale', en: 'Global Installation' }, anchor: 'global-install',
401
- keywords: 'npm install global atlashub claude-tools registry package' },
401
+ keywords: 'npm install global atlashub smartstack smartstack-cli registry package' },
402
402
 
403
403
  // GitFlow
404
404
  { page: 'gitflow.html', icon: '🔀', title: { fr: 'GitFlow', en: 'GitFlow' }, section: '', anchor: '',
@@ -12,7 +12,7 @@
12
12
  <header class="global-header">
13
13
  <div class="logo">SS</div>
14
14
  <span class="site-title">SmartStack CLI</span>
15
- <span class="version-badge">v1.25.0</span>
15
+ <span class="version-badge">v2.0.0</span>
16
16
  <div class="header-divider"></div>
17
17
  <span class="page-title">Ralph Loop</span>
18
18
  <nav class="breadcrumb">
@@ -12,7 +12,7 @@
12
12
  <header class="global-header">
13
13
  <div class="logo">SS</div>
14
14
  <span class="site-title">SmartStack CLI</span>
15
- <span class="version-badge">v1.25.0</span>
15
+ <span class="version-badge">v2.0.0</span>
16
16
  <div class="header-divider"></div>
17
17
  <span class="page-title">Test Web</span>
18
18
  <nav class="breadcrumb">
@@ -327,8 +327,8 @@
327
327
  <span data-lang="en">Pre-configured Templates</span>
328
328
  </h2>
329
329
 
330
- <p data-lang="fr">Claude Tools inclut des templates de configuration pour les cas d'usage courants :</p>
331
- <p data-lang="en">Claude Tools includes configuration templates for common use cases:</p>
330
+ <p data-lang="fr">SmartStack CLI inclut des templates de configuration pour les cas d'usage courants :</p>
331
+ <p data-lang="en">SmartStack CLI includes configuration templates for common use cases:</p>
332
332
 
333
333
  <div class="table-container">
334
334
  <table>
@@ -397,7 +397,7 @@
397
397
  <pre><code>TEST WEB RESULTS
398
398
  ────────────────────────────────
399
399
  GitHub Repository 200 OK "README" found
400
- npm Package 200 OK "claude-tools" found
400
+ npm Package 200 OK "smartstack-cli" found
401
401
  Google Indexation Results Found in search
402
402
 
403
403
  Status: 3/3 PASS
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "https://atlashub.ch/schemas/smartstack-mcp-config.json",
3
+ "version": "1.0.0",
4
+ "smartstack": {
5
+ "projectPath": "D:/SmartStack.app/features/Rework-to-package",
6
+ "apiUrl": "https://localhost:7055",
7
+ "apiEnabled": true
8
+ },
9
+ "conventions": {
10
+ "schemas": {
11
+ "platform": "core",
12
+ "extensions": "extensions"
13
+ },
14
+ "tablePrefixes": [
15
+ "auth_",
16
+ "nav_",
17
+ "usr_",
18
+ "ai_",
19
+ "cfg_",
20
+ "wkf_",
21
+ "support_",
22
+ "entra_",
23
+ "ref_",
24
+ "loc_",
25
+ "lic_"
26
+ ],
27
+ "migrationFormat": "YYYYMMDD_NNN_{Description}",
28
+ "namespaces": {
29
+ "domain": "SmartStack.Domain",
30
+ "application": "SmartStack.Application",
31
+ "infrastructure": "SmartStack.Infrastructure",
32
+ "api": "SmartStack.Api"
33
+ },
34
+ "servicePattern": {
35
+ "interface": "I{Name}Service",
36
+ "implementation": "{Name}Service"
37
+ }
38
+ },
39
+ "efcore": {
40
+ "contexts": [
41
+ {
42
+ "name": "ApplicationDbContext",
43
+ "projectPath": "auto-detect",
44
+ "migrationsFolder": "Migrations"
45
+ }
46
+ ],
47
+ "validation": {
48
+ "checkModelSnapshot": true,
49
+ "checkMigrationOrder": true,
50
+ "requireBuildSuccess": true
51
+ }
52
+ },
53
+ "scaffolding": {
54
+ "outputPath": "auto-detect",
55
+ "templates": {
56
+ "service": "templates/service-extension.cs.hbs",
57
+ "entity": "templates/entity-extension.cs.hbs",
58
+ "controller": "templates/controller.cs.hbs",
59
+ "component": "templates/component.tsx.hbs"
60
+ }
61
+ }
62
+ }
package/dist/index.js CHANGED
@@ -112303,6 +112303,7 @@ async function installCommands(options = {}) {
112303
112303
  }
112304
112304
  }
112305
112305
  }
112306
+ await registerMcpServer();
112306
112307
  const now = (/* @__PURE__ */ new Date()).toISOString();
112307
112308
  const manifest = {
112308
112309
  version: getPackageVersion(),
@@ -112316,6 +112317,54 @@ async function installCommands(options = {}) {
112316
112317
  await writeManifest(claudeDir, manifest);
112317
112318
  return result;
112318
112319
  }
112320
+ async function registerMcpServer() {
112321
+ try {
112322
+ const claudeAvailable = (0, import_child_process.spawnSync)("claude", ["--version"], {
112323
+ encoding: "utf-8",
112324
+ shell: true,
112325
+ timeout: 5e3
112326
+ });
112327
+ if (claudeAvailable.status !== 0) {
112328
+ logger.warning("Claude Code CLI not available - skipping MCP registration");
112329
+ return;
112330
+ }
112331
+ const listResult = (0, import_child_process.spawnSync)("claude", ["mcp", "list"], {
112332
+ encoding: "utf-8",
112333
+ shell: true,
112334
+ timeout: 1e4
112335
+ });
112336
+ const mcpList = listResult.stdout || "";
112337
+ const hasSmartstack = mcpList.toLowerCase().includes("smartstack");
112338
+ if (hasSmartstack && mcpList.includes("@atlashub/smartstack-mcp")) {
112339
+ logger.info("Migrating from standalone @atlashub/smartstack-mcp to bundled version...");
112340
+ (0, import_child_process.spawnSync)("claude", ["mcp", "remove", "smartstack"], {
112341
+ encoding: "utf-8",
112342
+ shell: true,
112343
+ timeout: 1e4
112344
+ });
112345
+ }
112346
+ if (!hasSmartstack || mcpList.includes("@atlashub/smartstack-mcp")) {
112347
+ const addResult = (0, import_child_process.spawnSync)(
112348
+ "claude",
112349
+ ["mcp", "add", "smartstack", "--", "npx", "-p", "@atlashub/smartstack-cli", "smartstack-mcp"],
112350
+ {
112351
+ encoding: "utf-8",
112352
+ shell: true,
112353
+ timeout: 15e3
112354
+ }
112355
+ );
112356
+ if (addResult.status === 0) {
112357
+ logger.success("Registered SmartStack MCP server (bundled)");
112358
+ } else {
112359
+ logger.warning("Failed to register MCP server - register manually: claude mcp add smartstack -- npx -p @atlashub/smartstack-cli smartstack-mcp");
112360
+ }
112361
+ } else {
112362
+ logger.info("SmartStack MCP server already registered");
112363
+ }
112364
+ } catch {
112365
+ logger.warning("MCP registration skipped (error occurred)");
112366
+ }
112367
+ }
112319
112368
  async function uninstallCommands(options = {}) {
112320
112369
  const global3 = options.global ?? true;
112321
112370
  const claudeDir = getClaudeDir(global3);
@@ -115403,7 +115452,7 @@ var updateCommand = new Command("update").description("Update commands to the la
115403
115452
  // src/commands/docs.ts
115404
115453
  var import_path3 = require("path");
115405
115454
  var import_fs2 = require("fs");
115406
- var DOCS_PAGES = ["index", "installation", "commands", "agents", "apex", "business-analyse", "gitflow", "efcore", "hooks", "test-web"];
115455
+ var DOCS_PAGES = ["index", "installation", "init", "commands", "cli-commands", "agents", "apex", "business-analyse", "gitflow", "efcore", "hooks", "ralph-loop", "test-web"];
115407
115456
  var docsCommand = new Command("docs").alias("d").description("Open SmartStack documentation in browser").argument("[page]", "Documentation page to open", "index").option("-l, --list", "List available documentation pages").action(async (page, options) => {
115408
115457
  if (options.list) {
115409
115458
  logger.header("Available Documentation Pages");
@@ -124530,8 +124579,8 @@ var REQUIRED_MCP_SERVERS = [
124530
124579
  },
124531
124580
  {
124532
124581
  name: "smartstack",
124533
- description: "SmartStack validation and scaffolding",
124534
- installCommand: "npm install -g @atlashub/smartstack-mcp && claude mcp add smartstack -- npx @atlashub/smartstack-mcp"
124582
+ description: "SmartStack validation and scaffolding (bundled)",
124583
+ installCommand: "claude mcp add smartstack -- npx -p @atlashub/smartstack-cli smartstack-mcp"
124535
124584
  }
124536
124585
  ];
124537
124586
  function getInstalledMcpServers() {
@@ -125422,7 +125471,10 @@ adminCommand.command("reset").description("Reset the localAdmin account password
125422
125471
  process.exit(1);
125423
125472
  }
125424
125473
  let selectedFile;
125425
- if (appSettingsFiles.length === 1) {
125474
+ const localFile = appSettingsFiles.find((f) => (0, import_path9.basename)(f) === "appsettings.Local.json");
125475
+ if (localFile && extractConnectionString(localFile)) {
125476
+ selectedFile = localFile;
125477
+ } else if (appSettingsFiles.length === 1) {
125426
125478
  selectedFile = appSettingsFiles[0];
125427
125479
  } else {
125428
125480
  const choices = appSettingsFiles.map((f) => ({
@@ -125434,7 +125486,8 @@ adminCommand.command("reset").description("Reset the localAdmin account password
125434
125486
  type: "list",
125435
125487
  name: "file",
125436
125488
  message: "Select environment:",
125437
- choices
125489
+ choices,
125490
+ default: localFile || void 0
125438
125491
  }
125439
125492
  ]);
125440
125493
  selectedFile = file;