@arvoretech/hub 0.18.0 → 0.18.1
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.
|
@@ -117,7 +117,7 @@ async function checkAndAutoRegenerate(hubDir) {
|
|
|
117
117
|
return;
|
|
118
118
|
}
|
|
119
119
|
console.log(chalk.yellow("\n Detected outdated configs, auto-regenerating..."));
|
|
120
|
-
const { generators: generators2 } = await import("./generate-
|
|
120
|
+
const { generators: generators2 } = await import("./generate-HJ5FRZSI.js");
|
|
121
121
|
const generator = generators2[result.editor];
|
|
122
122
|
if (!generator) {
|
|
123
123
|
console.log(chalk.red(` Unknown editor '${result.editor}' in cache. Run 'hub generate' manually.`));
|
|
@@ -749,6 +749,18 @@ function buildDesignSection(config) {
|
|
|
749
749
|
const parts = [];
|
|
750
750
|
parts.push(`
|
|
751
751
|
## Design System`);
|
|
752
|
+
if (design.enforce && design.skills?.length) {
|
|
753
|
+
const skillList = design.skills.map((s) => `\`${s}\``).join(", ");
|
|
754
|
+
parts.push(`
|
|
755
|
+
**DESIGN ENFORCEMENT \u2014 MANDATORY**
|
|
756
|
+
|
|
757
|
+
Before creating or modifying ANY UI component, page, or visual element:
|
|
758
|
+
1. Consult the design skill(s): ${skillList}
|
|
759
|
+
2. Use ONLY the design tokens, colors, spacing, and typography defined in the design system
|
|
760
|
+
3. Do NOT invent custom styles, colors, or spacing values \u2014 always reference the design tokens
|
|
761
|
+
4. If a component exists in the design system or component library, use it instead of creating a new one
|
|
762
|
+
5. After implementing UI changes, verify that the output follows the design system guidelines`);
|
|
763
|
+
}
|
|
752
764
|
if (design.instructions) {
|
|
753
765
|
parts.push(`
|
|
754
766
|
${design.instructions.trim()}`);
|
|
@@ -1538,7 +1550,7 @@ Some MCPs are aggregated behind a proxy (\`${proxyMcp.name}\`). Their tools are
|
|
|
1538
1550
|
lines.push(`
|
|
1539
1551
|
> When you need a capability and are unsure which tool to use, always try \`mcp_search\` first with relevant keywords. The proxy aggregates tools from all upstream MCPs.`);
|
|
1540
1552
|
}
|
|
1541
|
-
const mcpsWithInstructions = mcps.filter((m) => m.instructions
|
|
1553
|
+
const mcpsWithInstructions = mcps.filter((m) => m.instructions);
|
|
1542
1554
|
if (mcpsWithInstructions.length > 0) {
|
|
1543
1555
|
lines.push(`
|
|
1544
1556
|
### MCP Instructions`);
|
package/dist/config/index.d.ts
CHANGED
package/dist/index.js
CHANGED