@atlashub/smartstack-cli 1.36.0 → 2.0.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/config/mcp-defaults.json +62 -0
- package/dist/index.js +57 -4
- package/dist/index.js.map +1 -1
- package/dist/mcp-entry.mjs +16984 -0
- package/dist/mcp-entry.mjs.map +1 -0
- package/package.json +14 -5
- package/templates/agents/gitflow/start.md +5 -4
- package/templates/agents/mcp-healthcheck.md +15 -13
- package/templates/mcp-scaffolding/component.tsx.hbs +298 -0
- package/templates/mcp-scaffolding/controller.cs.hbs +184 -0
- package/templates/mcp-scaffolding/entity-extension.cs.hbs +231 -0
- package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +116 -0
- package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -0
- package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +134 -0
- package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +261 -0
- package/templates/mcp-scaffolding/service-extension.cs.hbs +53 -0
- package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +413 -0
- package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +239 -0
- package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +441 -0
- package/templates/mcp-scaffolding/tests/security.test.cs.hbs +442 -0
- package/templates/mcp-scaffolding/tests/service.test.cs.hbs +390 -0
- package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +428 -0
- package/templates/ralph/README.md +3 -3
- package/templates/ralph/ralph.config.yaml +2 -2
- package/templates/skills/admin/SKILL.md +42 -0
- package/templates/skills/application/steps/step-01-navigation.md +226 -43
- package/templates/skills/application/steps/step-03-roles.md +160 -38
- package/templates/skills/application/steps/step-04-backend.md +109 -2
- package/templates/skills/application/templates-seed.md +200 -1
- package/templates/skills/business-analyse/_shared.md +24 -1
- package/templates/skills/business-analyse/questionnaire/01-context.md +4 -4
- package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +3 -3
- package/templates/skills/business-analyse/questionnaire/03-scope.md +4 -4
- package/templates/skills/business-analyse/questionnaire/04-data.md +7 -7
- package/templates/skills/business-analyse/questionnaire/05-integrations.md +1 -1
- package/templates/skills/business-analyse/questionnaire/06-security.md +3 -3
- package/templates/skills/business-analyse/questionnaire/07-ui.md +1 -1
- package/templates/skills/business-analyse/questionnaire/08-performance.md +3 -3
- package/templates/skills/business-analyse/questionnaire/09-constraints.md +4 -4
- package/templates/skills/business-analyse/questionnaire/10-documentation.md +2 -2
- package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +2 -2
- package/templates/skills/business-analyse/questionnaire/12-migration.md +1 -1
- package/templates/skills/business-analyse/questionnaire/13-cross-module.md +2 -2
- package/templates/skills/business-analyse/steps/step-01-discover.md +50 -25
- package/templates/skills/business-analyse/steps/step-05-handoff.md +133 -34
- package/templates/skills/cc-agent/SKILL.md +129 -0
- package/templates/skills/cc-agent/references/agent-frontmatter.md +213 -0
- package/templates/skills/cc-agent/references/permission-modes.md +102 -0
- package/templates/skills/cc-agent/references/tools-reference.md +144 -0
- package/templates/skills/cc-agent/steps/step-00-init.md +134 -0
- package/templates/skills/cc-agent/steps/step-01-design.md +186 -0
- package/templates/skills/cc-agent/steps/step-02-generate.md +204 -0
- package/templates/skills/cc-agent/steps/step-03-validate.md +130 -0
- package/templates/skills/cc-agent/templates/agent-categorized.md +67 -0
- package/templates/skills/cc-agent/templates/agent-standalone.md +56 -0
- package/templates/skills/cc-agent/templates/agent-with-skills.md +94 -0
- package/templates/skills/cc-audit/SKILL.md +108 -0
- package/templates/skills/cc-audit/references/agent-checklist.md +91 -0
- package/templates/skills/cc-audit/references/hook-checklist.md +110 -0
- package/templates/skills/cc-audit/references/skill-checklist.md +70 -0
- package/templates/skills/cc-audit/steps/step-00-init.md +98 -0
- package/templates/skills/cc-audit/steps/step-01-scan.md +142 -0
- package/templates/skills/cc-audit/steps/step-02-analyze.md +158 -0
- package/templates/skills/cc-audit/steps/step-03-report.md +142 -0
- package/templates/skills/cc-skill/SKILL.md +134 -0
- package/templates/skills/cc-skill/references/best-practices.md +167 -0
- package/templates/skills/cc-skill/references/frontmatter-reference.md +182 -0
- package/templates/skills/cc-skill/references/skill-patterns.md +199 -0
- package/templates/skills/cc-skill/steps/step-00-init.md +119 -0
- package/templates/skills/cc-skill/steps/step-01-design.md +199 -0
- package/templates/skills/cc-skill/steps/step-02-generate.md +145 -0
- package/templates/skills/cc-skill/steps/step-03-steps.md +151 -0
- package/templates/skills/cc-skill/steps/step-04-validate.md +124 -0
- package/templates/skills/cc-skill/templates/skill-forked.md +85 -0
- package/templates/skills/cc-skill/templates/skill-progressive.md +102 -0
- package/templates/skills/cc-skill/templates/skill-simple.md +75 -0
- package/templates/skills/cc-skill/templates/step-template.md +82 -0
- package/templates/skills/check-version/SKILL.md +6 -0
- package/templates/skills/debug/SKILL.md +4 -0
- package/templates/skills/documentation/SKILL.md +1 -0
- package/templates/skills/efcore/SKILL.md +5 -0
- package/templates/skills/efcore/steps/db/step-deploy.md +26 -5
- package/templates/skills/efcore/steps/shared/step-00-init.md +21 -7
- package/templates/skills/explore/SKILL.md +28 -32
- package/templates/skills/feature-full/SKILL.md +1 -0
- package/templates/skills/gitflow/SKILL.md +8 -0
- package/templates/skills/gitflow/steps/step-start.md +45 -10
- package/templates/skills/mcp/SKILL.md +38 -18
- package/templates/skills/quick-search/SKILL.md +8 -1
- package/templates/skills/ralph-loop/SKILL.md +1 -1
- package/templates/skills/ralph-loop/steps/step-00-init.md +8 -68
- package/templates/skills/ralph-loop/steps/step-04-check.md +1 -1
- package/templates/skills/refactor/SKILL.md +1 -0
- package/templates/skills/review-code/SKILL.md +7 -1
- package/templates/skills/ui-components/SKILL.md +31 -438
- package/templates/skills/ui-components/accessibility.md +170 -0
- package/templates/skills/ui-components/patterns/data-table.md +39 -0
- package/templates/skills/ui-components/patterns/entity-card.md +77 -0
- package/templates/skills/ui-components/patterns/grid-layout.md +91 -0
- package/templates/skills/ui-components/patterns/kanban.md +43 -0
- package/templates/skills/ui-components/style-guide.md +86 -0
- package/templates/skills/utils/SKILL.md +1 -0
- package/templates/skills/validate/SKILL.md +1 -0
|
@@ -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);
|
|
@@ -124530,8 +124579,8 @@ var REQUIRED_MCP_SERVERS = [
|
|
|
124530
124579
|
},
|
|
124531
124580
|
{
|
|
124532
124581
|
name: "smartstack",
|
|
124533
|
-
description: "SmartStack validation and scaffolding",
|
|
124534
|
-
installCommand: "
|
|
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
|
-
|
|
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;
|