@ironbackend/prompts 1.0.0 → 1.0.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.
package/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # @ironbackend/prompts
2
+
3
+ AI prompt builders for IronBackend architecture knowledge.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/@ironbackend/prompts)](https://www.npmjs.com/package/@ironbackend/prompts)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](../../LICENSE)
7
+
8
+ ## What's Inside
9
+
10
+ Transform architecture knowledge from `@ironbackend/core` into AI-consumable prompts.
11
+
12
+ - **System Prompt Builder** - Generate complete system prompts for AI assistants
13
+ - **Context Builder** - Build context-aware prompts with style + stack + rules
14
+ - **Rule Formatter** - Format design rules for LLM consumption
15
+
16
+ ## Installation
17
+
18
+ ```bash
19
+ npm install @ironbackend/prompts @ironbackend/core
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```typescript
25
+ import { buildSystemPrompt } from '@ironbackend/prompts';
26
+ import { getStyle, getStack, allRules } from '@ironbackend/core';
27
+
28
+ // Build a complete system prompt
29
+ const prompt = buildSystemPrompt({
30
+ style: getStyle('hexagonal'),
31
+ stack: getStack('node-nestjs'),
32
+ rules: allRules,
33
+ });
34
+
35
+ console.log(prompt);
36
+ // Output:
37
+ // # IronBackend System Prompt
38
+ //
39
+ // You are a senior backend engineer with 10+ years of experience
40
+ // in Hexagonal Architecture using Node.js/NestJS.
41
+ //
42
+ // ## Core Principles
43
+ // 1. Domain and application core have no external dependencies
44
+ // 2. Ports define what the application needs or provides
45
+ // ...
46
+ ```
47
+
48
+ ## API Reference
49
+
50
+ ### buildSystemPrompt
51
+
52
+ ```typescript
53
+ interface BuildSystemPromptOptions {
54
+ style: ArchitectureStyle;
55
+ stack: TechStack;
56
+ rules: DesignRule[];
57
+ includeSecurityPlaybook?: boolean;
58
+ }
59
+
60
+ function buildSystemPrompt(options: BuildSystemPromptOptions): string;
61
+ ```
62
+
63
+ ### buildContext
64
+
65
+ ```typescript
66
+ interface BuildContextOptions {
67
+ style?: ArchitectureStyle;
68
+ stack?: TechStack;
69
+ rules?: DesignRule[];
70
+ }
71
+
72
+ function buildContext(options: BuildContextOptions): string;
73
+ ```
74
+
75
+ ### formatRulesForPrompt
76
+
77
+ ```typescript
78
+ function formatRulesForPrompt(rules: DesignRule[]): string;
79
+ ```
80
+
81
+ ## Example Output
82
+
83
+ The generated prompt includes:
84
+
85
+ 1. **Role Definition** - Senior engineer persona with chosen style/stack
86
+ 2. **Core Principles** - Architecture fundamentals
87
+ 3. **Folder Structure** - Recommended project layout
88
+ 4. **Enforced Rules** - Design rules with severity levels
89
+ 5. **Code Generation Guidelines** - Best practices for the AI
90
+
91
+ ```markdown
92
+ # IronBackend System Prompt
93
+
94
+ You are a senior backend engineer specializing in
95
+ Hexagonal Architecture with Node.js/NestJS.
96
+
97
+ ## Enforced Rules
98
+ [ERROR] API-001: All endpoints must have explicit request/response schemas
99
+ [ERROR] DOM-005: Domain logic must not depend on framework code
100
+ [WARN] ERR-003: Log errors with correlation IDs
101
+
102
+ ## When Generating Code
103
+ - Controllers handle HTTP only, delegate to services
104
+ - All external dependencies injected via interfaces
105
+ - Include proper error handling per ERR-* rules
106
+ ```
107
+
108
+ ## Related Packages
109
+
110
+ - [`ironbackend`](https://www.npmjs.com/package/ironbackend) - CLI tool
111
+ - [`@ironbackend/core`](https://www.npmjs.com/package/@ironbackend/core) - Knowledge base
112
+
113
+ ## License
114
+
115
+ MIT
@@ -1,23 +1,15 @@
1
- "use strict";
2
1
  /**
3
2
  * Context Builder
4
3
  * Build context objects for prompt generation
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.buildContextFromConfig = buildContextFromConfig;
8
- exports.buildContext = buildContext;
9
- exports.validateContext = validateContext;
10
- exports.getContextSummary = getContextSummary;
11
- exports.serializeContext = serializeContext;
12
- exports.deserializeContext = deserializeContext;
13
- const core_1 = require("@ironbackend/core");
5
+ import { getStyle, getStack } from '@ironbackend/core';
14
6
  /**
15
7
  * Build context from IronBackend config file
16
8
  */
17
- function buildContextFromConfig(config) {
9
+ export function buildContextFromConfig(config) {
18
10
  return {
19
- style: config.style ? (0, core_1.getStyle)(config.style) ?? null : null,
20
- stack: config.stack ? (0, core_1.getStack)(config.stack) ?? null : null,
11
+ style: config.style ? getStyle(config.style) ?? null : null,
12
+ stack: config.stack ? getStack(config.stack) ?? null : null,
21
13
  enabledRules: config.rules.enabled,
22
14
  securityEnabled: true,
23
15
  metadata: {}
@@ -26,14 +18,14 @@ function buildContextFromConfig(config) {
26
18
  /**
27
19
  * Build context interactively
28
20
  */
29
- function buildContext(options) {
21
+ export function buildContext(options) {
30
22
  const allCategories = [
31
23
  'API', 'DOMAIN', 'ERROR_HANDLING', 'TRANSACTIONS',
32
24
  'DATA_ACCESS', 'NAMING', 'VALIDATION', 'ASYNC'
33
25
  ];
34
26
  return {
35
- style: options.styleId ? (0, core_1.getStyle)(options.styleId) ?? null : null,
36
- stack: options.stackId ? (0, core_1.getStack)(options.stackId) ?? null : null,
27
+ style: options.styleId ? getStyle(options.styleId) ?? null : null,
28
+ stack: options.stackId ? getStack(options.stackId) ?? null : null,
37
29
  enabledRules: options.ruleCategories ?? allCategories,
38
30
  securityEnabled: true,
39
31
  metadata: {}
@@ -42,7 +34,7 @@ function buildContext(options) {
42
34
  /**
43
35
  * Validate context completeness
44
36
  */
45
- function validateContext(context) {
37
+ export function validateContext(context) {
46
38
  const errors = [];
47
39
  if (!context.style) {
48
40
  errors.push('No architecture style selected');
@@ -61,7 +53,7 @@ function validateContext(context) {
61
53
  /**
62
54
  * Get context summary for display
63
55
  */
64
- function getContextSummary(context) {
56
+ export function getContextSummary(context) {
65
57
  const lines = [];
66
58
  if (context.style) {
67
59
  lines.push(`Style: ${context.style.name}`);
@@ -76,7 +68,7 @@ function getContextSummary(context) {
76
68
  /**
77
69
  * Serialize context for storage
78
70
  */
79
- function serializeContext(context) {
71
+ export function serializeContext(context) {
80
72
  return JSON.stringify({
81
73
  styleId: context.style?.id,
82
74
  stackId: context.stack?.id,
@@ -88,11 +80,11 @@ function serializeContext(context) {
88
80
  /**
89
81
  * Deserialize context from storage
90
82
  */
91
- function deserializeContext(json) {
83
+ export function deserializeContext(json) {
92
84
  const data = JSON.parse(json);
93
85
  return {
94
- style: data.styleId ? (0, core_1.getStyle)(data.styleId) ?? null : null,
95
- stack: data.stackId ? (0, core_1.getStack)(data.stackId) ?? null : null,
86
+ style: data.styleId ? getStyle(data.styleId) ?? null : null,
87
+ stack: data.stackId ? getStack(data.stackId) ?? null : null,
96
88
  enabledRules: data.enabledRules ?? [],
97
89
  securityEnabled: data.securityEnabled ?? true,
98
90
  metadata: data.metadata ?? {}
@@ -1 +1 @@
1
- {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../src/builders/context-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../src/builders/context-builder.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,6 @@
1
- "use strict";
2
1
  /**
3
2
  * Builders Export
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.deserializeContext = exports.serializeContext = exports.getContextSummary = exports.validateContext = exports.buildContext = exports.buildContextFromConfig = exports.truncatePrompt = exports.estimateTokenCount = exports.buildPromptSections = exports.buildPrompt = exports.formatFolderTree = exports.formatFolderStructure = void 0;
7
- var prompt_builder_js_1 = require("./prompt-builder.js");
8
- Object.defineProperty(exports, "formatFolderStructure", { enumerable: true, get: function () { return prompt_builder_js_1.formatFolderStructure; } });
9
- Object.defineProperty(exports, "formatFolderTree", { enumerable: true, get: function () { return prompt_builder_js_1.formatFolderTree; } });
10
- Object.defineProperty(exports, "buildPrompt", { enumerable: true, get: function () { return prompt_builder_js_1.buildPrompt; } });
11
- Object.defineProperty(exports, "buildPromptSections", { enumerable: true, get: function () { return prompt_builder_js_1.buildPromptSections; } });
12
- Object.defineProperty(exports, "estimateTokenCount", { enumerable: true, get: function () { return prompt_builder_js_1.estimateTokenCount; } });
13
- Object.defineProperty(exports, "truncatePrompt", { enumerable: true, get: function () { return prompt_builder_js_1.truncatePrompt; } });
14
- var context_builder_js_1 = require("./context-builder.js");
15
- Object.defineProperty(exports, "buildContextFromConfig", { enumerable: true, get: function () { return context_builder_js_1.buildContextFromConfig; } });
16
- Object.defineProperty(exports, "buildContext", { enumerable: true, get: function () { return context_builder_js_1.buildContext; } });
17
- Object.defineProperty(exports, "validateContext", { enumerable: true, get: function () { return context_builder_js_1.validateContext; } });
18
- Object.defineProperty(exports, "getContextSummary", { enumerable: true, get: function () { return context_builder_js_1.getContextSummary; } });
19
- Object.defineProperty(exports, "serializeContext", { enumerable: true, get: function () { return context_builder_js_1.serializeContext; } });
20
- Object.defineProperty(exports, "deserializeContext", { enumerable: true, get: function () { return context_builder_js_1.deserializeContext; } });
4
+ export { formatFolderStructure, formatFolderTree, buildPrompt, buildPromptSections, estimateTokenCount, truncatePrompt } from './prompt-builder.js';
5
+ export { buildContextFromConfig, buildContext, validateContext, getContextSummary, serializeContext, deserializeContext } from './context-builder.js';
21
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yDAO6B;AANzB,0HAAA,qBAAqB,OAAA;AACrB,qHAAA,gBAAgB,OAAA;AAChB,gHAAA,WAAW,OAAA;AACX,wHAAA,mBAAmB,OAAA;AACnB,uHAAA,kBAAkB,OAAA;AAClB,mHAAA,cAAc,OAAA;AAIlB,2DAO8B;AAN1B,4HAAA,sBAAsB,OAAA;AACtB,kHAAA,YAAY,OAAA;AACZ,qHAAA,eAAe,OAAA;AACf,uHAAA,iBAAiB,OAAA;AACjB,sHAAA,gBAAgB,OAAA;AAChB,wHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/builders/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACH,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,sBAAsB,CAAC"}
@@ -1,21 +1,13 @@
1
- "use strict";
2
1
  /**
3
2
  * Prompt Builder
4
3
  * Utilities for building and composing prompts
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.formatFolderStructure = formatFolderStructure;
8
- exports.formatFolderTree = formatFolderTree;
9
- exports.buildPrompt = buildPrompt;
10
- exports.buildPromptSections = buildPromptSections;
11
- exports.estimateTokenCount = estimateTokenCount;
12
- exports.truncatePrompt = truncatePrompt;
13
- const core_1 = require("@ironbackend/core");
14
- const index_js_1 = require("../templates/index.js");
5
+ import { getStyle, getStack } from '@ironbackend/core';
6
+ import { generateSystemPrompt, generateStylePrompt, generateStackPrompt, generateRuleEnforcementPrompt } from '../templates/index.js';
15
7
  /**
16
8
  * Format folder structure for display in prompts
17
9
  */
18
- function formatFolderStructure(node, indent = 0) {
10
+ export function formatFolderStructure(node, indent = 0) {
19
11
  const prefix = ' '.repeat(indent);
20
12
  const icon = node.type === 'folder' ? '📁' : '📄';
21
13
  const desc = node.description ? ` # ${node.description}` : '';
@@ -30,7 +22,7 @@ function formatFolderStructure(node, indent = 0) {
30
22
  /**
31
23
  * Format folder structure as tree (without emojis)
32
24
  */
33
- function formatFolderTree(node, indent = 0, isLast = true) {
25
+ export function formatFolderTree(node, indent = 0, isLast = true) {
34
26
  const prefix = indent === 0 ? '' : (isLast ? '└── ' : '├── ');
35
27
  const linePrefix = indent === 0 ? '' : '│ '.repeat(indent - 1) + prefix;
36
28
  let result = `${linePrefix}${node.name}/`;
@@ -46,15 +38,15 @@ function formatFolderTree(node, indent = 0, isLast = true) {
46
38
  /**
47
39
  * Build a complete prompt from configuration
48
40
  */
49
- function buildPrompt(config) {
50
- const style = (0, core_1.getStyle)(config.styleId);
51
- const stack = (0, core_1.getStack)(config.stackId);
41
+ export function buildPrompt(config) {
42
+ const style = getStyle(config.styleId);
43
+ const stack = getStack(config.stackId);
52
44
  if (!style || !stack) {
53
45
  throw new Error(`Invalid style (${config.styleId}) or stack (${config.stackId})`);
54
46
  }
55
47
  const sections = [];
56
48
  // System prompt
57
- sections.push((0, index_js_1.generateSystemPrompt)({
49
+ sections.push(generateSystemPrompt({
58
50
  style,
59
51
  stack,
60
52
  includeRules: config.includeRules ?? true,
@@ -65,30 +57,30 @@ function buildPrompt(config) {
65
57
  /**
66
58
  * Build modular prompt sections (for composability)
67
59
  */
68
- function buildPromptSections(config) {
69
- const style = (0, core_1.getStyle)(config.styleId);
70
- const stack = (0, core_1.getStack)(config.stackId);
60
+ export function buildPromptSections(config) {
61
+ const style = getStyle(config.styleId);
62
+ const stack = getStack(config.stackId);
71
63
  if (!style || !stack) {
72
64
  throw new Error(`Invalid style (${config.styleId}) or stack (${config.stackId})`);
73
65
  }
74
66
  return {
75
- style: (0, index_js_1.generateStylePrompt)(style),
76
- stack: (0, index_js_1.generateStackPrompt)(stack),
77
- rules: (0, index_js_1.generateRuleEnforcementPrompt)(config.ruleCategories),
67
+ style: generateStylePrompt(style),
68
+ stack: generateStackPrompt(stack),
69
+ rules: generateRuleEnforcementPrompt(config.ruleCategories),
78
70
  combined: buildPrompt(config)
79
71
  };
80
72
  }
81
73
  /**
82
74
  * Count tokens (rough estimate)
83
75
  */
84
- function estimateTokenCount(text) {
76
+ export function estimateTokenCount(text) {
85
77
  // Rough estimate: 1 token ≈ 4 characters
86
78
  return Math.ceil(text.length / 4);
87
79
  }
88
80
  /**
89
81
  * Truncate prompt to fit token limit
90
82
  */
91
- function truncatePrompt(prompt, maxTokens) {
83
+ export function truncatePrompt(prompt, maxTokens) {
92
84
  const currentTokens = estimateTokenCount(prompt);
93
85
  if (currentTokens <= maxTokens) {
94
86
  return prompt;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/builders/prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../src/builders/prompt-builder.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,43 +1,16 @@
1
- "use strict";
2
1
  /**
3
2
  * @ironbackend/prompts
4
3
  * AI Prompt Templates for IronBackend
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.deserializeContext = exports.serializeContext = exports.getContextSummary = exports.validateContext = exports.buildContext = exports.buildContextFromConfig = exports.truncatePrompt = exports.estimateTokenCount = exports.buildPromptSections = exports.buildPrompt = exports.formatFolderTree = exports.formatFolderStructure = exports.generateRuleExamplesPrompt = exports.generateCompactRulesPrompt = exports.generateCategoryEnforcementPrompt = exports.generateRuleEnforcementPrompt = exports.generateStackComparisonPrompt = exports.generateStackCodeStyle = exports.generateStackPrompt = exports.generateStyleComparisonPrompt = exports.generateStylePrompt = exports.generateMinimalSystemPrompt = exports.generateSystemPrompt = void 0;
8
- exports.quickPrompt = quickPrompt;
9
5
  // Templates
10
- var index_js_1 = require("./templates/index.js");
11
- Object.defineProperty(exports, "generateSystemPrompt", { enumerable: true, get: function () { return index_js_1.generateSystemPrompt; } });
12
- Object.defineProperty(exports, "generateMinimalSystemPrompt", { enumerable: true, get: function () { return index_js_1.generateMinimalSystemPrompt; } });
13
- Object.defineProperty(exports, "generateStylePrompt", { enumerable: true, get: function () { return index_js_1.generateStylePrompt; } });
14
- Object.defineProperty(exports, "generateStyleComparisonPrompt", { enumerable: true, get: function () { return index_js_1.generateStyleComparisonPrompt; } });
15
- Object.defineProperty(exports, "generateStackPrompt", { enumerable: true, get: function () { return index_js_1.generateStackPrompt; } });
16
- Object.defineProperty(exports, "generateStackCodeStyle", { enumerable: true, get: function () { return index_js_1.generateStackCodeStyle; } });
17
- Object.defineProperty(exports, "generateStackComparisonPrompt", { enumerable: true, get: function () { return index_js_1.generateStackComparisonPrompt; } });
18
- Object.defineProperty(exports, "generateRuleEnforcementPrompt", { enumerable: true, get: function () { return index_js_1.generateRuleEnforcementPrompt; } });
19
- Object.defineProperty(exports, "generateCategoryEnforcementPrompt", { enumerable: true, get: function () { return index_js_1.generateCategoryEnforcementPrompt; } });
20
- Object.defineProperty(exports, "generateCompactRulesPrompt", { enumerable: true, get: function () { return index_js_1.generateCompactRulesPrompt; } });
21
- Object.defineProperty(exports, "generateRuleExamplesPrompt", { enumerable: true, get: function () { return index_js_1.generateRuleExamplesPrompt; } });
6
+ export { generateSystemPrompt, generateMinimalSystemPrompt, generateStylePrompt, generateStyleComparisonPrompt, generateStackPrompt, generateStackCodeStyle, generateStackComparisonPrompt, generateRuleEnforcementPrompt, generateCategoryEnforcementPrompt, generateCompactRulesPrompt, generateRuleExamplesPrompt } from './templates/index.js';
22
7
  // Builders
23
- var index_js_2 = require("./builders/index.js");
24
- Object.defineProperty(exports, "formatFolderStructure", { enumerable: true, get: function () { return index_js_2.formatFolderStructure; } });
25
- Object.defineProperty(exports, "formatFolderTree", { enumerable: true, get: function () { return index_js_2.formatFolderTree; } });
26
- Object.defineProperty(exports, "buildPrompt", { enumerable: true, get: function () { return index_js_2.buildPrompt; } });
27
- Object.defineProperty(exports, "buildPromptSections", { enumerable: true, get: function () { return index_js_2.buildPromptSections; } });
28
- Object.defineProperty(exports, "estimateTokenCount", { enumerable: true, get: function () { return index_js_2.estimateTokenCount; } });
29
- Object.defineProperty(exports, "truncatePrompt", { enumerable: true, get: function () { return index_js_2.truncatePrompt; } });
30
- Object.defineProperty(exports, "buildContextFromConfig", { enumerable: true, get: function () { return index_js_2.buildContextFromConfig; } });
31
- Object.defineProperty(exports, "buildContext", { enumerable: true, get: function () { return index_js_2.buildContext; } });
32
- Object.defineProperty(exports, "validateContext", { enumerable: true, get: function () { return index_js_2.validateContext; } });
33
- Object.defineProperty(exports, "getContextSummary", { enumerable: true, get: function () { return index_js_2.getContextSummary; } });
34
- Object.defineProperty(exports, "serializeContext", { enumerable: true, get: function () { return index_js_2.serializeContext; } });
35
- Object.defineProperty(exports, "deserializeContext", { enumerable: true, get: function () { return index_js_2.deserializeContext; } });
36
- const index_js_3 = require("./builders/index.js");
8
+ export { formatFolderStructure, formatFolderTree, buildPrompt, buildPromptSections, estimateTokenCount, truncatePrompt, buildContextFromConfig, buildContext, validateContext, getContextSummary, serializeContext, deserializeContext } from './builders/index.js';
9
+ import { buildPrompt as _buildPrompt } from './builders/index.js';
37
10
  /**
38
11
  * Quick prompt generation
39
12
  */
40
- function quickPrompt(styleId, stackId) {
41
- return (0, index_js_3.buildPrompt)({ styleId, stackId });
13
+ export function quickPrompt(styleId, stackId) {
14
+ return _buildPrompt({ styleId, stackId });
42
15
  }
43
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwCH,kCAEC;AAxCD,YAAY;AACZ,iDAY8B;AAX1B,gHAAA,oBAAoB,OAAA;AACpB,uHAAA,2BAA2B,OAAA;AAC3B,+GAAA,mBAAmB,OAAA;AACnB,yHAAA,6BAA6B,OAAA;AAC7B,+GAAA,mBAAmB,OAAA;AACnB,kHAAA,sBAAsB,OAAA;AACtB,yHAAA,6BAA6B,OAAA;AAC7B,yHAAA,6BAA6B,OAAA;AAC7B,6HAAA,iCAAiC,OAAA;AACjC,sHAAA,0BAA0B,OAAA;AAC1B,sHAAA,0BAA0B,OAAA;AAI9B,WAAW;AACX,gDAa6B;AAZzB,iHAAA,qBAAqB,OAAA;AACrB,4GAAA,gBAAgB,OAAA;AAChB,uGAAA,WAAW,OAAA;AACX,+GAAA,mBAAmB,OAAA;AACnB,8GAAA,kBAAkB,OAAA;AAClB,0GAAA,cAAc,OAAA;AACd,kHAAA,sBAAsB,OAAA;AACtB,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AACjB,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA;AAItB,kDAAkE;AAElE;;GAEG;AACH,SAAgB,WAAW,CAAC,OAAe,EAAE,OAAe;IACxD,OAAO,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY;AACZ,OAAO,EACH,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,6BAA6B,EAC7B,mBAAmB,EACnB,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,0BAA0B,EAC1B,0BAA0B,EAC7B,MAAM,sBAAsB,CAAC;AAG9B,WAAW;AACX,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAElE;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,OAAe;IACxD,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,22 +1,8 @@
1
- "use strict";
2
1
  /**
3
2
  * Prompt Templates Export
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateRuleExamplesPrompt = exports.generateCompactRulesPrompt = exports.generateCategoryEnforcementPrompt = exports.generateRuleEnforcementPrompt = exports.generateStackComparisonPrompt = exports.generateStackCodeStyle = exports.generateStackPrompt = exports.generateStyleComparisonPrompt = exports.generateStylePrompt = exports.generateMinimalSystemPrompt = exports.generateSystemPrompt = void 0;
7
- var system_js_1 = require("./system.js");
8
- Object.defineProperty(exports, "generateSystemPrompt", { enumerable: true, get: function () { return system_js_1.generateSystemPrompt; } });
9
- Object.defineProperty(exports, "generateMinimalSystemPrompt", { enumerable: true, get: function () { return system_js_1.generateMinimalSystemPrompt; } });
10
- var style_selection_js_1 = require("./style-selection.js");
11
- Object.defineProperty(exports, "generateStylePrompt", { enumerable: true, get: function () { return style_selection_js_1.generateStylePrompt; } });
12
- Object.defineProperty(exports, "generateStyleComparisonPrompt", { enumerable: true, get: function () { return style_selection_js_1.generateStyleComparisonPrompt; } });
13
- var stack_selection_js_1 = require("./stack-selection.js");
14
- Object.defineProperty(exports, "generateStackPrompt", { enumerable: true, get: function () { return stack_selection_js_1.generateStackPrompt; } });
15
- Object.defineProperty(exports, "generateStackCodeStyle", { enumerable: true, get: function () { return stack_selection_js_1.generateStackCodeStyle; } });
16
- Object.defineProperty(exports, "generateStackComparisonPrompt", { enumerable: true, get: function () { return stack_selection_js_1.generateStackComparisonPrompt; } });
17
- var rule_enforcement_js_1 = require("./rule-enforcement.js");
18
- Object.defineProperty(exports, "generateRuleEnforcementPrompt", { enumerable: true, get: function () { return rule_enforcement_js_1.generateRuleEnforcementPrompt; } });
19
- Object.defineProperty(exports, "generateCategoryEnforcementPrompt", { enumerable: true, get: function () { return rule_enforcement_js_1.generateCategoryEnforcementPrompt; } });
20
- Object.defineProperty(exports, "generateCompactRulesPrompt", { enumerable: true, get: function () { return rule_enforcement_js_1.generateCompactRulesPrompt; } });
21
- Object.defineProperty(exports, "generateRuleExamplesPrompt", { enumerable: true, get: function () { return rule_enforcement_js_1.generateRuleExamplesPrompt; } });
4
+ export { generateSystemPrompt, generateMinimalSystemPrompt } from './system.js';
5
+ export { generateStylePrompt, generateStyleComparisonPrompt } from './style-selection.js';
6
+ export { generateStackPrompt, generateStackCodeStyle, generateStackComparisonPrompt } from './stack-selection.js';
7
+ export { generateRuleEnforcementPrompt, generateCategoryEnforcementPrompt, generateCompactRulesPrompt, generateRuleExamplesPrompt } from './rule-enforcement.js';
22
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,yCAAgF;AAAvE,iHAAA,oBAAoB,OAAA;AAAE,wHAAA,2BAA2B,OAAA;AAG1D,2DAA0F;AAAjF,yHAAA,mBAAmB,OAAA;AAAE,mIAAA,6BAA6B,OAAA;AAE3D,2DAAkH;AAAzG,yHAAA,mBAAmB,OAAA;AAAE,4HAAA,sBAAsB,OAAA;AAAE,mIAAA,6BAA6B,OAAA;AAEnF,6DAK+B;AAJ3B,oIAAA,6BAA6B,OAAA;AAC7B,wIAAA,iCAAiC,OAAA;AACjC,iIAAA,0BAA0B,OAAA;AAC1B,iIAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAGhF,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAE1F,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAElH,OAAO,EACH,6BAA6B,EAC7B,iCAAiC,EACjC,0BAA0B,EAC1B,0BAA0B,EAC7B,MAAM,uBAAuB,CAAC"}
@@ -1,18 +1,12 @@
1
- "use strict";
2
1
  /**
3
2
  * Rule Enforcement Prompt Template
4
3
  * Prompts for enforcing design rules
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.generateRuleEnforcementPrompt = generateRuleEnforcementPrompt;
8
- exports.generateCategoryEnforcementPrompt = generateCategoryEnforcementPrompt;
9
- exports.generateCompactRulesPrompt = generateCompactRulesPrompt;
10
- exports.generateRuleExamplesPrompt = generateRuleExamplesPrompt;
11
- const core_1 = require("@ironbackend/core");
5
+ import { rulesByCategory, formatRulesForPrompt, getErrorRules } from '@ironbackend/core';
12
6
  /**
13
7
  * Generate rule enforcement prompt
14
8
  */
15
- function generateRuleEnforcementPrompt(categories = ['API', 'DOMAIN', 'ERROR_HANDLING', 'DATA_ACCESS']) {
9
+ export function generateRuleEnforcementPrompt(categories = ['API', 'DOMAIN', 'ERROR_HANDLING', 'DATA_ACCESS']) {
16
10
  const sections = [];
17
11
  sections.push(`# Design Rules Enforcement
18
12
 
@@ -24,11 +18,11 @@ function generateRuleEnforcementPrompt(categories = ['API', 'DOMAIN', 'ERROR_HAN
24
18
  ---`);
25
19
  // Add rules by category
26
20
  for (const category of categories) {
27
- const rules = core_1.rulesByCategory[category];
21
+ const rules = rulesByCategory[category];
28
22
  if (rules && rules.length > 0) {
29
23
  sections.push(`## ${formatCategoryName(category)} Rules
30
24
 
31
- ${(0, core_1.formatRulesForPrompt)(rules)}
25
+ ${formatRulesForPrompt(rules)}
32
26
  `);
33
27
  }
34
28
  }
@@ -51,8 +45,8 @@ Before completing any code generation, verify:
51
45
  /**
52
46
  * Generate a focused enforcement prompt for specific categories
53
47
  */
54
- function generateCategoryEnforcementPrompt(category) {
55
- const rules = core_1.rulesByCategory[category] || [];
48
+ export function generateCategoryEnforcementPrompt(category) {
49
+ const rules = rulesByCategory[category] || [];
56
50
  const errorRules = rules.filter(r => r.severity === 'ERROR');
57
51
  const warnRules = rules.filter(r => r.severity === 'WARN');
58
52
  return `# ${formatCategoryName(category)} Rules
@@ -70,8 +64,8 @@ ${r.rationale ? `*Rationale: ${r.rationale}*` : ''}`).join('\n\n')}`;
70
64
  /**
71
65
  * Generate a compact rules summary for limited context
72
66
  */
73
- function generateCompactRulesPrompt() {
74
- const errorRules = (0, core_1.getErrorRules)();
67
+ export function generateCompactRulesPrompt() {
68
+ const errorRules = getErrorRules();
75
69
  return `# Critical Design Rules (Must Follow)
76
70
 
77
71
  ${errorRules.map(r => `- ${r.id}: ${r.rule}`).join('\n')}`;
@@ -79,7 +73,7 @@ ${errorRules.map(r => `- ${r.id}: ${r.rule}`).join('\n')}`;
79
73
  /**
80
74
  * Generate rule violation examples
81
75
  */
82
- function generateRuleExamplesPrompt(rules) {
76
+ export function generateRuleExamplesPrompt(rules) {
83
77
  const sections = rules.map(rule => {
84
78
  if (!rule.examples || rule.examples.length === 0) {
85
79
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"rule-enforcement.js","sourceRoot":"","sources":["../../src/templates/rule-enforcement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule-enforcement.js","sourceRoot":"","sources":["../../src/templates/rule-enforcement.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,11 @@
1
- "use strict";
2
1
  /**
3
2
  * Stack Selection Prompt Template
4
3
  * Prompt for when a tech stack is selected
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.generateStackPrompt = generateStackPrompt;
8
- exports.generateStackCodeStyle = generateStackCodeStyle;
9
- exports.generateStackComparisonPrompt = generateStackComparisonPrompt;
10
5
  /**
11
6
  * Generate a stack-specific prompt section
12
7
  */
13
- function generateStackPrompt(stack) {
8
+ export function generateStackPrompt(stack) {
14
9
  return `# Technology Stack: ${stack.name}
15
10
 
16
11
  ## Language & Framework
@@ -65,7 +60,7 @@ Handle HTTP concerns only, delegate to services.`;
65
60
  /**
66
61
  * Generate stack-specific code style hints
67
62
  */
68
- function generateStackCodeStyle(stack) {
63
+ export function generateStackCodeStyle(stack) {
69
64
  const codeStyles = {
70
65
  'node-nestjs': `// NestJS Style
71
66
  @Injectable()
@@ -117,7 +112,7 @@ class UserService:
117
112
  /**
118
113
  * Generate stack comparison for selection
119
114
  */
120
- function generateStackComparisonPrompt(stacks) {
115
+ export function generateStackComparisonPrompt(stacks) {
121
116
  const header = `# Technology Stack Selection Guide
122
117
 
123
118
  Choose the right stack based on your requirements:
@@ -1 +1 @@
1
- {"version":3,"file":"stack-selection.js","sourceRoot":"","sources":["../../src/templates/stack-selection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,kDAmDC;AAKD,wDAiDC;AAKD,sEAeC;AAhID;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAgB;IAChD,OAAO,uBAAuB,KAAK,CAAC,IAAI;;;kBAG1B,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe;mBACtC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,gBAAgB;;;cAG9C,KAAK,CAAC,QAAQ,CAAC,IAAI;aACpB,KAAK,CAAC,QAAQ,CAAC,GAAG;EAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;;;cAGzD,KAAK,CAAC,SAAS,CAAC,IAAI;kBAChB,KAAK,CAAC,SAAS,CAAC,QAAQ;;;EAGxC,KAAK,CAAC,cAAc;;;EAGpB,KAAK,CAAC,OAAO;;;;;WAKJ,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc;kBAC7C,KAAK,CAAC,OAAO,CAAC,WAAW;EACzC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE;;;EAG1E,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAM9C,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;MAKxD,KAAK,CAAC,QAAQ,CAAC,GAAG;;;wCAGgB,KAAK,CAAC,QAAQ,CAAC,GAAG;;;;;;iDAMT,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,KAAgB;IACnD,MAAM,UAAU,GAA2B;QACvC,aAAa,EAAE;;;;;;;;EAQrB;QACM,aAAa,EAAE;;;;;;;;;;;;EAYrB;QACM,mBAAmB,EAAE;;;;;;;;;;;;;;EAc3B;QACM,gBAAgB,EAAE;;;;;;yDAM+B;KACpD,CAAC;IAEF,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,6BAA6B,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,MAAmB;IAC7D,MAAM,MAAM,GAAG;;;;CAIlB,CAAC;IAEE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;KACtC,KAAK,CAAC,IAAI;kBACG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe;mBACtC,KAAK,CAAC,SAAS;kBAChB,iBAAiB,CAAC,KAAK,CAAC;CACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEV,OAAO,MAAM,GAAG,UAAU,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgB;IACvC,MAAM,SAAS,GAA2B;QACtC,aAAa,EAAE,wDAAwD;QACvE,aAAa,EAAE,kDAAkD;QACjE,mBAAmB,EAAE,wDAAwD;QAC7E,gBAAgB,EAAE,iDAAiD;KACtE,CAAC;IACF,OAAO,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,qCAAqC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"stack-selection.js","sourceRoot":"","sources":["../../src/templates/stack-selection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAChD,OAAO,uBAAuB,KAAK,CAAC,IAAI;;;kBAG1B,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe;mBACtC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,gBAAgB;;;cAG9C,KAAK,CAAC,QAAQ,CAAC,IAAI;aACpB,KAAK,CAAC,QAAQ,CAAC,GAAG;EAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;;;cAGzD,KAAK,CAAC,SAAS,CAAC,IAAI;kBAChB,KAAK,CAAC,SAAS,CAAC,QAAQ;;;EAGxC,KAAK,CAAC,cAAc;;;EAGpB,KAAK,CAAC,OAAO;;;;;WAKJ,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,KAAK,CAAC,OAAO,CAAC,cAAc;kBAC7C,KAAK,CAAC,OAAO,CAAC,WAAW;EACzC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,OAAO,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE;;;EAG1E,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAM9C,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;MAKxD,KAAK,CAAC,QAAQ,CAAC,GAAG;;;wCAGgB,KAAK,CAAC,QAAQ,CAAC,GAAG;;;;;;iDAMT,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,KAAgB;IACnD,MAAM,UAAU,GAA2B;QACvC,aAAa,EAAE;;;;;;;;EAQrB;QACM,aAAa,EAAE;;;;;;;;;;;;EAYrB;QACM,mBAAmB,EAAE;;;;;;;;;;;;;;EAc3B;QACM,gBAAgB,EAAE;;;;;;yDAM+B;KACpD,CAAC;IAEF,OAAO,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,6BAA6B,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAmB;IAC7D,MAAM,MAAM,GAAG;;;;CAIlB,CAAC;IAEE,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;KACtC,KAAK,CAAC,IAAI;kBACG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe;mBACtC,KAAK,CAAC,SAAS;kBAChB,iBAAiB,CAAC,KAAK,CAAC;CACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEV,OAAO,MAAM,GAAG,UAAU,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgB;IACvC,MAAM,SAAS,GAA2B;QACtC,aAAa,EAAE,wDAAwD;QACvE,aAAa,EAAE,kDAAkD;QACjE,mBAAmB,EAAE,wDAAwD;QAC7E,gBAAgB,EAAE,iDAAiD;KACtE,CAAC;IACF,OAAO,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,qCAAqC,CAAC;AACxE,CAAC"}
@@ -1,16 +1,12 @@
1
- "use strict";
2
1
  /**
3
2
  * Style Selection Prompt Template
4
3
  * Prompt for when an architecture style is selected
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.generateStylePrompt = generateStylePrompt;
8
- exports.generateStyleComparisonPrompt = generateStyleComparisonPrompt;
9
- const prompt_builder_js_1 = require("../builders/prompt-builder.js");
5
+ import { formatFolderStructure } from '../builders/prompt-builder.js';
10
6
  /**
11
7
  * Generate a style-specific prompt section
12
8
  */
13
- function generateStylePrompt(style) {
9
+ export function generateStylePrompt(style) {
14
10
  return `# Architecture Style: ${style.name}
15
11
 
16
12
  ## Description
@@ -29,7 +25,7 @@ ${style.corePrinciples.map((p, i) => `${i + 1}. ${p}`).join('\n')}
29
25
  Every file you create MUST follow this structure:
30
26
 
31
27
  \`\`\`
32
- ${(0, prompt_builder_js_1.formatFolderStructure)(style.folderStructure)}
28
+ ${formatFolderStructure(style.folderStructure)}
33
29
  \`\`\`
34
30
 
35
31
  ## AI Behavior Instructions
@@ -52,7 +48,7 @@ When asked where to put new code:
52
48
  /**
53
49
  * Generate a comparison prompt for style selection
54
50
  */
55
- function generateStyleComparisonPrompt(styles) {
51
+ export function generateStyleComparisonPrompt(styles) {
56
52
  const header = `# Architecture Style Selection Guide
57
53
 
58
54
  Choose the right style based on your project needs:
@@ -1 +1 @@
1
- {"version":3,"file":"style-selection.js","sourceRoot":"","sources":["../../src/templates/style-selection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAQH,kDAsCC;AAKD,sEAeC;AA/DD,qEAAsE;AAEtE;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAwB;IACxD,OAAO,yBAAyB,KAAK,CAAC,IAAI;;;EAG5C,KAAK,CAAC,WAAW;;;EAGjB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG7C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAM/D,IAAA,yCAAqB,EAAC,KAAK,CAAC,eAAe,CAAC;;;;;EAK5C,KAAK,CAAC,cAAc;;;;;EAKpB,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;mDAQF,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAgB,6BAA6B,CAAC,MAA2B;IACrE,MAAM,MAAM,GAAG;;;;CAIlB,CAAC;IAEE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;KACvC,KAAK,CAAC,IAAI;gBACC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;kBACpC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;kBACzC,kBAAkB,CAAC,KAAK,CAAC;CAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEV,OAAO,MAAM,GAAG,WAAW,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB;IAChD,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAEnF,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrD,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,WAAW,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"style-selection.js","sourceRoot":"","sources":["../../src/templates/style-selection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAwB;IACxD,OAAO,yBAAyB,KAAK,CAAC,IAAI;;;EAG5C,KAAK,CAAC,WAAW;;;EAGjB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG7C,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAGhD,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAM/D,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC;;;;;EAK5C,KAAK,CAAC,cAAc;;;;;EAKpB,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;mDAQF,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAA2B;IACrE,MAAM,MAAM,GAAG;;;;CAIlB,CAAC;IAEE,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;KACvC,KAAK,CAAC,IAAI;gBACC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;kBACpC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;kBACzC,kBAAkB,CAAC,KAAK,CAAC;CAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEV,OAAO,MAAM,GAAG,WAAW,CAAC;AAChC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB;IAChD,MAAM,YAAY,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAEnF,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrD,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -1,18 +1,14 @@
1
- "use strict";
2
1
  /**
3
2
  * System Prompt Template
4
3
  * Main prompt that establishes the AI's role and context
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.generateSystemPrompt = generateSystemPrompt;
8
- exports.generateMinimalSystemPrompt = generateMinimalSystemPrompt;
9
- const core_1 = require("@ironbackend/core");
10
- const core_2 = require("@ironbackend/core");
11
- const prompt_builder_js_1 = require("../builders/prompt-builder.js");
5
+ import { formatRulesForPrompt, getErrorRules } from '@ironbackend/core';
6
+ import { formatSecurityForPrompt } from '@ironbackend/core';
7
+ import { formatFolderStructure } from '../builders/prompt-builder.js';
12
8
  /**
13
9
  * Generate the main system prompt
14
10
  */
15
- function generateSystemPrompt(context) {
11
+ export function generateSystemPrompt(context) {
16
12
  const { style, stack, includeRules = true, includeSecurity = true } = context;
17
13
  const sections = [];
18
14
  // Header
@@ -32,7 +28,7 @@ ${style.corePrinciples.map((p, i) => `${i + 1}. ${p}`).join('\n')}
32
28
 
33
29
  ### Project Structure
34
30
  \`\`\`
35
- ${(0, prompt_builder_js_1.formatFolderStructure)(style.folderStructure)}
31
+ ${formatFolderStructure(style.folderStructure)}
36
32
  \`\`\`
37
33
 
38
34
  ### Anti-Patterns to Avoid
@@ -64,10 +60,10 @@ ${style.aiInstructions}
64
60
  ---`);
65
61
  // Rules
66
62
  if (includeRules) {
67
- const errorRules = (0, core_1.getErrorRules)();
63
+ const errorRules = getErrorRules();
68
64
  sections.push(`## Enforced Design Rules (ERROR severity = must follow)
69
65
 
70
- ${(0, core_1.formatRulesForPrompt)(errorRules)}
66
+ ${formatRulesForPrompt(errorRules)}
71
67
 
72
68
  ---`);
73
69
  }
@@ -75,7 +71,7 @@ ${(0, core_1.formatRulesForPrompt)(errorRules)}
75
71
  if (includeSecurity) {
76
72
  sections.push(`## Security Requirements
77
73
 
78
- ${(0, core_2.formatSecurityForPrompt)()}
74
+ ${formatSecurityForPrompt()}
79
75
 
80
76
  ---`);
81
77
  }
@@ -102,7 +98,7 @@ When asked to create a new feature:
102
98
  /**
103
99
  * Generate a minimal system prompt (for limited context windows)
104
100
  */
105
- function generateMinimalSystemPrompt(context) {
101
+ export function generateMinimalSystemPrompt(context) {
106
102
  const { style, stack } = context;
107
103
  return `# IronBackend v1.0
108
104
 
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/templates/system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/templates/system.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@ironbackend/prompts",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
+ "type": "module",
4
5
  "description": "AI prompt templates for IronBackend",
5
6
  "main": "./dist/index.js",
6
7
  "types": "./dist/index.d.ts",
@@ -31,7 +32,7 @@
31
32
  "directory": "packages/prompts"
32
33
  },
33
34
  "dependencies": {
34
- "@ironbackend/core": "1.0.0"
35
+ "@ironbackend/core": "1.0.1"
35
36
  },
36
37
  "devDependencies": {
37
38
  "typescript": "^5.3.0"