@girardelli/architect-agents 8.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 (258) hide show
  1. package/dist/src/core/agent-generator/context-enricher.d.ts +17 -0
  2. package/dist/src/core/agent-generator/context-enricher.js +51 -0
  3. package/dist/src/core/agent-generator/context-enricher.js.map +1 -0
  4. package/dist/src/core/agent-generator/detectors/base-detector.d.ts +8 -0
  5. package/dist/src/core/agent-generator/detectors/base-detector.js +12 -0
  6. package/dist/src/core/agent-generator/detectors/base-detector.js.map +1 -0
  7. package/dist/src/core/agent-generator/detectors/dart-detector.d.ts +5 -0
  8. package/dist/src/core/agent-generator/detectors/dart-detector.js +16 -0
  9. package/dist/src/core/agent-generator/detectors/dart-detector.js.map +1 -0
  10. package/dist/src/core/agent-generator/detectors/framework-registry.d.ts +5 -0
  11. package/dist/src/core/agent-generator/detectors/framework-registry.js +81 -0
  12. package/dist/src/core/agent-generator/detectors/framework-registry.js.map +1 -0
  13. package/dist/src/core/agent-generator/detectors/go-detector.d.ts +5 -0
  14. package/dist/src/core/agent-generator/detectors/go-detector.js +25 -0
  15. package/dist/src/core/agent-generator/detectors/go-detector.js.map +1 -0
  16. package/dist/src/core/agent-generator/detectors/java-detector.d.ts +5 -0
  17. package/dist/src/core/agent-generator/detectors/java-detector.js +44 -0
  18. package/dist/src/core/agent-generator/detectors/java-detector.js.map +1 -0
  19. package/dist/src/core/agent-generator/detectors/node-detector.d.ts +5 -0
  20. package/dist/src/core/agent-generator/detectors/node-detector.js +28 -0
  21. package/dist/src/core/agent-generator/detectors/node-detector.js.map +1 -0
  22. package/dist/src/core/agent-generator/detectors/php-detector.d.ts +5 -0
  23. package/dist/src/core/agent-generator/detectors/php-detector.js +28 -0
  24. package/dist/src/core/agent-generator/detectors/php-detector.js.map +1 -0
  25. package/dist/src/core/agent-generator/detectors/python-detector.d.ts +7 -0
  26. package/dist/src/core/agent-generator/detectors/python-detector.js +116 -0
  27. package/dist/src/core/agent-generator/detectors/python-detector.js.map +1 -0
  28. package/dist/src/core/agent-generator/detectors/ruby-detector.d.ts +5 -0
  29. package/dist/src/core/agent-generator/detectors/ruby-detector.js +23 -0
  30. package/dist/src/core/agent-generator/detectors/ruby-detector.js.map +1 -0
  31. package/dist/src/core/agent-generator/detectors/rust-detector.d.ts +5 -0
  32. package/dist/src/core/agent-generator/detectors/rust-detector.js +18 -0
  33. package/dist/src/core/agent-generator/detectors/rust-detector.js.map +1 -0
  34. package/dist/src/core/agent-generator/detectors/structure-detector.d.ts +4 -0
  35. package/dist/src/core/agent-generator/detectors/structure-detector.js +35 -0
  36. package/dist/src/core/agent-generator/detectors/structure-detector.js.map +1 -0
  37. package/dist/src/core/agent-generator/detectors/toolchain-detector.d.ts +5 -0
  38. package/dist/src/core/agent-generator/detectors/toolchain-detector.js +164 -0
  39. package/dist/src/core/agent-generator/detectors/toolchain-detector.js.map +1 -0
  40. package/dist/src/core/agent-generator/domain-inferrer.d.ts +51 -0
  41. package/dist/src/core/agent-generator/domain-inferrer.js +585 -0
  42. package/dist/src/core/agent-generator/domain-inferrer.js.map +1 -0
  43. package/dist/src/core/agent-generator/engines/audit-engine.d.ts +8 -0
  44. package/dist/src/core/agent-generator/engines/audit-engine.js +84 -0
  45. package/dist/src/core/agent-generator/engines/audit-engine.js.map +1 -0
  46. package/dist/src/core/agent-generator/engines/context-builder.d.ts +12 -0
  47. package/dist/src/core/agent-generator/engines/context-builder.js +84 -0
  48. package/dist/src/core/agent-generator/engines/context-builder.js.map +1 -0
  49. package/dist/src/core/agent-generator/engines/generation-engine.d.ts +7 -0
  50. package/dist/src/core/agent-generator/engines/generation-engine.js +160 -0
  51. package/dist/src/core/agent-generator/engines/generation-engine.js.map +1 -0
  52. package/dist/src/core/agent-generator/engines/generation-engine_deps.d.ts +21 -0
  53. package/dist/src/core/agent-generator/engines/generation-engine_deps.js +17 -0
  54. package/dist/src/core/agent-generator/engines/generation-engine_deps.js.map +1 -0
  55. package/dist/src/core/agent-generator/engines/suggestion-engine.d.ts +13 -0
  56. package/dist/src/core/agent-generator/engines/suggestion-engine.js +171 -0
  57. package/dist/src/core/agent-generator/engines/suggestion-engine.js.map +1 -0
  58. package/dist/src/core/agent-generator/engines/suggestion-engine_deps.d.ts +8 -0
  59. package/dist/src/core/agent-generator/engines/suggestion-engine_deps.js +5 -0
  60. package/dist/src/core/agent-generator/engines/suggestion-engine_deps.js.map +1 -0
  61. package/dist/src/core/agent-generator/enrichers/analysis-helpers.d.ts +9 -0
  62. package/dist/src/core/agent-generator/enrichers/analysis-helpers.js +51 -0
  63. package/dist/src/core/agent-generator/enrichers/analysis-helpers.js.map +1 -0
  64. package/dist/src/core/agent-generator/enrichers/description-generator.d.ts +4 -0
  65. package/dist/src/core/agent-generator/enrichers/description-generator.js +82 -0
  66. package/dist/src/core/agent-generator/enrichers/description-generator.js.map +1 -0
  67. package/dist/src/core/agent-generator/enrichers/endpoint-extractor.d.ts +7 -0
  68. package/dist/src/core/agent-generator/enrichers/endpoint-extractor.js +90 -0
  69. package/dist/src/core/agent-generator/enrichers/endpoint-extractor.js.map +1 -0
  70. package/dist/src/core/agent-generator/enrichers/layer-classifier.d.ts +12 -0
  71. package/dist/src/core/agent-generator/enrichers/layer-classifier.js +152 -0
  72. package/dist/src/core/agent-generator/enrichers/layer-classifier.js.map +1 -0
  73. package/dist/src/core/agent-generator/enrichers/module-extractor.d.ts +10 -0
  74. package/dist/src/core/agent-generator/enrichers/module-extractor.js +173 -0
  75. package/dist/src/core/agent-generator/enrichers/module-extractor.js.map +1 -0
  76. package/dist/src/core/agent-generator/framework-detector.d.ts +17 -0
  77. package/dist/src/core/agent-generator/framework-detector.js +56 -0
  78. package/dist/src/core/agent-generator/framework-detector.js.map +1 -0
  79. package/dist/src/core/agent-generator/index.d.ts +25 -0
  80. package/dist/src/core/agent-generator/index.js +37 -0
  81. package/dist/src/core/agent-generator/index.js.map +1 -0
  82. package/dist/src/core/agent-generator/stack-detector.d.ts +13 -0
  83. package/dist/src/core/agent-generator/stack-detector.js +124 -0
  84. package/dist/src/core/agent-generator/stack-detector.js.map +1 -0
  85. package/dist/src/core/agent-generator/templates/core/agents.d.ts +9 -0
  86. package/dist/src/core/agent-generator/templates/core/agents.js +1127 -0
  87. package/dist/src/core/agent-generator/templates/core/agents.js.map +1 -0
  88. package/dist/src/core/agent-generator/templates/core/architecture-rules.d.ts +6 -0
  89. package/dist/src/core/agent-generator/templates/core/architecture-rules.js +275 -0
  90. package/dist/src/core/agent-generator/templates/core/architecture-rules.js.map +1 -0
  91. package/dist/src/core/agent-generator/templates/core/general-rules.d.ts +7 -0
  92. package/dist/src/core/agent-generator/templates/core/general-rules.js +301 -0
  93. package/dist/src/core/agent-generator/templates/core/general-rules.js.map +1 -0
  94. package/dist/src/core/agent-generator/templates/core/hooks-generator.d.ts +20 -0
  95. package/dist/src/core/agent-generator/templates/core/hooks-generator.js +235 -0
  96. package/dist/src/core/agent-generator/templates/core/hooks-generator.js.map +1 -0
  97. package/dist/src/core/agent-generator/templates/core/index-md.d.ts +6 -0
  98. package/dist/src/core/agent-generator/templates/core/index-md.js +247 -0
  99. package/dist/src/core/agent-generator/templates/core/index-md.js.map +1 -0
  100. package/dist/src/core/agent-generator/templates/core/orchestrator.d.ts +7 -0
  101. package/dist/src/core/agent-generator/templates/core/orchestrator.js +423 -0
  102. package/dist/src/core/agent-generator/templates/core/orchestrator.js.map +1 -0
  103. package/dist/src/core/agent-generator/templates/core/preflight.d.ts +7 -0
  104. package/dist/src/core/agent-generator/templates/core/preflight.js +213 -0
  105. package/dist/src/core/agent-generator/templates/core/preflight.js.map +1 -0
  106. package/dist/src/core/agent-generator/templates/core/quality-gates.d.ts +10 -0
  107. package/dist/src/core/agent-generator/templates/core/quality-gates.js +255 -0
  108. package/dist/src/core/agent-generator/templates/core/quality-gates.js.map +1 -0
  109. package/dist/src/core/agent-generator/templates/core/security-rules.d.ts +6 -0
  110. package/dist/src/core/agent-generator/templates/core/security-rules.js +529 -0
  111. package/dist/src/core/agent-generator/templates/core/security-rules.js.map +1 -0
  112. package/dist/src/core/agent-generator/templates/core/skills-generator.d.ts +18 -0
  113. package/dist/src/core/agent-generator/templates/core/skills-generator.js +547 -0
  114. package/dist/src/core/agent-generator/templates/core/skills-generator.js.map +1 -0
  115. package/dist/src/core/agent-generator/templates/core/workflow-fix-bug.d.ts +6 -0
  116. package/dist/src/core/agent-generator/templates/core/workflow-fix-bug.js +238 -0
  117. package/dist/src/core/agent-generator/templates/core/workflow-fix-bug.js.map +1 -0
  118. package/dist/src/core/agent-generator/templates/core/workflow-new-feature.d.ts +7 -0
  119. package/dist/src/core/agent-generator/templates/core/workflow-new-feature.js +321 -0
  120. package/dist/src/core/agent-generator/templates/core/workflow-new-feature.js.map +1 -0
  121. package/dist/src/core/agent-generator/templates/core/workflow-review.d.ts +6 -0
  122. package/dist/src/core/agent-generator/templates/core/workflow-review.js +105 -0
  123. package/dist/src/core/agent-generator/templates/core/workflow-review.js.map +1 -0
  124. package/dist/src/core/agent-generator/templates/domain/index.d.ts +21 -0
  125. package/dist/src/core/agent-generator/templates/domain/index.js +1179 -0
  126. package/dist/src/core/agent-generator/templates/domain/index.js.map +1 -0
  127. package/dist/src/core/agent-generator/templates/helpers/base-helpers.d.ts +10 -0
  128. package/dist/src/core/agent-generator/templates/helpers/base-helpers.js +20 -0
  129. package/dist/src/core/agent-generator/templates/helpers/base-helpers.js.map +1 -0
  130. package/dist/src/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts +2 -0
  131. package/dist/src/core/agent-generator/templates/helpers/cross-ref-helpers.js +77 -0
  132. package/dist/src/core/agent-generator/templates/helpers/cross-ref-helpers.js.map +1 -0
  133. package/dist/src/core/agent-generator/templates/helpers/security-helpers.d.ts +2 -0
  134. package/dist/src/core/agent-generator/templates/helpers/security-helpers.js +182 -0
  135. package/dist/src/core/agent-generator/templates/helpers/security-helpers.js.map +1 -0
  136. package/dist/src/core/agent-generator/templates/helpers/stack-helpers.d.ts +4 -0
  137. package/dist/src/core/agent-generator/templates/helpers/stack-helpers.js +69 -0
  138. package/dist/src/core/agent-generator/templates/helpers/stack-helpers.js.map +1 -0
  139. package/dist/src/core/agent-generator/templates/helpers/structure-helpers.d.ts +2 -0
  140. package/dist/src/core/agent-generator/templates/helpers/structure-helpers.js +275 -0
  141. package/dist/src/core/agent-generator/templates/helpers/structure-helpers.js.map +1 -0
  142. package/dist/src/core/agent-generator/templates/helpers/summary-helpers.d.ts +6 -0
  143. package/dist/src/core/agent-generator/templates/helpers/summary-helpers.js +56 -0
  144. package/dist/src/core/agent-generator/templates/helpers/summary-helpers.js.map +1 -0
  145. package/dist/src/core/agent-generator/templates/stack/index.d.ts +7 -0
  146. package/dist/src/core/agent-generator/templates/stack/index.js +695 -0
  147. package/dist/src/core/agent-generator/templates/stack/index.js.map +1 -0
  148. package/dist/src/core/agent-generator/templates/template-helpers.d.ts +11 -0
  149. package/dist/src/core/agent-generator/templates/template-helpers.js +12 -0
  150. package/dist/src/core/agent-generator/templates/template-helpers.js.map +1 -0
  151. package/dist/src/core/agent-generator/types/agent.d.ts +39 -0
  152. package/dist/src/core/agent-generator/types/agent.js +27 -0
  153. package/dist/src/core/agent-generator/types/agent.js.map +1 -0
  154. package/dist/src/core/agent-generator/types/domain.d.ts +58 -0
  155. package/dist/src/core/agent-generator/types/domain.js +2 -0
  156. package/dist/src/core/agent-generator/types/domain.js.map +1 -0
  157. package/dist/src/core/agent-generator/types/stack.d.ts +36 -0
  158. package/dist/src/core/agent-generator/types/stack.js +2 -0
  159. package/dist/src/core/agent-generator/types/stack.js.map +1 -0
  160. package/dist/src/core/agent-generator/types/template.d.ts +29 -0
  161. package/dist/src/core/agent-generator/types/template.js +2 -0
  162. package/dist/src/core/agent-generator/types/template.js.map +1 -0
  163. package/dist/src/core/agent-runtime/ai-provider.d.ts +33 -0
  164. package/dist/src/core/agent-runtime/ai-provider.js +146 -0
  165. package/dist/src/core/agent-runtime/ai-provider.js.map +1 -0
  166. package/dist/src/core/agent-runtime/executor.d.ts +13 -0
  167. package/dist/src/core/agent-runtime/executor.js +138 -0
  168. package/dist/src/core/agent-runtime/executor.js.map +1 -0
  169. package/dist/src/core/agent-runtime/human-gate.d.ts +16 -0
  170. package/dist/src/core/agent-runtime/human-gate.js +70 -0
  171. package/dist/src/core/agent-runtime/human-gate.js.map +1 -0
  172. package/dist/tests/agent-generator.test.d.ts +1 -0
  173. package/dist/tests/agent-generator.test.js +349 -0
  174. package/dist/tests/agent-generator.test.js.map +1 -0
  175. package/dist/tests/agent-runtime.test.d.ts +1 -0
  176. package/dist/tests/agent-runtime.test.js +107 -0
  177. package/dist/tests/agent-runtime.test.js.map +1 -0
  178. package/dist/tests/context-enricher.test.d.ts +1 -0
  179. package/dist/tests/context-enricher.test.js +875 -0
  180. package/dist/tests/context-enricher.test.js.map +1 -0
  181. package/dist/tests/framework-detector.test.d.ts +1 -0
  182. package/dist/tests/framework-detector.test.js +882 -0
  183. package/dist/tests/framework-detector.test.js.map +1 -0
  184. package/dist/tests/stack-detector.test.d.ts +1 -0
  185. package/dist/tests/stack-detector.test.js +183 -0
  186. package/dist/tests/stack-detector.test.js.map +1 -0
  187. package/dist/tests/template-generation.test.d.ts +1 -0
  188. package/dist/tests/template-generation.test.js +571 -0
  189. package/dist/tests/template-generation.test.js.map +1 -0
  190. package/dist/tests/template-helpers.test.d.ts +1 -0
  191. package/dist/tests/template-helpers.test.js +967 -0
  192. package/dist/tests/template-helpers.test.js.map +1 -0
  193. package/package.json +24 -0
  194. package/src/core/agent-generator/context-enricher.ts +67 -0
  195. package/src/core/agent-generator/detectors/base-detector.ts +18 -0
  196. package/src/core/agent-generator/detectors/dart-detector.ts +17 -0
  197. package/src/core/agent-generator/detectors/framework-registry.ts +82 -0
  198. package/src/core/agent-generator/detectors/go-detector.ts +26 -0
  199. package/src/core/agent-generator/detectors/java-detector.ts +46 -0
  200. package/src/core/agent-generator/detectors/node-detector.ts +28 -0
  201. package/src/core/agent-generator/detectors/php-detector.ts +28 -0
  202. package/src/core/agent-generator/detectors/python-detector.ts +125 -0
  203. package/src/core/agent-generator/detectors/ruby-detector.ts +24 -0
  204. package/src/core/agent-generator/detectors/rust-detector.ts +19 -0
  205. package/src/core/agent-generator/detectors/structure-detector.ts +38 -0
  206. package/src/core/agent-generator/detectors/toolchain-detector.ts +181 -0
  207. package/src/core/agent-generator/domain-inferrer.ts +630 -0
  208. package/src/core/agent-generator/engines/audit-engine.ts +98 -0
  209. package/src/core/agent-generator/engines/context-builder.ts +96 -0
  210. package/src/core/agent-generator/engines/generation-engine.ts +184 -0
  211. package/src/core/agent-generator/engines/generation-engine_deps.ts +21 -0
  212. package/src/core/agent-generator/engines/suggestion-engine.ts +202 -0
  213. package/src/core/agent-generator/engines/suggestion-engine_deps.ts +8 -0
  214. package/src/core/agent-generator/enrichers/analysis-helpers.ts +58 -0
  215. package/src/core/agent-generator/enrichers/description-generator.ts +91 -0
  216. package/src/core/agent-generator/enrichers/endpoint-extractor.ts +114 -0
  217. package/src/core/agent-generator/enrichers/layer-classifier.ts +156 -0
  218. package/src/core/agent-generator/enrichers/module-extractor.ts +203 -0
  219. package/src/core/agent-generator/framework-detector.ts +66 -0
  220. package/src/core/agent-generator/index.ts +55 -0
  221. package/src/core/agent-generator/stack-detector.ts +115 -0
  222. package/src/core/agent-generator/templates/core/agents.ts +1168 -0
  223. package/src/core/agent-generator/templates/core/architecture-rules.ts +288 -0
  224. package/src/core/agent-generator/templates/core/general-rules.ts +306 -0
  225. package/src/core/agent-generator/templates/core/hooks-generator.ts +244 -0
  226. package/src/core/agent-generator/templates/core/index-md.ts +261 -0
  227. package/src/core/agent-generator/templates/core/orchestrator.ts +462 -0
  228. package/src/core/agent-generator/templates/core/preflight.ts +216 -0
  229. package/src/core/agent-generator/templates/core/quality-gates.ts +257 -0
  230. package/src/core/agent-generator/templates/core/security-rules.ts +544 -0
  231. package/src/core/agent-generator/templates/core/skills-generator.ts +586 -0
  232. package/src/core/agent-generator/templates/core/workflow-fix-bug.ts +240 -0
  233. package/src/core/agent-generator/templates/core/workflow-new-feature.ts +323 -0
  234. package/src/core/agent-generator/templates/core/workflow-review.ts +107 -0
  235. package/src/core/agent-generator/templates/domain/index.ts +1204 -0
  236. package/src/core/agent-generator/templates/helpers/base-helpers.ts +33 -0
  237. package/src/core/agent-generator/templates/helpers/cross-ref-helpers.ts +79 -0
  238. package/src/core/agent-generator/templates/helpers/security-helpers.ts +198 -0
  239. package/src/core/agent-generator/templates/helpers/stack-helpers.ts +80 -0
  240. package/src/core/agent-generator/templates/helpers/structure-helpers.ts +293 -0
  241. package/src/core/agent-generator/templates/helpers/summary-helpers.ts +67 -0
  242. package/src/core/agent-generator/templates/stack/index.ts +705 -0
  243. package/src/core/agent-generator/templates/template-helpers.ts +12 -0
  244. package/src/core/agent-generator/types/agent.ts +65 -0
  245. package/src/core/agent-generator/types/domain.ts +63 -0
  246. package/src/core/agent-generator/types/stack.ts +38 -0
  247. package/src/core/agent-generator/types/template.ts +31 -0
  248. package/src/core/agent-runtime/ai-provider.ts +178 -0
  249. package/src/core/agent-runtime/executor.ts +148 -0
  250. package/src/core/agent-runtime/human-gate.ts +69 -0
  251. package/tests/agent-generator.test.ts +428 -0
  252. package/tests/agent-runtime.test.ts +125 -0
  253. package/tests/context-enricher.test.ts +972 -0
  254. package/tests/framework-detector.test.ts +1172 -0
  255. package/tests/stack-detector.test.ts +241 -0
  256. package/tests/template-generation.test.ts +709 -0
  257. package/tests/template-helpers.test.ts +1130 -0
  258. package/tsconfig.json +14 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/domain/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { TemplateContext, EnrichedTemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ export declare function getEnriched(ctx: TemplateContext): Partial<EnrichedTemplateContext>;
3
+ export declare function isEnriched(ctx: TemplateContext): ctx is EnrichedTemplateContext;
4
+ export declare function depthScale<T>(ctx: TemplateContext, options: {
5
+ small: T;
6
+ medium: T;
7
+ large: T;
8
+ enterprise: T;
9
+ }): T;
10
+ export declare function depthAtLeast(ctx: TemplateContext, minDepth: 'small' | 'medium' | 'large' | 'enterprise'): boolean;
@@ -0,0 +1,20 @@
1
+ export function getEnriched(ctx) {
2
+ if ('domain' in ctx)
3
+ return ctx;
4
+ return {};
5
+ }
6
+ export function isEnriched(ctx) {
7
+ return 'domain' in ctx;
8
+ }
9
+ export function depthScale(ctx, options) {
10
+ const enriched = getEnriched(ctx);
11
+ const depth = (enriched.projectDepth || 'medium');
12
+ return options[depth];
13
+ }
14
+ export function depthAtLeast(ctx, minDepth) {
15
+ const enriched = getEnriched(ctx);
16
+ const depth = enriched.projectDepth || 'medium';
17
+ const order = ['small', 'medium', 'large', 'enterprise'];
18
+ return order.indexOf(depth) >= order.indexOf(minDepth);
19
+ }
20
+ //# sourceMappingURL=base-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-helpers.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/helpers/base-helpers.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,WAAW,CAAC,GAAoB;IAC9C,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,GAA8B,CAAC;IAC3D,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAoB;IAC7C,OAAO,QAAQ,IAAI,GAAG,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,GAAoB,EACpB,OAKC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAgD,CAAC;IACjG,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAoB,EAAE,QAAqD;IACtG,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ export declare function crossRef(agentId: string, ctx: TemplateContext): string;
@@ -0,0 +1,77 @@
1
+ export function crossRef(agentId, ctx) {
2
+ const { stack } = ctx;
3
+ const agentRelations = {
4
+ 'backend': [
5
+ { id: 'database-engineer', name: 'Database Engineer', when: 'Criar/alterar entities, migrations, queries' },
6
+ { id: 'security-auditor', name: 'Security Auditor', when: 'Novo endpoint, auth flow, dados sensíveis' },
7
+ { id: 'qa-test', name: 'QA Test Engineer', when: 'Após implementação — plano de testes' },
8
+ { id: 'tech-debt', name: 'Tech Debt Controller', when: 'Antes de criar novo módulo — verificar débito' },
9
+ ],
10
+ 'frontend': [
11
+ { id: 'backend', name: 'Backend Developer', when: 'Antes de integrar — doc de integração obrigatória' },
12
+ { id: 'qa-test', name: 'QA Test Engineer', when: 'Após implementação — testes e2e' },
13
+ { id: 'security-auditor', name: 'Security Auditor', when: 'Forms, auth UI, dados sensíveis' },
14
+ ],
15
+ 'flutter': [
16
+ { id: 'backend', name: 'Backend Developer', when: 'Antes de integrar — doc de integração obrigatória' },
17
+ { id: 'qa-test', name: 'QA Test Engineer', when: 'Após implementação — testes de widget e integração' },
18
+ { id: 'security-auditor', name: 'Security Auditor', when: 'Armazenamento local, biometria, deep links' },
19
+ ],
20
+ 'database-engineer': [
21
+ { id: 'backend', name: 'Backend Developer', when: 'Após migration — atualizar entities e queries' },
22
+ { id: 'security-auditor', name: 'Security Auditor', when: 'Dados sensíveis, PII, encryption at rest' },
23
+ { id: 'tech-debt', name: 'Tech Debt Controller', when: 'Schema com N+1, índices faltantes' },
24
+ ],
25
+ 'security-auditor': [
26
+ { id: 'backend', name: 'Backend Developer', when: 'Falha de segurança em endpoint/service' },
27
+ { id: 'database-engineer', name: 'Database Engineer', when: 'Encryption at rest, data masking' },
28
+ { id: 'qa-test', name: 'QA Test Engineer', when: 'Testes de segurança (fuzzing, pentest)' },
29
+ ],
30
+ 'qa-test': [
31
+ { id: 'backend', name: 'Backend Developer', when: 'Cobertura insuficiente em services' },
32
+ { id: 'frontend', name: 'Frontend Developer', when: 'Testes e2e falhando, componentes sem testes' },
33
+ { id: 'tech-debt', name: 'Tech Debt Controller', when: 'Testes com .skip(), mocks frágeis' },
34
+ ],
35
+ 'tech-debt': [
36
+ { id: 'backend', name: 'Backend Developer', when: 'Refatoração de módulo, god class' },
37
+ { id: 'database-engineer', name: 'Database Engineer', when: 'N+1 queries, índices, schema refactoring' },
38
+ { id: 'security-auditor', name: 'Security Auditor', when: 'Débito de segurança (dependencies, configs)' },
39
+ ],
40
+ 'code-review': [
41
+ { id: 'security-auditor', name: 'Security Auditor', when: 'Review de endpoints, auth, dados sensíveis' },
42
+ { id: 'qa-test', name: 'QA Test Engineer', when: 'Verificar cobertura e qualidade dos testes' },
43
+ { id: 'tech-debt', name: 'Tech Debt Controller', when: 'Avaliar impacto em débito técnico' },
44
+ ],
45
+ 'orchestrator': [
46
+ { id: 'backend', name: 'Backend Developer', when: 'Features que tocam backend' },
47
+ { id: 'frontend', name: 'Frontend Developer', when: 'Features que tocam frontend' },
48
+ { id: 'flutter', name: 'Flutter UI Developer', when: 'Features que tocam app mobile' },
49
+ { id: 'database-engineer', name: 'Database Engineer', when: 'Features que tocam banco de dados' },
50
+ { id: 'security-auditor', name: 'Security Auditor', when: 'TODA feature — revisão obrigatória' },
51
+ { id: 'qa-test', name: 'QA Test Engineer', when: 'TODA feature — plano de testes obrigatório' },
52
+ { id: 'tech-debt', name: 'Tech Debt Controller', when: 'Antes de nova feature — checar débito' },
53
+ ],
54
+ };
55
+ const relations = agentRelations[agentId] || [];
56
+ const filtered = relations.filter(r => {
57
+ if (r.id === 'frontend' && !stack.hasFrontend)
58
+ return false;
59
+ if (r.id === 'flutter' && !stack.hasMobile)
60
+ return false;
61
+ if (r.id === 'database-engineer' && !stack.hasDatabase)
62
+ return false;
63
+ return true;
64
+ });
65
+ if (filtered.length === 0)
66
+ return '';
67
+ return `
68
+ ## 🔗 Cross-References (Agentes Relacionados)
69
+
70
+ | Agente | Quando Consultar |
71
+ |--------|-----------------|
72
+ ${filtered.map(r => `| **${r.name}** | ${r.when} |`).join('\n')}
73
+
74
+ > **Regra:** Nunca implementar isoladamente. Sempre verificar se o agente relacionado precisa ser consultado.
75
+ `;
76
+ }
77
+ //# sourceMappingURL=cross-ref-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-ref-helpers.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/helpers/cross-ref-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ export declare function frameworkSecurityChecklist(ctx: TemplateContext): string;
@@ -0,0 +1,182 @@
1
+ import { getEnriched } from './base-helpers.js';
2
+ export function frameworkSecurityChecklist(ctx) {
3
+ const enriched = getEnriched(ctx);
4
+ const fw = enriched.primaryFramework?.name || '';
5
+ const lang = ctx.stack.primary;
6
+ if (fw === 'FastAPI') {
7
+ return `
8
+ ## Checklist Segurança — FastAPI
9
+
10
+ \`\`\`
11
+ □ Pydantic models para validação de TODOS os inputs
12
+ □ OAuth2PasswordBearer / OAuth2AuthorizationCodeBearer configurado
13
+ □ Depends() para injeção segura de autenticação
14
+ □ CORS via CORSMiddleware com origins whitelist (não usar "*")
15
+ □ Rate limiting via slowapi ou middleware customizado
16
+ □ Security headers via middleware (X-Content-Type-Options, etc.)
17
+ □ Senhas hasheadas com passlib (bcrypt/argon2)
18
+ □ JWT tokens com expiração curta + refresh token
19
+ □ HTTPS obrigatório em produção (redirect HTTP → HTTPS)
20
+ □ Logs estruturados SEM dados sensíveis (loguru/structlog)
21
+ □ SQLAlchemy com queries parametrizadas (nunca string concat)
22
+ □ Background tasks validadas contra injection
23
+ □ File uploads com validação de tipo e tamanho
24
+ □ Dependency scanning: pip-audit / safety
25
+ \`\`\``;
26
+ }
27
+ if (fw === 'Django' || fw === 'DRF') {
28
+ return `
29
+ ## Checklist Segurança — Django
30
+
31
+ \`\`\`
32
+ □ CSRF protection habilitado (CsrfViewMiddleware)
33
+ □ XSS protection via auto-escaping nos templates
34
+ □ SQL Injection prevenido via ORM (nunca raw SQL sem parametrize)
35
+ □ Clickjacking protection (X-Frame-Options)
36
+ □ SECURE_SSL_REDIRECT = True em produção
37
+ □ SESSION_COOKIE_SECURE = True
38
+ □ CSRF_COOKIE_SECURE = True
39
+ □ ALLOWED_HOSTS configurado corretamente
40
+ □ DEBUG = False em produção
41
+ □ SECRET_KEY rotacionado e não commitado
42
+ □ django-rest-framework permissions e throttling
43
+ □ django-cors-headers com whitelist
44
+ □ Senhas hasheadas com PBKDF2/Argon2 (PASSWORD_HASHERS)
45
+ □ Dependency scanning: pip-audit / safety
46
+ \`\`\``;
47
+ }
48
+ if (fw === 'Flask') {
49
+ return `
50
+ ## Checklist Segurança — Flask
51
+
52
+ \`\`\`
53
+ □ Flask-Talisman para security headers
54
+ □ Flask-CORS com origins whitelist
55
+ □ Flask-Limiter para rate limiting
56
+ □ Flask-Login / Flask-JWT-Extended para auth
57
+ □ CSRF via Flask-WTF
58
+ □ SECRET_KEY seguro e rotacionado
59
+ □ Session cookie seguro (httponly, secure, samesite)
60
+ □ SQLAlchemy com queries parametrizadas
61
+ □ Jinja2 auto-escaping habilitado
62
+ □ File uploads validados (tipo, tamanho, path traversal)
63
+ □ Dependency scanning: pip-audit / safety
64
+ \`\`\``;
65
+ }
66
+ if (fw === 'NestJS') {
67
+ return `
68
+ ## Checklist Segurança — NestJS
69
+
70
+ \`\`\`
71
+ □ Helmet habilitado (app.use(helmet()))
72
+ □ CORS com origins whitelist
73
+ □ Rate limiting via @nestjs/throttler
74
+ □ class-validator em TODOS os DTOs
75
+ □ Guards para autenticação/autorização
76
+ □ JWT via @nestjs/jwt com expiração curta
77
+ □ CSRF protection (se serve HTML)
78
+ □ TypeORM/Prisma com queries parametrizadas
79
+ □ Pipes de validação globais (ValidationPipe)
80
+ □ Exception filters customizados (sem stack traces em prod)
81
+ □ npm audit sem vulnerabilidades críticas
82
+ □ strict: true em tsconfig.json
83
+ \`\`\``;
84
+ }
85
+ if (fw === 'Express' || fw === 'Fastify') {
86
+ return `
87
+ ## Checklist Segurança — ${fw}
88
+
89
+ \`\`\`
90
+ □ Helmet.js habilitado
91
+ □ CORS configurado restritivamente
92
+ □ Rate limiting (express-rate-limit)
93
+ □ Input validation (joi / zod / express-validator)
94
+ □ JWT com expiração + refresh
95
+ □ CSRF protection (csurf)
96
+ □ Queries parametrizadas (nunca string interpolation)
97
+ □ Error handler que não vaza stack traces
98
+ □ npm audit sem vulnerabilidades críticas
99
+ □ HTTPS obrigatório
100
+ \`\`\``;
101
+ }
102
+ if (fw === 'Spring Boot') {
103
+ return `
104
+ ## Checklist Segurança — Spring Boot
105
+
106
+ \`\`\`
107
+ □ Spring Security configurado
108
+ □ CSRF habilitado para endpoints com estado
109
+ □ CORS via WebMvcConfigurer com whitelist
110
+ □ @Valid / @Validated em DTOs
111
+ □ BCrypt para senhas (PasswordEncoder)
112
+ □ JPA parametrizado (nunca JPQL com concat)
113
+ □ Actuator endpoints protegidos em produção
114
+ □ OAuth2/JWT via Spring Security OAuth
115
+ □ Content-Security-Policy configurado
116
+ □ Dependências: OWASP Dependency-Check
117
+ \`\`\``;
118
+ }
119
+ if (fw === 'Laravel') {
120
+ return `
121
+ ## Checklist Segurança — Laravel
122
+
123
+ \`\`\`
124
+ □ CSRF token em todos os forms (@csrf)
125
+ □ Eloquent parametrizado (nunca DB::raw sem bind)
126
+ □ Form Requests para validação
127
+ □ Sanctum/Passport para API auth
128
+ □ Gate/Policy para autorização
129
+ □ Encryption via Crypt facade
130
+ □ Rate limiting via RateLimiter
131
+ □ APP_DEBUG=false em produção
132
+ □ CORS via config/cors.php com whitelist
133
+ □ Composer audit sem vulnerabilidades
134
+ \`\`\``;
135
+ }
136
+ // Fallback by language
137
+ if (lang === 'Python') {
138
+ return `
139
+ ## Checklist Segurança — Python
140
+
141
+ \`\`\`
142
+ □ Inputs validados (pydantic / marshmallow / WTForms)
143
+ □ Queries parametrizadas (SQLAlchemy / Django ORM)
144
+ □ CORS configurado com whitelist
145
+ □ Rate limiting implementado
146
+ □ Security headers configurados
147
+ □ Senhas hasheadas com bcrypt/argon2
148
+ □ Sem pickle para dados untrusted
149
+ □ HTTPS obrigatório em produção
150
+ □ pip-audit / safety para vulnerabilidades
151
+ □ Logging sem dados sensíveis
152
+ \`\`\``;
153
+ }
154
+ if (lang === 'Go') {
155
+ return `
156
+ ## Checklist Segurança — Go
157
+
158
+ \`\`\`
159
+ □ Inputs validados via validator package
160
+ □ Prepared statements para SQL
161
+ □ TLS/mTLS para comunicação inter-serviços
162
+ □ CORS headers explícitos
163
+ □ Rate limiting implementado
164
+ □ Logging de ações críticas (sem PII)
165
+ □ go vet / staticcheck no CI
166
+ □ govulncheck para vulnerabilidades
167
+ \`\`\``;
168
+ }
169
+ return `
170
+ ## Checklist Segurança — ${lang}
171
+
172
+ \`\`\`
173
+ □ Inputs sanitizados e validados
174
+ □ Queries parametrizadas obrigatoriamente
175
+ □ CSRF tokens em formulários
176
+ □ Rate limiting em APIs
177
+ □ Secrets em variáveis de ambiente
178
+ □ HTTPS obrigatório em produção
179
+ □ Dependency scanning no CI
180
+ \`\`\``;
181
+ }
182
+ //# sourceMappingURL=security-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-helpers.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/helpers/security-helpers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,0BAA0B,CAAC,GAAoB;IAC7D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAE/B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;;;;;OAkBJ,CAAC;IACN,CAAC;IAED,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACpC,OAAO;;;;;;;;;;;;;;;;;;OAkBJ,CAAC;IACN,CAAC;IAED,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO;;;;;;;;;;;;;;;OAeJ,CAAC;IACN,CAAC;IAED,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO;;;;;;;;;;;;;;;;OAgBJ,CAAC;IACN,CAAC;IAED,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO;2BACgB,EAAE;;;;;;;;;;;;;OAatB,CAAC;IACN,CAAC;IAED,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;QACzB,OAAO;;;;;;;;;;;;;;OAcJ,CAAC;IACN,CAAC;IAED,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;OAcJ,CAAC;IACN,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;;;;;;;;;;;;;;OAcJ,CAAC;IACN,CAAC;IAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO;;;;;;;;;;;;OAYJ,CAAC;IACN,CAAC;IAED,OAAO;2BACkB,IAAI;;;;;;;;;;OAUxB,CAAC;AACR,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ export declare function frameworkBadge(ctx: TemplateContext): string;
3
+ export declare function projectStructureBadge(ctx: TemplateContext): string;
4
+ export declare function toolchainCommands(ctx: TemplateContext): string;
@@ -0,0 +1,69 @@
1
+ import { getEnriched } from './base-helpers.js';
2
+ export function frameworkBadge(ctx) {
3
+ const enriched = getEnriched(ctx);
4
+ if (!enriched.detectedFrameworks?.length)
5
+ return '';
6
+ const fws = enriched.detectedFrameworks
7
+ .filter((f) => f.category === 'web' || f.category === 'orm')
8
+ .map((f) => `**${f.name}**${f.version ? ` ${f.version}` : ''}`);
9
+ const testFws = enriched.detectedFrameworks
10
+ .filter((f) => f.category === 'test')
11
+ .map((f) => f.name);
12
+ const lintFws = enriched.detectedFrameworks
13
+ .filter((f) => f.category === 'lint')
14
+ .map((f) => f.name);
15
+ const parts = [];
16
+ if (fws.length)
17
+ parts.push(fws.join(' + '));
18
+ if (testFws.length)
19
+ parts.push(`Testes: ${testFws.join(', ')}`);
20
+ if (lintFws.length)
21
+ parts.push(`Lint: ${lintFws.join(', ')}`);
22
+ return `> 🚀 **Stack Detectada:** ${parts.join(' · ')}`;
23
+ }
24
+ export function projectStructureBadge(ctx) {
25
+ const enriched = getEnriched(ctx);
26
+ const structure = enriched.projectStructure || 'unknown';
27
+ const labels = {
28
+ 'clean-architecture': '🏛️ Clean Architecture / DDD',
29
+ 'mvc': '📐 MVC (Model-View-Controller)',
30
+ 'modular': '📦 Modular (Feature-based)',
31
+ 'flat': '📄 Flat Structure',
32
+ 'monorepo': '🏗️ Monorepo',
33
+ 'unknown': '❓ Estrutura não identificada',
34
+ };
35
+ return labels[structure] || labels['unknown'];
36
+ }
37
+ export function toolchainCommands(ctx) {
38
+ const enriched = getEnriched(ctx);
39
+ if (!enriched.toolchain)
40
+ return '';
41
+ const tc = enriched.toolchain;
42
+ return `
43
+ ## 🔧 Toolchain Detectado
44
+
45
+ \`\`\`bash
46
+ # Build
47
+ ${tc.buildCmd}
48
+
49
+ # Testes
50
+ ${tc.testCmd}
51
+
52
+ # Lint
53
+ ${tc.lintCmd}
54
+
55
+ # Coverage
56
+ ${tc.coverageCmd}
57
+
58
+ # Dev Server
59
+ ${tc.runCmd}
60
+
61
+ # Instalar dependências
62
+ ${tc.installCmd}
63
+ ${tc.migrateCmd ? `\n# Migrations\n${tc.migrateCmd}` : ''}
64
+ \`\`\`
65
+
66
+ > **Deps file:** \`${tc.depsFile}\`
67
+ `;
68
+ }
69
+ //# sourceMappingURL=stack-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-helpers.js","sourceRoot":"","sources":["../../../../../../src/core/agent-generator/templates/helpers/stack-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TemplateContext } from '@girardelli/architect-agents/src/core/agent-generator/types/template.js';
2
+ export declare function frameworkModuleStructure(ctx: TemplateContext): string;