@girardelli/architect 4.0.0 → 6.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/.agent/INDEX.md +197 -0
- package/.agent/agents/AGENT-ORCHESTRATOR.md +408 -0
- package/{__test_agent_output__ → .agent}/agents/QA-TEST-ENGINEER.md +31 -17
- package/{__test_agent_output__ → .agent}/agents/SECURITY-AUDITOR.md +9 -28
- package/.agent/agents/TECH-DEBT-CONTROLLER.md +154 -0
- package/.agent/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +484 -0
- package/{__test_agent_output__ → .agent}/guards/CODE-REVIEW-CHECKLIST.md +7 -8
- package/{__test_agent_output__ → .agent}/guards/PREFLIGHT.md +3 -3
- package/.agent/guards/QUALITY-GATES.md +212 -0
- package/.agent/hooks/post-analysis.sh +64 -0
- package/.agent/hooks/pre-commit.sh +68 -0
- package/.agent/hooks/pre-push.sh +59 -0
- package/{__test_agent_output__ → .agent}/rules/00-general.md +8 -8
- package/{__test_agent_output__ → .agent}/rules/01-architecture.md +18 -27
- package/{__test_agent_output__ → .agent}/rules/02-security.md +34 -48
- package/.agent/skills/ARCHITECT-INTEGRATION.md +103 -0
- package/.agent/skills/CI-PIPELINE.md +113 -0
- package/.agent/skills/PROJECT-PATTERNS.md +62 -0
- package/{__test_agent_output__ → .agent}/templates/ADR.md +3 -3
- package/{__test_agent_output__ → .agent}/templates/BDD.md +13 -14
- package/{__test_agent_output__ → .agent}/templates/C4.md +10 -11
- package/{__test_agent_output__ → .agent}/templates/TDD.md +4 -4
- package/{__test_agent_output__ → .agent}/templates/THREAT-MODEL.md +5 -24
- package/{__test_agent_output__ → .agent}/workflows/fix-bug.md +2 -2
- package/{__test_agent_output__ → .agent}/workflows/new-feature.md +3 -3
- package/{__test_agent_output__ → .agent}/workflows/review.md +2 -2
- package/.github/workflows/ci.yml +43 -0
- package/.github/workflows/publish.yml +40 -0
- package/README.md +6 -2
- package/architect-report--girardelli-architect.json +5332 -0
- package/architect-run.sh +6 -10
- package/debug.js +6 -0
- package/dist/adapters/cli.d.ts +14 -0
- package/dist/adapters/cli.d.ts.map +1 -0
- package/dist/{cli.js → adapters/cli.js} +11 -8
- package/dist/adapters/cli.js.map +1 -0
- package/dist/adapters/html-reporter/scripts.d.ts +6 -0
- package/dist/adapters/html-reporter/scripts.d.ts.map +1 -0
- package/dist/adapters/html-reporter/scripts.js +400 -0
- package/dist/adapters/html-reporter/scripts.js.map +1 -0
- package/dist/adapters/html-reporter/sections/agents.d.ts +3 -0
- package/dist/adapters/html-reporter/sections/agents.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/agents.js +259 -0
- package/dist/adapters/html-reporter/sections/agents.js.map +1 -0
- package/dist/adapters/html-reporter/sections/anti-patterns.d.ts +14 -0
- package/dist/adapters/html-reporter/sections/anti-patterns.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/anti-patterns.js +64 -0
- package/dist/adapters/html-reporter/sections/anti-patterns.js.map +1 -0
- package/dist/adapters/html-reporter/sections/header.d.ts +4 -0
- package/dist/adapters/html-reporter/sections/header.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/header.js +30 -0
- package/dist/adapters/html-reporter/sections/header.js.map +1 -0
- package/dist/adapters/html-reporter/sections/layers.d.ts +10 -0
- package/dist/adapters/html-reporter/sections/layers.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/layers.js +143 -0
- package/dist/adapters/html-reporter/sections/layers.js.map +1 -0
- package/dist/adapters/html-reporter/sections/overview.d.ts +3 -0
- package/dist/adapters/html-reporter/sections/overview.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/overview.js +58 -0
- package/dist/adapters/html-reporter/sections/overview.js.map +1 -0
- package/dist/adapters/html-reporter/sections/refactoring-plan.d.ts +4 -0
- package/dist/adapters/html-reporter/sections/refactoring-plan.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/refactoring-plan.js +151 -0
- package/dist/adapters/html-reporter/sections/refactoring-plan.js.map +1 -0
- package/dist/adapters/html-reporter/sections/score.d.ts +8 -0
- package/dist/adapters/html-reporter/sections/score.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/score.js +69 -0
- package/dist/adapters/html-reporter/sections/score.js.map +1 -0
- package/dist/adapters/html-reporter/sections/suggestions.d.ts +8 -0
- package/dist/adapters/html-reporter/sections/suggestions.d.ts.map +1 -0
- package/dist/adapters/html-reporter/sections/suggestions.js +34 -0
- package/dist/adapters/html-reporter/sections/suggestions.js.map +1 -0
- package/dist/adapters/html-reporter/styles.d.ts +2 -0
- package/dist/adapters/html-reporter/styles.d.ts.map +1 -0
- package/dist/adapters/html-reporter/styles.js +526 -0
- package/dist/adapters/html-reporter/styles.js.map +1 -0
- package/dist/adapters/html-reporter/utils.d.ts +27 -0
- package/dist/adapters/html-reporter/utils.d.ts.map +1 -0
- package/dist/adapters/html-reporter/utils.js +82 -0
- package/dist/adapters/html-reporter/utils.js.map +1 -0
- package/dist/adapters/html-reporter/utils_adapters.d.ts +21 -0
- package/dist/adapters/html-reporter/utils_adapters.d.ts.map +1 -0
- package/dist/adapters/html-reporter/utils_adapters.js +32 -0
- package/dist/adapters/html-reporter/utils_adapters.js.map +1 -0
- package/dist/adapters/html-reporter/utils_sections.d.ts +8 -0
- package/dist/adapters/html-reporter/utils_sections.d.ts.map +1 -0
- package/dist/adapters/html-reporter/utils_sections.js +58 -0
- package/dist/adapters/html-reporter/utils_sections.js.map +1 -0
- package/dist/adapters/html-reporter.d.ts +9 -0
- package/dist/adapters/html-reporter.d.ts.map +1 -0
- package/dist/adapters/html-reporter.js +87 -0
- package/dist/adapters/html-reporter.js.map +1 -0
- package/dist/adapters/html-reporter_deps.d.ts +15 -0
- package/dist/adapters/html-reporter_deps.d.ts.map +1 -0
- package/dist/adapters/html-reporter_deps.js +12 -0
- package/dist/adapters/html-reporter_deps.js.map +1 -0
- package/dist/adapters/refactor-reporter.d.ts +20 -0
- package/dist/adapters/refactor-reporter.d.ts.map +1 -0
- package/dist/adapters/refactor-reporter.js +389 -0
- package/dist/adapters/refactor-reporter.js.map +1 -0
- package/dist/adapters/reporter.d.ts +13 -0
- package/dist/adapters/reporter.d.ts.map +1 -0
- package/dist/adapters/reporter.js +135 -0
- package/dist/adapters/reporter.js.map +1 -0
- package/dist/agent-generator/context-enricher.d.ts +4 -47
- package/dist/agent-generator/context-enricher.d.ts.map +1 -1
- package/dist/agent-generator/context-enricher.js +19 -547
- package/dist/agent-generator/context-enricher.js.map +1 -1
- package/dist/agent-generator/detectors/base-detector.d.ts +9 -0
- package/dist/agent-generator/detectors/base-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/base-detector.js +12 -0
- package/dist/agent-generator/detectors/base-detector.js.map +1 -0
- package/dist/agent-generator/detectors/dart-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/dart-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/dart-detector.js +15 -0
- package/dist/agent-generator/detectors/dart-detector.js.map +1 -0
- package/dist/agent-generator/detectors/framework-registry.d.ts +6 -0
- package/dist/agent-generator/detectors/framework-registry.d.ts.map +1 -0
- package/dist/agent-generator/detectors/framework-registry.js +81 -0
- package/dist/agent-generator/detectors/framework-registry.js.map +1 -0
- package/dist/agent-generator/detectors/go-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/go-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/go-detector.js +25 -0
- package/dist/agent-generator/detectors/go-detector.js.map +1 -0
- package/dist/agent-generator/detectors/java-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/java-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/java-detector.js +44 -0
- package/dist/agent-generator/detectors/java-detector.js.map +1 -0
- package/dist/agent-generator/detectors/node-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/node-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/node-detector.js +28 -0
- package/dist/agent-generator/detectors/node-detector.js.map +1 -0
- package/dist/agent-generator/detectors/php-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/php-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/php-detector.js +28 -0
- package/dist/agent-generator/detectors/php-detector.js.map +1 -0
- package/dist/agent-generator/detectors/python-detector.d.ts +8 -0
- package/dist/agent-generator/detectors/python-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/python-detector.js +116 -0
- package/dist/agent-generator/detectors/python-detector.js.map +1 -0
- package/dist/agent-generator/detectors/ruby-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/ruby-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/ruby-detector.js +22 -0
- package/dist/agent-generator/detectors/ruby-detector.js.map +1 -0
- package/dist/agent-generator/detectors/rust-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/rust-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/rust-detector.js +18 -0
- package/dist/agent-generator/detectors/rust-detector.js.map +1 -0
- package/dist/agent-generator/detectors/structure-detector.d.ts +5 -0
- package/dist/agent-generator/detectors/structure-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/structure-detector.js +35 -0
- package/dist/agent-generator/detectors/structure-detector.js.map +1 -0
- package/dist/agent-generator/detectors/toolchain-detector.d.ts +6 -0
- package/dist/agent-generator/detectors/toolchain-detector.d.ts.map +1 -0
- package/dist/agent-generator/detectors/toolchain-detector.js +163 -0
- package/dist/agent-generator/detectors/toolchain-detector.js.map +1 -0
- package/dist/agent-generator/domain-inferrer.d.ts.map +1 -1
- package/dist/agent-generator/domain-inferrer.js +10 -0
- package/dist/agent-generator/domain-inferrer.js.map +1 -1
- package/dist/agent-generator/engines/audit-engine.d.ts +7 -0
- package/dist/agent-generator/engines/audit-engine.d.ts.map +1 -0
- package/dist/agent-generator/engines/audit-engine.js +84 -0
- package/dist/agent-generator/engines/audit-engine.js.map +1 -0
- package/dist/agent-generator/engines/context-builder.d.ts +11 -0
- package/dist/agent-generator/engines/context-builder.d.ts.map +1 -0
- package/dist/agent-generator/engines/context-builder.js +86 -0
- package/dist/agent-generator/engines/context-builder.js.map +1 -0
- package/dist/agent-generator/engines/generation-engine.d.ts +9 -0
- package/dist/agent-generator/engines/generation-engine.d.ts.map +1 -0
- package/dist/agent-generator/engines/generation-engine.js +177 -0
- package/dist/agent-generator/engines/generation-engine.js.map +1 -0
- package/dist/agent-generator/engines/suggestion-engine.d.ts +15 -0
- package/dist/agent-generator/engines/suggestion-engine.d.ts.map +1 -0
- package/dist/agent-generator/engines/suggestion-engine.js +176 -0
- package/dist/agent-generator/engines/suggestion-engine.js.map +1 -0
- package/dist/agent-generator/enrichers/analysis-helpers.d.ts +9 -0
- package/dist/agent-generator/enrichers/analysis-helpers.d.ts.map +1 -0
- package/dist/agent-generator/enrichers/analysis-helpers.js +51 -0
- package/dist/agent-generator/enrichers/analysis-helpers.js.map +1 -0
- package/dist/agent-generator/enrichers/description-generator.d.ts +5 -0
- package/dist/agent-generator/enrichers/description-generator.d.ts.map +1 -0
- package/dist/agent-generator/enrichers/description-generator.js +81 -0
- package/dist/agent-generator/enrichers/description-generator.js.map +1 -0
- package/dist/agent-generator/enrichers/endpoint-extractor.d.ts +8 -0
- package/dist/agent-generator/enrichers/endpoint-extractor.d.ts.map +1 -0
- package/dist/agent-generator/enrichers/endpoint-extractor.js +91 -0
- package/dist/agent-generator/enrichers/endpoint-extractor.js.map +1 -0
- package/dist/agent-generator/enrichers/layer-classifier.d.ts +13 -0
- package/dist/agent-generator/enrichers/layer-classifier.d.ts.map +1 -0
- package/dist/agent-generator/enrichers/layer-classifier.js +150 -0
- package/dist/agent-generator/enrichers/layer-classifier.js.map +1 -0
- package/dist/agent-generator/enrichers/module-extractor.d.ts +11 -0
- package/dist/agent-generator/enrichers/module-extractor.d.ts.map +1 -0
- package/dist/agent-generator/enrichers/module-extractor.js +174 -0
- package/dist/agent-generator/enrichers/module-extractor.js.map +1 -0
- package/dist/agent-generator/framework-detector.d.ts +4 -26
- package/dist/agent-generator/framework-detector.d.ts.map +1 -1
- package/dist/agent-generator/framework-detector.js +31 -584
- package/dist/agent-generator/framework-detector.js.map +1 -1
- package/dist/agent-generator/index.d.ts +8 -19
- package/dist/agent-generator/index.d.ts.map +1 -1
- package/dist/agent-generator/index.js +19 -457
- package/dist/agent-generator/index.js.map +1 -1
- package/dist/agent-generator/stack-detector.d.ts +3 -1
- package/dist/agent-generator/stack-detector.d.ts.map +1 -1
- package/dist/agent-generator/stack-detector.js +29 -33
- package/dist/agent-generator/stack-detector.js.map +1 -1
- package/dist/agent-generator/templates/core/agents.d.ts.map +1 -1
- package/dist/agent-generator/templates/core/agents.js +5 -1
- package/dist/agent-generator/templates/core/agents.js.map +1 -1
- package/dist/agent-generator/templates/core/hooks-generator.d.ts +21 -0
- package/dist/agent-generator/templates/core/hooks-generator.d.ts.map +1 -0
- package/dist/agent-generator/templates/core/hooks-generator.js +233 -0
- package/dist/agent-generator/templates/core/hooks-generator.js.map +1 -0
- package/dist/agent-generator/templates/core/skills-generator.d.ts +13 -0
- package/dist/agent-generator/templates/core/skills-generator.d.ts.map +1 -1
- package/dist/agent-generator/templates/core/skills-generator.js +339 -0
- package/dist/agent-generator/templates/core/skills-generator.js.map +1 -1
- package/dist/agent-generator/templates/helpers/base-helpers.d.ts +11 -0
- package/dist/agent-generator/templates/helpers/base-helpers.d.ts.map +1 -0
- package/dist/agent-generator/templates/helpers/base-helpers.js +20 -0
- package/dist/agent-generator/templates/helpers/base-helpers.js.map +1 -0
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.d.ts +3 -0
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.d.ts.map +1 -0
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.js +77 -0
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.js.map +1 -0
- package/dist/agent-generator/templates/helpers/security-helpers.d.ts +3 -0
- package/dist/agent-generator/templates/helpers/security-helpers.d.ts.map +1 -0
- package/dist/agent-generator/templates/helpers/security-helpers.js +182 -0
- package/dist/agent-generator/templates/helpers/security-helpers.js.map +1 -0
- package/dist/agent-generator/templates/helpers/stack-helpers.d.ts +5 -0
- package/dist/agent-generator/templates/helpers/stack-helpers.d.ts.map +1 -0
- package/dist/agent-generator/templates/helpers/stack-helpers.js +69 -0
- package/dist/agent-generator/templates/helpers/stack-helpers.js.map +1 -0
- package/dist/agent-generator/templates/helpers/structure-helpers.d.ts +3 -0
- package/dist/agent-generator/templates/helpers/structure-helpers.d.ts.map +1 -0
- package/dist/agent-generator/templates/helpers/structure-helpers.js +275 -0
- package/dist/agent-generator/templates/helpers/structure-helpers.js.map +1 -0
- package/dist/agent-generator/templates/helpers/summary-helpers.d.ts +7 -0
- package/dist/agent-generator/templates/helpers/summary-helpers.d.ts.map +1 -0
- package/dist/agent-generator/templates/helpers/summary-helpers.js +56 -0
- package/dist/agent-generator/templates/helpers/summary-helpers.js.map +1 -0
- package/dist/agent-generator/templates/template-helpers.d.ts +9 -72
- package/dist/agent-generator/templates/template-helpers.d.ts.map +1 -1
- package/dist/agent-generator/templates/template-helpers.js +9 -723
- package/dist/agent-generator/templates/template-helpers.js.map +1 -1
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +11 -1
- package/dist/analyzer.js.map +1 -1
- package/dist/analyzers/git-history.d.ts +1 -1
- package/dist/analyzers/git-history.d.ts.map +1 -1
- package/dist/analyzers/git-history.js +16 -10
- package/dist/analyzers/git-history.js.map +1 -1
- package/dist/anti-patterns.d.ts +7 -0
- package/dist/anti-patterns.d.ts.map +1 -1
- package/dist/anti-patterns.js +25 -6
- package/dist/anti-patterns.js.map +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +48 -11
- package/dist/config.js.map +1 -1
- package/dist/core/agent-generator/context-enricher.d.ts +18 -0
- package/dist/core/agent-generator/context-enricher.d.ts.map +1 -0
- package/dist/core/agent-generator/context-enricher.js +53 -0
- package/dist/core/agent-generator/context-enricher.js.map +1 -0
- package/dist/core/agent-generator/detectors/base-detector.d.ts +9 -0
- package/dist/core/agent-generator/detectors/base-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/base-detector.js +12 -0
- package/dist/core/agent-generator/detectors/base-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/dart-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/dart-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/dart-detector.js +15 -0
- package/dist/core/agent-generator/detectors/dart-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/framework-registry.d.ts +6 -0
- package/dist/core/agent-generator/detectors/framework-registry.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/framework-registry.js +81 -0
- package/dist/core/agent-generator/detectors/framework-registry.js.map +1 -0
- package/dist/core/agent-generator/detectors/go-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/go-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/go-detector.js +25 -0
- package/dist/core/agent-generator/detectors/go-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/java-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/java-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/java-detector.js +44 -0
- package/dist/core/agent-generator/detectors/java-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/node-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/node-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/node-detector.js +28 -0
- package/dist/core/agent-generator/detectors/node-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/php-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/php-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/php-detector.js +28 -0
- package/dist/core/agent-generator/detectors/php-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/python-detector.d.ts +8 -0
- package/dist/core/agent-generator/detectors/python-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/python-detector.js +116 -0
- package/dist/core/agent-generator/detectors/python-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/ruby-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/ruby-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/ruby-detector.js +22 -0
- package/dist/core/agent-generator/detectors/ruby-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/rust-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/rust-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/rust-detector.js +18 -0
- package/dist/core/agent-generator/detectors/rust-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/structure-detector.d.ts +5 -0
- package/dist/core/agent-generator/detectors/structure-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/structure-detector.js +35 -0
- package/dist/core/agent-generator/detectors/structure-detector.js.map +1 -0
- package/dist/core/agent-generator/detectors/toolchain-detector.d.ts +6 -0
- package/dist/core/agent-generator/detectors/toolchain-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/detectors/toolchain-detector.js +163 -0
- package/dist/core/agent-generator/detectors/toolchain-detector.js.map +1 -0
- package/dist/core/agent-generator/domain-inferrer.d.ts +52 -0
- package/dist/core/agent-generator/domain-inferrer.d.ts.map +1 -0
- package/dist/core/agent-generator/domain-inferrer.js +585 -0
- package/dist/core/agent-generator/domain-inferrer.js.map +1 -0
- package/dist/core/agent-generator/engines/audit-engine.d.ts +9 -0
- package/dist/core/agent-generator/engines/audit-engine.d.ts.map +1 -0
- package/dist/core/agent-generator/engines/audit-engine.js +84 -0
- package/dist/core/agent-generator/engines/audit-engine.js.map +1 -0
- package/dist/core/agent-generator/engines/context-builder.d.ts +13 -0
- package/dist/core/agent-generator/engines/context-builder.d.ts.map +1 -0
- package/dist/core/agent-generator/engines/context-builder.js +86 -0
- package/dist/core/agent-generator/engines/context-builder.js.map +1 -0
- package/dist/core/agent-generator/engines/generation-engine.d.ts +8 -0
- package/dist/core/agent-generator/engines/generation-engine.d.ts.map +1 -0
- package/dist/core/agent-generator/engines/generation-engine.js +162 -0
- package/dist/core/agent-generator/engines/generation-engine.js.map +1 -0
- package/dist/core/agent-generator/engines/generation-engine_deps.d.ts +22 -0
- package/dist/core/agent-generator/engines/generation-engine_deps.d.ts.map +1 -0
- package/dist/core/agent-generator/engines/generation-engine_deps.js +17 -0
- package/dist/core/agent-generator/engines/generation-engine_deps.js.map +1 -0
- package/dist/core/agent-generator/engines/suggestion-engine.d.ts +14 -0
- package/dist/core/agent-generator/engines/suggestion-engine.d.ts.map +1 -0
- package/dist/core/agent-generator/engines/suggestion-engine.js +173 -0
- package/dist/core/agent-generator/engines/suggestion-engine.js.map +1 -0
- package/dist/core/agent-generator/engines/suggestion-engine_deps.d.ts +9 -0
- package/dist/core/agent-generator/engines/suggestion-engine_deps.d.ts.map +1 -0
- package/dist/core/agent-generator/engines/suggestion-engine_deps.js +5 -0
- package/dist/core/agent-generator/engines/suggestion-engine_deps.js.map +1 -0
- package/dist/core/agent-generator/enrichers/analysis-helpers.d.ts +10 -0
- package/dist/core/agent-generator/enrichers/analysis-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/enrichers/analysis-helpers.js +51 -0
- package/dist/core/agent-generator/enrichers/analysis-helpers.js.map +1 -0
- package/dist/core/agent-generator/enrichers/description-generator.d.ts +5 -0
- package/dist/core/agent-generator/enrichers/description-generator.d.ts.map +1 -0
- package/dist/core/agent-generator/enrichers/description-generator.js +81 -0
- package/dist/core/agent-generator/enrichers/description-generator.js.map +1 -0
- package/dist/core/agent-generator/enrichers/endpoint-extractor.d.ts +8 -0
- package/dist/core/agent-generator/enrichers/endpoint-extractor.d.ts.map +1 -0
- package/dist/core/agent-generator/enrichers/endpoint-extractor.js +91 -0
- package/dist/core/agent-generator/enrichers/endpoint-extractor.js.map +1 -0
- package/dist/core/agent-generator/enrichers/layer-classifier.d.ts +13 -0
- package/dist/core/agent-generator/enrichers/layer-classifier.d.ts.map +1 -0
- package/dist/core/agent-generator/enrichers/layer-classifier.js +150 -0
- package/dist/core/agent-generator/enrichers/layer-classifier.js.map +1 -0
- package/dist/core/agent-generator/enrichers/module-extractor.d.ts +11 -0
- package/dist/core/agent-generator/enrichers/module-extractor.d.ts.map +1 -0
- package/dist/core/agent-generator/enrichers/module-extractor.js +174 -0
- package/dist/core/agent-generator/enrichers/module-extractor.js.map +1 -0
- package/dist/core/agent-generator/framework-detector.d.ts +18 -0
- package/dist/core/agent-generator/framework-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/framework-detector.js +58 -0
- package/dist/core/agent-generator/framework-detector.js.map +1 -0
- package/dist/core/agent-generator/index.d.ts +26 -0
- package/dist/core/agent-generator/index.d.ts.map +1 -0
- package/dist/core/agent-generator/index.js +39 -0
- package/dist/core/agent-generator/index.js.map +1 -0
- package/dist/core/agent-generator/stack-detector.d.ts +14 -0
- package/dist/core/agent-generator/stack-detector.d.ts.map +1 -0
- package/dist/core/agent-generator/stack-detector.js +124 -0
- package/dist/core/agent-generator/stack-detector.js.map +1 -0
- package/dist/core/agent-generator/templates/core/agents.d.ts +17 -0
- package/dist/core/agent-generator/templates/core/agents.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/agents.js +1256 -0
- package/dist/core/agent-generator/templates/core/agents.js.map +1 -0
- package/dist/core/agent-generator/templates/core/architecture-rules.d.ts +7 -0
- package/dist/core/agent-generator/templates/core/architecture-rules.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/architecture-rules.js +274 -0
- package/dist/core/agent-generator/templates/core/architecture-rules.js.map +1 -0
- package/dist/core/agent-generator/templates/core/general-rules.d.ts +8 -0
- package/dist/core/agent-generator/templates/core/general-rules.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/general-rules.js +301 -0
- package/dist/core/agent-generator/templates/core/general-rules.js.map +1 -0
- package/dist/core/agent-generator/templates/core/hooks-generator.d.ts +21 -0
- package/dist/core/agent-generator/templates/core/hooks-generator.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/hooks-generator.js +233 -0
- package/dist/core/agent-generator/templates/core/hooks-generator.js.map +1 -0
- package/dist/core/agent-generator/templates/core/index-md.d.ts +7 -0
- package/dist/core/agent-generator/templates/core/index-md.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/index-md.js +246 -0
- package/dist/core/agent-generator/templates/core/index-md.js.map +1 -0
- package/dist/core/agent-generator/templates/core/orchestrator.d.ts +8 -0
- package/dist/core/agent-generator/templates/core/orchestrator.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/orchestrator.js +422 -0
- package/dist/core/agent-generator/templates/core/orchestrator.js.map +1 -0
- package/dist/core/agent-generator/templates/core/preflight.d.ts +8 -0
- package/dist/core/agent-generator/templates/core/preflight.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/preflight.js +213 -0
- package/dist/core/agent-generator/templates/core/preflight.js.map +1 -0
- package/dist/core/agent-generator/templates/core/quality-gates.d.ts +11 -0
- package/dist/core/agent-generator/templates/core/quality-gates.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/quality-gates.js +254 -0
- package/dist/core/agent-generator/templates/core/quality-gates.js.map +1 -0
- package/dist/core/agent-generator/templates/core/security-rules.d.ts +7 -0
- package/dist/core/agent-generator/templates/core/security-rules.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/security-rules.js +528 -0
- package/dist/core/agent-generator/templates/core/security-rules.js.map +1 -0
- package/dist/core/agent-generator/templates/core/skills-generator.d.ts +19 -0
- package/dist/core/agent-generator/templates/core/skills-generator.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/skills-generator.js +546 -0
- package/dist/core/agent-generator/templates/core/skills-generator.js.map +1 -0
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.d.ts +7 -0
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.js +237 -0
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.js.map +1 -0
- package/dist/core/agent-generator/templates/core/workflow-new-feature.d.ts +8 -0
- package/dist/core/agent-generator/templates/core/workflow-new-feature.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/workflow-new-feature.js +321 -0
- package/dist/core/agent-generator/templates/core/workflow-new-feature.js.map +1 -0
- package/dist/core/agent-generator/templates/core/workflow-review.d.ts +7 -0
- package/dist/core/agent-generator/templates/core/workflow-review.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/core/workflow-review.js +104 -0
- package/dist/core/agent-generator/templates/core/workflow-review.js.map +1 -0
- package/dist/core/agent-generator/templates/domain/index.d.ts +22 -0
- package/dist/core/agent-generator/templates/domain/index.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/domain/index.js +1176 -0
- package/dist/core/agent-generator/templates/domain/index.js.map +1 -0
- package/dist/core/agent-generator/templates/helpers/base-helpers.d.ts +11 -0
- package/dist/core/agent-generator/templates/helpers/base-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/helpers/base-helpers.js +20 -0
- package/dist/core/agent-generator/templates/helpers/base-helpers.js.map +1 -0
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts +3 -0
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.js +77 -0
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.js.map +1 -0
- package/dist/core/agent-generator/templates/helpers/security-helpers.d.ts +3 -0
- package/dist/core/agent-generator/templates/helpers/security-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/helpers/security-helpers.js +182 -0
- package/dist/core/agent-generator/templates/helpers/security-helpers.js.map +1 -0
- package/dist/core/agent-generator/templates/helpers/stack-helpers.d.ts +5 -0
- package/dist/core/agent-generator/templates/helpers/stack-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/helpers/stack-helpers.js +69 -0
- package/dist/core/agent-generator/templates/helpers/stack-helpers.js.map +1 -0
- package/dist/core/agent-generator/templates/helpers/structure-helpers.d.ts +3 -0
- package/dist/core/agent-generator/templates/helpers/structure-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/helpers/structure-helpers.js +275 -0
- package/dist/core/agent-generator/templates/helpers/structure-helpers.js.map +1 -0
- package/dist/core/agent-generator/templates/helpers/summary-helpers.d.ts +7 -0
- package/dist/core/agent-generator/templates/helpers/summary-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/helpers/summary-helpers.js +56 -0
- package/dist/core/agent-generator/templates/helpers/summary-helpers.js.map +1 -0
- package/dist/core/agent-generator/templates/stack/index.d.ts +8 -0
- package/dist/core/agent-generator/templates/stack/index.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/stack/index.js +695 -0
- package/dist/core/agent-generator/templates/stack/index.js.map +1 -0
- package/dist/core/agent-generator/templates/template-helpers.d.ts +12 -0
- package/dist/core/agent-generator/templates/template-helpers.d.ts.map +1 -0
- package/dist/core/agent-generator/templates/template-helpers.js +12 -0
- package/dist/core/agent-generator/templates/template-helpers.js.map +1 -0
- package/dist/core/agent-generator/types/agent.d.ts +40 -0
- package/dist/core/agent-generator/types/agent.d.ts.map +1 -0
- package/dist/core/agent-generator/types/agent.js +27 -0
- package/dist/core/agent-generator/types/agent.js.map +1 -0
- package/dist/core/agent-generator/types/domain.d.ts +59 -0
- package/dist/core/agent-generator/types/domain.d.ts.map +1 -0
- package/dist/core/agent-generator/types/domain.js +2 -0
- package/dist/core/agent-generator/types/domain.js.map +1 -0
- package/dist/core/agent-generator/types/stack.d.ts +37 -0
- package/dist/core/agent-generator/types/stack.d.ts.map +1 -0
- package/dist/core/agent-generator/types/stack.js +2 -0
- package/dist/core/agent-generator/types/stack.js.map +1 -0
- package/dist/core/agent-generator/types/template.d.ts +30 -0
- package/dist/core/agent-generator/types/template.d.ts.map +1 -0
- package/dist/core/agent-generator/types/template.js +2 -0
- package/dist/core/agent-generator/types/template.js.map +1 -0
- package/dist/core/agent-generator/types.d.ts +197 -0
- package/dist/core/agent-generator/types.d.ts.map +1 -0
- package/dist/core/agent-generator/types.js +27 -0
- package/dist/core/agent-generator/types.js.map +1 -0
- package/dist/core/analyzer.d.ts +39 -0
- package/dist/core/analyzer.d.ts.map +1 -0
- package/dist/core/analyzer.js +383 -0
- package/dist/core/analyzer.js.map +1 -0
- package/dist/core/analyzers/forecast.d.ts +85 -0
- package/dist/core/analyzers/forecast.d.ts.map +1 -0
- package/dist/core/analyzers/forecast.js +337 -0
- package/dist/core/analyzers/forecast.js.map +1 -0
- package/dist/core/analyzers/index.d.ts +10 -0
- package/dist/core/analyzers/index.d.ts.map +1 -0
- package/dist/core/analyzers/index.js +7 -0
- package/dist/core/analyzers/index.js.map +1 -0
- package/dist/core/analyzers/temporal-scorer.d.ts +72 -0
- package/dist/core/analyzers/temporal-scorer.d.ts.map +1 -0
- package/dist/core/analyzers/temporal-scorer.js +140 -0
- package/dist/core/analyzers/temporal-scorer.js.map +1 -0
- package/dist/core/anti-patterns.d.ts +25 -0
- package/dist/core/anti-patterns.d.ts.map +1 -0
- package/dist/core/anti-patterns.js +239 -0
- package/dist/core/anti-patterns.js.map +1 -0
- package/dist/core/architect.d.ts +70 -0
- package/dist/core/architect.d.ts.map +1 -0
- package/dist/core/architect.js +273 -0
- package/dist/core/architect.js.map +1 -0
- package/dist/core/architect_deps.d.ts +14 -0
- package/dist/core/architect_deps.d.ts.map +1 -0
- package/dist/core/architect_deps.js +12 -0
- package/dist/core/architect_deps.js.map +1 -0
- package/dist/core/config.d.ts +12 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +110 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/diagram.d.ts +10 -0
- package/dist/core/diagram.d.ts.map +1 -0
- package/dist/core/diagram.js +101 -0
- package/dist/core/diagram.js.map +1 -0
- package/dist/core/project-summarizer.d.ts +17 -0
- package/dist/core/project-summarizer.d.ts.map +1 -0
- package/dist/core/project-summarizer.js +39 -0
- package/dist/core/project-summarizer.js.map +1 -0
- package/dist/core/refactor-engine.d.ts +19 -0
- package/dist/core/refactor-engine.d.ts.map +1 -0
- package/dist/core/refactor-engine.js +86 -0
- package/dist/core/refactor-engine.js.map +1 -0
- package/dist/core/rules/barrel-optimizer.d.ts +14 -0
- package/dist/core/rules/barrel-optimizer.d.ts.map +1 -0
- package/dist/core/rules/barrel-optimizer.js +78 -0
- package/dist/core/rules/barrel-optimizer.js.map +1 -0
- package/dist/core/rules/dead-code-detector.d.ts +22 -0
- package/dist/core/rules/dead-code-detector.d.ts.map +1 -0
- package/dist/core/rules/dead-code-detector.js +118 -0
- package/dist/core/rules/dead-code-detector.js.map +1 -0
- package/dist/core/rules/hub-splitter.d.ts +14 -0
- package/dist/core/rules/hub-splitter.d.ts.map +1 -0
- package/dist/core/rules/hub-splitter.js +119 -0
- package/dist/core/rules/hub-splitter.js.map +1 -0
- package/dist/core/rules/import-organizer.d.ts +14 -0
- package/dist/core/rules/import-organizer.d.ts.map +1 -0
- package/dist/core/rules/import-organizer.js +86 -0
- package/dist/core/rules/import-organizer.js.map +1 -0
- package/dist/core/rules/module-grouper.d.ts +14 -0
- package/dist/core/rules/module-grouper.d.ts.map +1 -0
- package/dist/core/rules/module-grouper.js +118 -0
- package/dist/core/rules/module-grouper.js.map +1 -0
- package/dist/core/scorer.d.ts +27 -0
- package/dist/core/scorer.d.ts.map +1 -0
- package/dist/core/scorer.js +229 -0
- package/dist/core/scorer.js.map +1 -0
- package/dist/core/summarizer/keyword-extractor.d.ts +7 -0
- package/dist/core/summarizer/keyword-extractor.d.ts.map +1 -0
- package/dist/core/summarizer/keyword-extractor.js +37 -0
- package/dist/core/summarizer/keyword-extractor.js.map +1 -0
- package/dist/core/summarizer/module-inferrer.d.ts +12 -0
- package/dist/core/summarizer/module-inferrer.d.ts.map +1 -0
- package/dist/core/summarizer/module-inferrer.js +171 -0
- package/dist/core/summarizer/module-inferrer.js.map +1 -0
- package/dist/core/summarizer/package-reader.d.ts +4 -0
- package/dist/core/summarizer/package-reader.d.ts.map +1 -0
- package/dist/core/summarizer/package-reader.js +30 -0
- package/dist/core/summarizer/package-reader.js.map +1 -0
- package/dist/core/summarizer/purpose-inferrer.d.ts +9 -0
- package/dist/core/summarizer/purpose-inferrer.d.ts.map +1 -0
- package/dist/core/summarizer/purpose-inferrer.js +178 -0
- package/dist/core/summarizer/purpose-inferrer.js.map +1 -0
- package/dist/core/summarizer/readme-reader.d.ts +4 -0
- package/dist/core/summarizer/readme-reader.d.ts.map +1 -0
- package/dist/core/summarizer/readme-reader.js +21 -0
- package/dist/core/summarizer/readme-reader.js.map +1 -0
- package/dist/core/types/core.d.ts +87 -0
- package/dist/core/types/core.d.ts.map +1 -0
- package/dist/core/types/core.js +2 -0
- package/dist/core/types/core.js.map +1 -0
- package/dist/core/types/infrastructure.d.ts +39 -0
- package/dist/core/types/infrastructure.d.ts.map +1 -0
- package/dist/core/types/infrastructure.js +2 -0
- package/dist/core/types/infrastructure.js.map +1 -0
- package/dist/core/types/rules.d.ts +54 -0
- package/dist/core/types/rules.d.ts.map +1 -0
- package/dist/core/types/rules.js +2 -0
- package/dist/core/types/rules.js.map +1 -0
- package/dist/core/types/summarizer.d.ts +13 -0
- package/dist/core/types/summarizer.d.ts.map +1 -0
- package/dist/core/types/summarizer.js +2 -0
- package/dist/core/types/summarizer.js.map +1 -0
- package/dist/core/types.d.ts +187 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/diagram.d.ts +1 -0
- package/dist/diagram.d.ts.map +1 -1
- package/dist/diagram.js +24 -39
- package/dist/diagram.js.map +1 -1
- package/dist/html-reporter/scripts.d.ts +6 -0
- package/dist/html-reporter/scripts.d.ts.map +1 -0
- package/dist/html-reporter/scripts.js +316 -0
- package/dist/html-reporter/scripts.js.map +1 -0
- package/dist/html-reporter/sections/agents.d.ts +3 -0
- package/dist/html-reporter/sections/agents.d.ts.map +1 -0
- package/dist/html-reporter/sections/agents.js +259 -0
- package/dist/html-reporter/sections/agents.js.map +1 -0
- package/dist/html-reporter/sections/anti-patterns.d.ts +14 -0
- package/dist/html-reporter/sections/anti-patterns.d.ts.map +1 -0
- package/dist/html-reporter/sections/anti-patterns.js +64 -0
- package/dist/html-reporter/sections/anti-patterns.js.map +1 -0
- package/dist/html-reporter/sections/header.d.ts +4 -0
- package/dist/html-reporter/sections/header.d.ts.map +1 -0
- package/dist/html-reporter/sections/header.js +30 -0
- package/dist/html-reporter/sections/header.js.map +1 -0
- package/dist/html-reporter/sections/layers.d.ts +10 -0
- package/dist/html-reporter/sections/layers.d.ts.map +1 -0
- package/dist/html-reporter/sections/layers.js +143 -0
- package/dist/html-reporter/sections/layers.js.map +1 -0
- package/dist/html-reporter/sections/overview.d.ts +3 -0
- package/dist/html-reporter/sections/overview.d.ts.map +1 -0
- package/dist/html-reporter/sections/overview.js +58 -0
- package/dist/html-reporter/sections/overview.js.map +1 -0
- package/dist/html-reporter/sections/refactoring-plan.d.ts +4 -0
- package/dist/html-reporter/sections/refactoring-plan.d.ts.map +1 -0
- package/dist/html-reporter/sections/refactoring-plan.js +120 -0
- package/dist/html-reporter/sections/refactoring-plan.js.map +1 -0
- package/dist/html-reporter/sections/score.d.ts +8 -0
- package/dist/html-reporter/sections/score.d.ts.map +1 -0
- package/dist/html-reporter/sections/score.js +69 -0
- package/dist/html-reporter/sections/score.js.map +1 -0
- package/dist/html-reporter/sections/suggestions.d.ts +8 -0
- package/dist/html-reporter/sections/suggestions.d.ts.map +1 -0
- package/dist/html-reporter/sections/suggestions.js +34 -0
- package/dist/html-reporter/sections/suggestions.js.map +1 -0
- package/dist/html-reporter/styles.d.ts +2 -0
- package/dist/html-reporter/styles.d.ts.map +1 -0
- package/dist/html-reporter/styles.js +504 -0
- package/dist/html-reporter/styles.js.map +1 -0
- package/dist/html-reporter/utils.d.ts +27 -0
- package/dist/html-reporter/utils.d.ts.map +1 -0
- package/dist/html-reporter/utils.js +82 -0
- package/dist/html-reporter/utils.js.map +1 -0
- package/dist/html-reporter.d.ts +0 -37
- package/dist/html-reporter.d.ts.map +1 -1
- package/dist/html-reporter.js +29 -1679
- package/dist/html-reporter.js.map +1 -1
- package/dist/index.d.ts +16 -84
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -285
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/git-cache.d.ts +7 -0
- package/dist/infrastructure/git-cache.d.ts.map +1 -0
- package/dist/infrastructure/git-cache.js +41 -0
- package/dist/infrastructure/git-cache.js.map +1 -0
- package/dist/infrastructure/git-history.d.ts +113 -0
- package/dist/infrastructure/git-history.d.ts.map +1 -0
- package/dist/infrastructure/git-history.js +339 -0
- package/dist/infrastructure/git-history.js.map +1 -0
- package/dist/infrastructure/logger.d.ts +21 -0
- package/dist/infrastructure/logger.d.ts.map +1 -0
- package/dist/infrastructure/logger.js +59 -0
- package/dist/infrastructure/logger.js.map +1 -0
- package/dist/infrastructure/scanner.d.ts +32 -0
- package/dist/infrastructure/scanner.d.ts.map +1 -0
- package/dist/infrastructure/scanner.js +330 -0
- package/dist/infrastructure/scanner.js.map +1 -0
- package/dist/logger.d.ts +21 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +59 -0
- package/dist/logger.js.map +1 -0
- package/dist/project-summarizer.d.ts +7 -9
- package/dist/project-summarizer.d.ts.map +1 -1
- package/dist/project-summarizer.js +22 -289
- package/dist/project-summarizer.js.map +1 -1
- package/dist/scanner.d.ts +8 -2
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +157 -115
- package/dist/scanner.js.map +1 -1
- package/dist/scorer.d.ts.map +1 -1
- package/dist/scorer.js +24 -11
- package/dist/scorer.js.map +1 -1
- package/dist/summarizer/keyword-extractor.d.ts +6 -0
- package/dist/summarizer/keyword-extractor.d.ts.map +1 -0
- package/dist/summarizer/keyword-extractor.js +37 -0
- package/dist/summarizer/keyword-extractor.js.map +1 -0
- package/dist/summarizer/module-inferrer.d.ts +10 -0
- package/dist/summarizer/module-inferrer.d.ts.map +1 -0
- package/dist/summarizer/module-inferrer.js +171 -0
- package/dist/summarizer/module-inferrer.js.map +1 -0
- package/dist/summarizer/package-reader.d.ts +4 -0
- package/dist/summarizer/package-reader.d.ts.map +1 -0
- package/dist/summarizer/package-reader.js +30 -0
- package/dist/summarizer/package-reader.js.map +1 -0
- package/dist/summarizer/purpose-inferrer.d.ts +8 -0
- package/dist/summarizer/purpose-inferrer.d.ts.map +1 -0
- package/dist/summarizer/purpose-inferrer.js +178 -0
- package/dist/summarizer/purpose-inferrer.js.map +1 -0
- package/dist/summarizer/readme-reader.d.ts +4 -0
- package/dist/summarizer/readme-reader.d.ts.map +1 -0
- package/dist/summarizer/readme-reader.js +21 -0
- package/dist/summarizer/readme-reader.js.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/fix-scorer.js +18 -0
- package/fix-tests.js +73 -0
- package/package.json +3 -3
- package/scripts/decompose-detectors.ts +183 -0
- package/scripts/decompose-detectors_deps.ts +16 -0
- package/scripts/decompose-enrichers.ts +191 -0
- package/scripts/decompose-enrichers_deps.ts +10 -0
- package/scripts/decompose-helpers.ts +92 -0
- package/scripts/decompose-summarizer.ts +127 -0
- package/setup-refactor.sh +21 -0
- package/src/{cli.ts → adapters/cli.ts} +14 -10
- package/src/adapters/html-reporter/scripts.ts +402 -0
- package/src/adapters/html-reporter/sections/agents.ts +267 -0
- package/src/adapters/html-reporter/sections/anti-patterns.ts +81 -0
- package/src/adapters/html-reporter/sections/header.ts +35 -0
- package/src/adapters/html-reporter/sections/layers.ts +165 -0
- package/src/adapters/html-reporter/sections/overview.ts +64 -0
- package/src/adapters/html-reporter/sections/refactoring-plan.ts +166 -0
- package/src/adapters/html-reporter/sections/score.ts +79 -0
- package/src/adapters/html-reporter/sections/suggestions.ts +39 -0
- package/src/adapters/html-reporter/styles.ts +525 -0
- package/src/adapters/html-reporter/utils_adapters.ts +39 -0
- package/src/adapters/html-reporter/utils_sections.ts +55 -0
- package/src/adapters/html-reporter.ts +89 -0
- package/src/adapters/html-reporter_deps.ts +14 -0
- package/src/{refactor-reporter.ts → adapters/refactor-reporter.ts} +1 -1
- package/src/{reporter.ts → adapters/reporter.ts} +1 -1
- package/src/core/agent-generator/context-enricher.ts +67 -0
- package/src/core/agent-generator/detectors/base-detector.ts +18 -0
- package/src/core/agent-generator/detectors/dart-detector.ts +17 -0
- package/src/core/agent-generator/detectors/framework-registry.ts +82 -0
- package/src/core/agent-generator/detectors/go-detector.ts +26 -0
- package/src/core/agent-generator/detectors/java-detector.ts +46 -0
- package/src/core/agent-generator/detectors/node-detector.ts +28 -0
- package/src/core/agent-generator/detectors/php-detector.ts +28 -0
- package/src/core/agent-generator/detectors/python-detector.ts +125 -0
- package/src/core/agent-generator/detectors/ruby-detector.ts +24 -0
- package/src/core/agent-generator/detectors/rust-detector.ts +19 -0
- package/src/core/agent-generator/detectors/structure-detector.ts +38 -0
- package/src/core/agent-generator/detectors/toolchain-detector.ts +180 -0
- package/src/{agent-generator → core/agent-generator}/domain-inferrer.ts +12 -7
- package/src/core/agent-generator/engines/audit-engine.ts +98 -0
- package/src/core/agent-generator/engines/context-builder.ts +96 -0
- package/src/core/agent-generator/engines/generation-engine.ts +184 -0
- package/src/core/agent-generator/engines/generation-engine_deps.ts +21 -0
- package/src/core/agent-generator/engines/suggestion-engine.ts +202 -0
- package/src/core/agent-generator/engines/suggestion-engine_deps.ts +8 -0
- package/src/core/agent-generator/enrichers/analysis-helpers.ts +58 -0
- package/src/core/agent-generator/enrichers/description-generator.ts +91 -0
- package/src/core/agent-generator/enrichers/endpoint-extractor.ts +114 -0
- package/src/core/agent-generator/enrichers/layer-classifier.ts +156 -0
- package/src/core/agent-generator/enrichers/module-extractor.ts +203 -0
- package/src/core/agent-generator/framework-detector.ts +66 -0
- package/src/core/agent-generator/index.ts +55 -0
- package/src/{agent-generator → core/agent-generator}/stack-detector.ts +34 -22
- package/src/{agent-generator → core/agent-generator}/templates/core/agents.ts +6 -3
- package/src/{agent-generator → core/agent-generator}/templates/core/architecture-rules.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/core/general-rules.ts +1 -1
- package/src/core/agent-generator/templates/core/hooks-generator.ts +242 -0
- package/src/{agent-generator → core/agent-generator}/templates/core/index-md.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/core/orchestrator.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/core/preflight.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/core/quality-gates.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/core/security-rules.ts +1 -1
- package/src/core/agent-generator/templates/core/skills-generator.ts +585 -0
- package/src/{agent-generator → core/agent-generator}/templates/core/workflow-fix-bug.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/core/workflow-new-feature.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/core/workflow-review.ts +1 -1
- package/src/{agent-generator → core/agent-generator}/templates/domain/index.ts +1 -1
- package/src/core/agent-generator/templates/helpers/base-helpers.ts +32 -0
- package/src/core/agent-generator/templates/helpers/cross-ref-helpers.ts +79 -0
- package/src/core/agent-generator/templates/helpers/security-helpers.ts +196 -0
- package/src/core/agent-generator/templates/helpers/stack-helpers.ts +78 -0
- package/src/core/agent-generator/templates/helpers/structure-helpers.ts +291 -0
- package/src/core/agent-generator/templates/helpers/summary-helpers.ts +65 -0
- package/src/{agent-generator → core/agent-generator}/templates/stack/index.ts +1 -1
- package/src/core/agent-generator/templates/template-helpers.ts +12 -0
- package/src/core/agent-generator/types/agent.ts +65 -0
- package/src/core/agent-generator/types/domain.ts +63 -0
- package/src/core/agent-generator/types/stack.ts +38 -0
- package/src/core/agent-generator/types/template.ts +31 -0
- package/src/{analyzer.ts → core/analyzer.ts} +15 -2
- package/src/{analyzers → core/analyzers}/forecast.ts +1 -1
- package/src/{analyzers → core/analyzers}/index.ts +2 -2
- package/src/{analyzers → core/analyzers}/temporal-scorer.ts +1 -1
- package/src/{anti-patterns.ts → core/anti-patterns.ts} +41 -8
- package/src/core/architect.ts +356 -0
- package/src/core/architect_deps.ts +13 -0
- package/src/{config.ts → core/config.ts} +53 -12
- package/src/{diagram.ts → core/diagram.ts} +27 -42
- package/src/core/project-summarizer.ts +42 -0
- package/src/{refactor-engine.ts → core/refactor-engine.ts} +2 -7
- package/src/{rules → core/rules}/barrel-optimizer.ts +3 -1
- package/src/{rules → core/rules}/dead-code-detector.ts +3 -1
- package/src/{rules → core/rules}/hub-splitter.ts +14 -2
- package/src/{rules → core/rules}/import-organizer.ts +5 -3
- package/src/{rules → core/rules}/module-grouper.ts +11 -2
- package/src/{scorer.ts → core/scorer.ts} +31 -16
- package/src/core/summarizer/keyword-extractor.ts +53 -0
- package/src/core/summarizer/module-inferrer.ts +194 -0
- package/src/core/summarizer/package-reader.ts +34 -0
- package/src/core/summarizer/purpose-inferrer.ts +197 -0
- package/src/core/summarizer/readme-reader.ts +24 -0
- package/src/core/types/core.ts +93 -0
- package/src/core/types/infrastructure.ts +41 -0
- package/src/core/types/rules.ts +51 -0
- package/src/core/types/summarizer.ts +8 -0
- package/src/index.ts +17 -384
- package/src/{analyzers → infrastructure}/git-history.ts +19 -10
- package/src/infrastructure/logger.ts +68 -0
- package/src/infrastructure/scanner.ts +347 -0
- package/src/scripts/bundle-deps.js +123 -0
- package/src/scripts/fix-imports.mjs +106 -0
- package/src/scripts/refactor-imports.js +74 -0
- package/src/scripts/refactor-utils.js +23 -0
- package/test-shotgun.js +7 -0
- package/tests/agent-generator.test.ts +19 -2
- package/tests/analyzers-integration.test.ts +9 -9
- package/tests/anti-patterns.test.ts +3 -2
- package/tests/context-enricher.test.ts +3 -2
- package/tests/fixtures/monorepo/package.json +6 -0
- package/tests/fixtures/monorepo/packages/app/package.json +12 -0
- package/tests/fixtures/monorepo/packages/app/src/index.ts +6 -0
- package/tests/fixtures/monorepo/packages/core/package.json +7 -0
- package/tests/fixtures/monorepo/packages/core/src/index.ts +7 -0
- package/tests/forecast.test.ts +4 -4
- package/tests/framework-detector.test.ts +2 -2
- package/tests/git-history.test.ts +20 -20
- package/tests/monorepo-scan.test.ts +170 -0
- package/tests/scanner.test.ts +3 -3
- package/tests/scorer.test.ts +38 -32
- package/tests/stack-detector.test.ts +21 -21
- package/tests/template-generation.test.ts +31 -30
- package/tests/template-helpers.test.ts +6 -28
- package/tests/temporal-scorer.test.ts +3 -3
- package/__test_agent_output__/INDEX.md +0 -1
- package/__test_agent_output__/agents/AGENT-ORCHESTRATOR.md +0 -1
- package/__test_agent_output__/agents/DATABASE-ENGINEER.md +0 -174
- package/__test_agent_output__/agents/TECH-DEBT-CONTROLLER.md +0 -104
- package/__test_agent_output__/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +0 -135
- package/__test_agent_output__/guards/QUALITY-GATES.md +0 -1
- package/__test_agent_output__/rules/03-nestjs.md +0 -124
- package/__test_context_7RvUrO/src/modules/empty/empty.ts +0 -0
- package/__test_context_Rf5fNJ/src/modules/mixed/mixed.ts +0 -5
- package/__test_context_WRCnYH/src/modules/test/test.ts +0 -10
- package/__test_context_YsnVS3/src/modules/test/test.ts +0 -10
- package/__test_context_w7XZeH/src/modules/mixed/mixed.ts +0 -5
- package/__test_context_y5noh6/src/modules/empty/empty.ts +0 -0
- package/__test_framework__24OjAu/package.json +0 -1
- package/__test_framework__3ZDZsx/pyproject.toml +0 -8
- package/__test_framework__4T54Jn/package.json +0 -1
- package/__test_framework__4tlXu9/pyproject.toml +0 -8
- package/__test_framework__6boWqQ/Pipfile +0 -6
- package/__test_framework__6gygMU/pom.xml +0 -10
- package/__test_framework__6kxj0N/go.mod +0 -8
- package/__test_framework__7CEoXw/pom.xml +0 -10
- package/__test_framework__85DDz0/Pipfile +0 -6
- package/__test_framework__9WrRIr/pom.xml +0 -7
- package/__test_framework__ANqGKl/Gemfile +0 -5
- package/__test_framework__BCXTEM/go.mod +0 -3
- package/__test_framework__BHiPNq/setup.py +0 -2
- package/__test_framework__BqkiKv/package.json +0 -1
- package/__test_framework__C5yd8X/Pipfile.lock +0 -1
- package/__test_framework__C5yd8X/requirements.txt +0 -1
- package/__test_framework__C87d3a/manage.py +0 -1
- package/__test_framework__C87d3a/requirements.txt +0 -2
- package/__test_framework__DXNwc5/build.gradle +0 -7
- package/__test_framework__GhHSt3/build.gradle.kts +0 -4
- package/__test_framework__GzklJP/Cargo.toml +0 -7
- package/__test_framework__H4hd13/go.mod +0 -8
- package/__test_framework__HKjOXO/composer.json +0 -1
- package/__test_framework__HaDN45/Gemfile +0 -3
- package/__test_framework__IBO7YG/pyproject.toml +0 -9
- package/__test_framework__JwSOyF/pyproject.toml +0 -6
- package/__test_framework__K6HrCr/build.gradle +0 -2
- package/__test_framework__KzRPlh/pubspec.yaml +0 -9
- package/__test_framework__L6uIym/pyproject.toml +0 -6
- package/__test_framework__LOdoGK/requirements.txt +0 -4
- package/__test_framework__LgHzss/package.json +0 -1
- package/__test_framework__M76M6q/Gemfile +0 -5
- package/__test_framework__Mr9vWW/composer.json +0 -1
- package/__test_framework__N03Gnv/package.json +0 -1
- package/__test_framework__Num4UE/requirements +0 -1
- package/__test_framework__OAGw3Y/build.gradle +0 -7
- package/__test_framework__OQc8yG/pubspec.yaml +0 -9
- package/__test_framework__OwKZcd/requirements.txt +0 -3
- package/__test_framework__P0gFv7/requirements +0 -1
- package/__test_framework__PN55Rq/package.json +0 -1
- package/__test_framework__PQiqX8/pubspec.yaml +0 -3
- package/__test_framework__RBHsg7/composer.json +0 -1
- package/__test_framework__RHxif4/Cargo.toml +0 -7
- package/__test_framework__T0v0p1/Cargo.toml +0 -4
- package/__test_framework__Tu0clt/Pipfile.lock +0 -1
- package/__test_framework__Tu0clt/requirements.txt +0 -1
- package/__test_framework__TwDj9P/Cargo.toml +0 -4
- package/__test_framework__VQJNC4/pom.xml +0 -7
- package/__test_framework__W6sm05/package.json +0 -1
- package/__test_framework__W7vBLy/pyproject.toml +0 -4
- package/__test_framework__WNJOWT/setup.py +0 -2
- package/__test_framework__WSJs7U/package.json +0 -1
- package/__test_framework__YQ5VpA/build.gradle.kts +0 -4
- package/__test_framework__ZNEUEs/package.json +0 -1
- package/__test_framework__Znt922/pom.xml +0 -7
- package/__test_framework__azyg0h/pom.xml +0 -7
- package/__test_framework__c6otLr/package.json +0 -1
- package/__test_framework__cl9S9G/build.gradle +0 -2
- package/__test_framework__eilvV4/composer.json +0 -1
- package/__test_framework__gQZxXO/manage.py +0 -1
- package/__test_framework__gQZxXO/requirements.txt +0 -2
- package/__test_framework__ghvl26/poetry.lock +0 -1
- package/__test_framework__ghvl26/pyproject.toml +0 -2
- package/__test_framework__hR7b9U/Makefile +0 -11
- package/__test_framework__iESVsi/composer.json +0 -1
- package/__test_framework__jm6TJy/package.json +0 -1
- package/__test_framework__kBUpjs/pyproject.toml +0 -9
- package/__test_framework__kqoZrw/requirements.txt +0 -4
- package/__test_framework__lWkoyO/pyproject.toml +0 -4
- package/__test_framework__mTKnUO/package.json +0 -1
- package/__test_framework__nCeZwe/Makefile +0 -11
- package/__test_framework__oljsU0/package.json +0 -1
- package/__test_framework__osRG4q/go.mod +0 -3
- package/__test_framework__pCHH4F/package.json +0 -1
- package/__test_framework__pExx6E/Gemfile +0 -3
- package/__test_framework__pyBoGd/pyproject.toml +0 -5
- package/__test_framework__qw16VQ/package.json +0 -1
- package/__test_framework__rRayrG/package.json +0 -1
- package/__test_framework__s82zO5/package.json +0 -1
- package/__test_framework__tp8MFK/pyproject.toml +0 -5
- package/__test_framework__w44k4w/composer.json +0 -1
- package/__test_framework__yefPZY/poetry.lock +0 -1
- package/__test_framework__yefPZY/pyproject.toml +0 -2
- package/__test_framework__zCiyDT/requirements.txt +0 -3
- package/__test_framework__zGZN3j/pubspec.yaml +0 -3
- package/__test_framework__zXpnxL/package.json +0 -1
- package/src/agent-generator/context-enricher.ts +0 -643
- package/src/agent-generator/framework-detector.ts +0 -669
- package/src/agent-generator/index.ts +0 -555
- package/src/agent-generator/templates/core/skills-generator.ts +0 -236
- package/src/agent-generator/templates/template-helpers.ts +0 -776
- package/src/agent-generator/types.ts +0 -232
- package/src/html-reporter.ts +0 -1830
- package/src/project-summarizer.ts +0 -347
- package/src/scanner.ts +0 -298
- package/src/types.ts +0 -176
- /package/src/{analyzers → infrastructure}/git-cache.ts +0 -0
|
@@ -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/agent-generator/templates/helpers/security-helpers.ts"],"names":[],"mappings":"AAEA,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,5 @@
|
|
|
1
|
+
import { TemplateContext } from '../../types.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;
|
|
5
|
+
//# sourceMappingURL=stack-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack-helpers.d.ts","sourceRoot":"","sources":["../../../../src/agent-generator/templates/helpers/stack-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0C,MAAM,gBAAgB,CAAC;AAIzF,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAsB3D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAclE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA+B9D"}
|
|
@@ -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/agent-generator/templates/helpers/stack-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure-helpers.d.ts","sourceRoot":"","sources":["../../../../src/agent-generator/templates/helpers/structure-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0C,MAAM,gBAAgB,CAAC;AAIzF,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA4RrE"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { getEnriched } from './base-helpers.js';
|
|
2
|
+
export function frameworkModuleStructure(ctx) {
|
|
3
|
+
const enriched = getEnriched(ctx);
|
|
4
|
+
const fw = enriched.primaryFramework?.name || '';
|
|
5
|
+
const structure = enriched.projectStructure || 'unknown';
|
|
6
|
+
const lang = ctx.stack.primary;
|
|
7
|
+
// Clean Architecture (Python, any framework)
|
|
8
|
+
if (structure === 'clean-architecture') {
|
|
9
|
+
if (lang === 'Python') {
|
|
10
|
+
return `
|
|
11
|
+
\`\`\`
|
|
12
|
+
src/[projeto]/
|
|
13
|
+
├── domain/ → Regras de negócio puras
|
|
14
|
+
│ ├── entities/ → Entidades com identidade
|
|
15
|
+
│ ├── value_objects/ → Objetos de valor (imutáveis)
|
|
16
|
+
│ ├── services/ → Serviços de domínio
|
|
17
|
+
│ ├── events/ → Eventos de domínio
|
|
18
|
+
│ ├── enums/ → Enumerações
|
|
19
|
+
│ └── exceptions/ → Exceções customizadas
|
|
20
|
+
├── application/ → Casos de uso
|
|
21
|
+
│ ├── services/ → Application services
|
|
22
|
+
│ └── interfaces/ → Contratos (ports)
|
|
23
|
+
├── infrastructure/ → Implementações externas
|
|
24
|
+
│ ├── persistence/ → Repositórios concretos
|
|
25
|
+
│ ├── storage/ → MinIO, S3, filesystem
|
|
26
|
+
│ ├── extraction/ → Extração de dados
|
|
27
|
+
│ │ ├── extractors/ → Extractors por tipo
|
|
28
|
+
│ │ ├── ocr/ → OCR engine
|
|
29
|
+
│ │ └── guards/ → Validadores
|
|
30
|
+
│ └── agents/ → Agentes de automação
|
|
31
|
+
├── presentation/ → Interface com o mundo
|
|
32
|
+
│ ├── api/ → REST API
|
|
33
|
+
│ │ ├── routes/ → Endpoints${fw === 'FastAPI' ? ' (FastAPI routers)' : ''}
|
|
34
|
+
│ │ └── dependencies/ → ${fw === 'FastAPI' ? 'FastAPI Depends()' : 'Injeção de deps'}
|
|
35
|
+
│ └── workers/ → Background workers
|
|
36
|
+
└── tests/
|
|
37
|
+
├── unit/ → Testes unitários
|
|
38
|
+
├── integration/ → Testes de integração
|
|
39
|
+
└── fixtures/ → Dados de teste
|
|
40
|
+
\`\`\``;
|
|
41
|
+
}
|
|
42
|
+
// TypeScript Clean Architecture
|
|
43
|
+
return `
|
|
44
|
+
\`\`\`
|
|
45
|
+
src/
|
|
46
|
+
├── domain/ → Regras de negócio puras
|
|
47
|
+
│ ├── entities/ → Entidades com identidade
|
|
48
|
+
│ ├── value-objects/ → Objetos de valor
|
|
49
|
+
│ ├── services/ → Serviços de domínio
|
|
50
|
+
│ └── events/ → Eventos de domínio
|
|
51
|
+
├── application/ → Casos de uso
|
|
52
|
+
│ ├── use-cases/ → Casos de uso
|
|
53
|
+
│ └── ports/ → Interfaces (contratos)
|
|
54
|
+
├── infrastructure/ → Implementações externas
|
|
55
|
+
│ ├── repositories/ → Repositórios concretos
|
|
56
|
+
│ ├── adapters/ → Adaptadores externos
|
|
57
|
+
│ └── config/ → Configuração
|
|
58
|
+
├── presentation/ → Interface com o mundo
|
|
59
|
+
│ ├── controllers/ → Endpoints da API
|
|
60
|
+
│ ├── dto/ → Data Transfer Objects
|
|
61
|
+
│ └── middleware/ → Middleware
|
|
62
|
+
└── tests/
|
|
63
|
+
\`\`\``;
|
|
64
|
+
}
|
|
65
|
+
// FastAPI (non-clean-arch)
|
|
66
|
+
if (fw === 'FastAPI') {
|
|
67
|
+
return `
|
|
68
|
+
\`\`\`
|
|
69
|
+
app/
|
|
70
|
+
├── main.py → Entrypoint (FastAPI app)
|
|
71
|
+
├── api/
|
|
72
|
+
│ ├── routes/ → APIRouter por recurso
|
|
73
|
+
│ │ ├── __init__.py
|
|
74
|
+
│ │ ├── users.py → @router.get("/users")
|
|
75
|
+
│ │ └── items.py → @router.get("/items")
|
|
76
|
+
│ └── dependencies.py → Depends() compartilhados
|
|
77
|
+
├── core/
|
|
78
|
+
│ ├── config.py → Settings (pydantic BaseSettings)
|
|
79
|
+
│ └── security.py → JWT, OAuth2
|
|
80
|
+
├── models/ → SQLAlchemy / Pydantic models
|
|
81
|
+
├── schemas/ → Pydantic schemas (request/response)
|
|
82
|
+
├── services/ → Lógica de negócio
|
|
83
|
+
├── db/ → Database session, migrations
|
|
84
|
+
└── tests/
|
|
85
|
+
├── conftest.py → Fixtures (TestClient, db session)
|
|
86
|
+
├── test_users.py
|
|
87
|
+
└── test_items.py
|
|
88
|
+
\`\`\``;
|
|
89
|
+
}
|
|
90
|
+
// Django
|
|
91
|
+
if (fw === 'Django' || fw === 'DRF') {
|
|
92
|
+
return `
|
|
93
|
+
\`\`\`
|
|
94
|
+
project/
|
|
95
|
+
├── manage.py
|
|
96
|
+
├── config/ → Settings, URLs, WSGI
|
|
97
|
+
│ ├── settings/
|
|
98
|
+
│ │ ├── base.py
|
|
99
|
+
│ │ ├── local.py
|
|
100
|
+
│ │ └── production.py
|
|
101
|
+
│ └── urls.py → Root URL config
|
|
102
|
+
├── apps/
|
|
103
|
+
│ └── [app_name]/ → Django app
|
|
104
|
+
│ ├── models.py → Django ORM models
|
|
105
|
+
│ ├── views.py → ViewSets / APIViews
|
|
106
|
+
│ ├── serializers.py → DRF serializers
|
|
107
|
+
│ ├── urls.py → App URLs
|
|
108
|
+
│ ├── admin.py → Django admin
|
|
109
|
+
│ ├── forms.py → Forms
|
|
110
|
+
│ ├── signals.py → Django signals
|
|
111
|
+
│ └── tests/
|
|
112
|
+
│ ├── test_models.py
|
|
113
|
+
│ └── test_views.py
|
|
114
|
+
└── requirements/
|
|
115
|
+
\`\`\``;
|
|
116
|
+
}
|
|
117
|
+
// Flask
|
|
118
|
+
if (fw === 'Flask') {
|
|
119
|
+
return `
|
|
120
|
+
\`\`\`
|
|
121
|
+
app/
|
|
122
|
+
├── __init__.py → create_app() factory
|
|
123
|
+
├── blueprints/ → Flask Blueprints
|
|
124
|
+
│ ├── auth/
|
|
125
|
+
│ │ ├── __init__.py → Blueprint registration
|
|
126
|
+
│ │ ├── routes.py → @bp.route()
|
|
127
|
+
│ │ └── models.py
|
|
128
|
+
│ └── api/
|
|
129
|
+
├── models/ → SQLAlchemy models
|
|
130
|
+
├── services/ → Lógica de negócio
|
|
131
|
+
├── extensions.py → db, migrate, login_manager
|
|
132
|
+
├── config.py → Configuração
|
|
133
|
+
└── tests/
|
|
134
|
+
\`\`\``;
|
|
135
|
+
}
|
|
136
|
+
// NestJS
|
|
137
|
+
if (fw === 'NestJS') {
|
|
138
|
+
return `
|
|
139
|
+
\`\`\`
|
|
140
|
+
src/
|
|
141
|
+
├── main.ts → Bootstrap (NestFactory)
|
|
142
|
+
├── app.module.ts → Root module
|
|
143
|
+
├── modules/
|
|
144
|
+
│ └── [module-name]/
|
|
145
|
+
│ ├── [name].module.ts → @Module()
|
|
146
|
+
│ ├── [name].controller.ts → @Controller() endpoints
|
|
147
|
+
│ ├── [name].service.ts → @Injectable() lógica
|
|
148
|
+
│ ├── dto/
|
|
149
|
+
│ │ ├── create-[name].dto.ts → class-validator DTOs
|
|
150
|
+
│ │ └── update-[name].dto.ts
|
|
151
|
+
│ ├── entities/
|
|
152
|
+
│ │ └── [name].entity.ts → TypeORM/Prisma entity
|
|
153
|
+
│ └── __tests__/
|
|
154
|
+
│ ├── [name].service.spec.ts
|
|
155
|
+
│ └── [name].controller.spec.ts
|
|
156
|
+
├── common/ → Guards, pipes, interceptors
|
|
157
|
+
└── config/ → ConfigModule
|
|
158
|
+
\`\`\``;
|
|
159
|
+
}
|
|
160
|
+
// Express
|
|
161
|
+
if (fw === 'Express' || fw === 'Fastify') {
|
|
162
|
+
return `
|
|
163
|
+
\`\`\`
|
|
164
|
+
src/
|
|
165
|
+
├── index.ts → Entrypoint
|
|
166
|
+
├── routes/ → Route handlers
|
|
167
|
+
│ ├── users.router.ts
|
|
168
|
+
│ └── items.router.ts
|
|
169
|
+
├── controllers/ → Request handlers
|
|
170
|
+
├── services/ → Business logic
|
|
171
|
+
├── models/ → Data models
|
|
172
|
+
├── middleware/ → Auth, validation, error handler
|
|
173
|
+
├── config/ → Environment config
|
|
174
|
+
└── tests/
|
|
175
|
+
\`\`\``;
|
|
176
|
+
}
|
|
177
|
+
// Spring Boot
|
|
178
|
+
if (fw === 'Spring Boot') {
|
|
179
|
+
return `
|
|
180
|
+
\`\`\`
|
|
181
|
+
src/main/java/com/company/project/
|
|
182
|
+
├── Application.java → @SpringBootApplication
|
|
183
|
+
├── controller/ → @RestController
|
|
184
|
+
│ └── UserController.java
|
|
185
|
+
├── service/ → @Service
|
|
186
|
+
│ └── UserService.java
|
|
187
|
+
├── repository/ → @Repository (Spring Data JPA)
|
|
188
|
+
│ └── UserRepository.java
|
|
189
|
+
├── model/ → @Entity
|
|
190
|
+
│ └── User.java
|
|
191
|
+
├── dto/ → Request/Response DTOs
|
|
192
|
+
├── config/ → @Configuration
|
|
193
|
+
├── exception/ → @ControllerAdvice
|
|
194
|
+
└── security/ → Spring Security config
|
|
195
|
+
\`\`\``;
|
|
196
|
+
}
|
|
197
|
+
// Laravel
|
|
198
|
+
if (fw === 'Laravel') {
|
|
199
|
+
return `
|
|
200
|
+
\`\`\`
|
|
201
|
+
app/
|
|
202
|
+
├── Http/
|
|
203
|
+
│ ├── Controllers/ → Controllers
|
|
204
|
+
│ ├── Middleware/ → Middleware
|
|
205
|
+
│ └── Requests/ → Form Requests (validation)
|
|
206
|
+
├── Models/ → Eloquent Models
|
|
207
|
+
├── Services/ → Business Logic
|
|
208
|
+
├── Repositories/ → Data Access
|
|
209
|
+
├── Providers/ → Service Providers
|
|
210
|
+
├── Events/ → Event classes
|
|
211
|
+
├── Listeners/ → Event listeners
|
|
212
|
+
├── Policies/ → Authorization policies
|
|
213
|
+
database/
|
|
214
|
+
├── migrations/ → Database migrations
|
|
215
|
+
├── seeders/ → Database seeders
|
|
216
|
+
└── factories/ → Model factories
|
|
217
|
+
\`\`\``;
|
|
218
|
+
}
|
|
219
|
+
// Go
|
|
220
|
+
if (fw === 'Gin' || fw === 'Echo' || fw === 'Fiber' || fw === 'Chi') {
|
|
221
|
+
return `
|
|
222
|
+
\`\`\`
|
|
223
|
+
.
|
|
224
|
+
├── cmd/
|
|
225
|
+
│ └── server/
|
|
226
|
+
│ └── main.go → Entrypoint
|
|
227
|
+
├── internal/
|
|
228
|
+
│ ├── handler/ → HTTP handlers
|
|
229
|
+
│ ├── service/ → Business logic
|
|
230
|
+
│ ├── repository/ → Data access
|
|
231
|
+
│ ├── model/ → Domain models
|
|
232
|
+
│ ├── middleware/ → HTTP middleware
|
|
233
|
+
│ └── config/ → Configuration
|
|
234
|
+
├── pkg/ → Public packages
|
|
235
|
+
├── go.mod
|
|
236
|
+
└── go.sum
|
|
237
|
+
\`\`\``;
|
|
238
|
+
}
|
|
239
|
+
// Ruby on Rails
|
|
240
|
+
if (fw === 'Ruby on Rails') {
|
|
241
|
+
return `
|
|
242
|
+
\`\`\`
|
|
243
|
+
app/
|
|
244
|
+
├── controllers/ → ActionController
|
|
245
|
+
├── models/ → ActiveRecord models
|
|
246
|
+
├── views/ → ERB/HAML templates
|
|
247
|
+
├── services/ → Service objects
|
|
248
|
+
├── jobs/ → ActiveJob
|
|
249
|
+
├── mailers/ → ActionMailer
|
|
250
|
+
├── serializers/ → JSON serializers
|
|
251
|
+
config/
|
|
252
|
+
├── routes.rb → Route definitions
|
|
253
|
+
├── database.yml → Database config
|
|
254
|
+
db/
|
|
255
|
+
├── migrate/ → Migrations
|
|
256
|
+
├── seeds.rb → Seed data
|
|
257
|
+
spec/ (ou test/)
|
|
258
|
+
\`\`\``;
|
|
259
|
+
}
|
|
260
|
+
// Generic fallback
|
|
261
|
+
const ext = lang === 'Python' ? 'py' : lang === 'Go' ? 'go' : lang === 'PHP' ? 'php' : lang === 'Ruby' ? 'rb' : 'ts';
|
|
262
|
+
return `
|
|
263
|
+
\`\`\`
|
|
264
|
+
src/
|
|
265
|
+
├── controllers/ → Endpoints / HTTP handlers
|
|
266
|
+
├── services/ → Lógica de negócio
|
|
267
|
+
├── models/ → Modelos de dados
|
|
268
|
+
├── repositories/ → Acesso a dados
|
|
269
|
+
├── dto/ → Data Transfer Objects
|
|
270
|
+
├── middleware/ → Middleware
|
|
271
|
+
├── config/ → Configuração
|
|
272
|
+
└── tests/ → Testes (.${ext})
|
|
273
|
+
\`\`\``;
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=structure-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure-helpers.js","sourceRoot":"","sources":["../../../../src/agent-generator/templates/helpers/structure-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,wBAAwB,CAAC,GAAoB;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,IAAI,IAAI,EAAE,CAAC;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,IAAI,SAAS,CAAC;IACzD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;IAE/B,6CAA6C;IAC7C,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;kDAuBqC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;yCACrD,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB;;;;;;OAM5F,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,OAAO;;;;;;;;;;;;;;;;;;;;OAoBJ,CAAC;IACN,CAAC;IAED,2BAA2B;IAC3B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;;;;;;;;OAqBJ,CAAC;IACN,CAAC;IAED,SAAS;IACT,IAAI,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;OAuBJ,CAAC;IACN,CAAC;IAED,QAAQ;IACR,IAAI,EAAE,KAAK,OAAO,EAAE,CAAC;QACnB,OAAO;;;;;;;;;;;;;;;OAeJ,CAAC;IACN,CAAC;IAED,SAAS;IACT,IAAI,EAAE,KAAK,QAAQ,EAAE,CAAC;QACpB,OAAO;;;;;;;;;;;;;;;;;;;;OAoBJ,CAAC;IACN,CAAC;IAED,UAAU;IACV,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO;;;;;;;;;;;;;OAaJ,CAAC;IACN,CAAC;IAED,cAAc;IACd,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;QACzB,OAAO;;;;;;;;;;;;;;;;OAgBJ,CAAC;IACN,CAAC;IAED,UAAU;IACV,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,OAAO;;;;;;;;;;;;;;;;;;OAkBJ,CAAC;IACN,CAAC;IAED,KAAK;IACL,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,OAAO,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QACpE,OAAO;;;;;;;;;;;;;;;;OAgBJ,CAAC;IACN,CAAC;IAED,gBAAgB;IAChB,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;QAC3B,OAAO;;;;;;;;;;;;;;;;;OAiBJ,CAAC;IACN,CAAC;IAED,mBAAmB;IACnB,MAAM,GAAG,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACrH,OAAO;;;;;;;;;;kDAUyC,GAAG;OAC9C,CAAC;AACR,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TemplateContext } from '../../types.js';
|
|
2
|
+
export declare function domainBadge(ctx: TemplateContext): string;
|
|
3
|
+
export declare function complianceBadges(ctx: TemplateContext): string;
|
|
4
|
+
export declare function depthIndicator(ctx: TemplateContext): string;
|
|
5
|
+
export declare function modulesSummaryTable(ctx: TemplateContext): string;
|
|
6
|
+
export declare function integrationsSummary(ctx: TemplateContext): string;
|
|
7
|
+
//# sourceMappingURL=summary-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-helpers.d.ts","sourceRoot":"","sources":["../../../../src/agent-generator/templates/helpers/summary-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0C,MAAM,gBAAgB,CAAC;AAIzF,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAQxD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAU7D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAU3D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAahE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAShE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { getEnriched, depthScale } from './base-helpers.js';
|
|
2
|
+
export function domainBadge(ctx) {
|
|
3
|
+
const enriched = getEnriched(ctx);
|
|
4
|
+
if (!enriched.domain)
|
|
5
|
+
return '';
|
|
6
|
+
const { domain } = enriched;
|
|
7
|
+
return `
|
|
8
|
+
> 📌 **Domínio:** ${domain.domain} · **Sub-domínio:** ${domain.subDomain} · **Confiança:** ${Math.round(domain.confidence * 100)}%
|
|
9
|
+
`;
|
|
10
|
+
}
|
|
11
|
+
export function complianceBadges(ctx) {
|
|
12
|
+
const enriched = getEnriched(ctx);
|
|
13
|
+
if (!enriched.domain?.compliance?.length)
|
|
14
|
+
return '';
|
|
15
|
+
return `
|
|
16
|
+
### ⚖️ Compliance Obrigatório
|
|
17
|
+
|
|
18
|
+
${enriched.domain.compliance.map((c) => `- **${c.name}** — ${c.reason}
|
|
19
|
+
- Checks: ${c.mandatoryChecks.join(', ')}`).join('\n')}
|
|
20
|
+
`;
|
|
21
|
+
}
|
|
22
|
+
export function depthIndicator(ctx) {
|
|
23
|
+
const enriched = getEnriched(ctx);
|
|
24
|
+
const depth = enriched.projectDepth || 'medium';
|
|
25
|
+
const labels = {
|
|
26
|
+
small: '🟢 Projeto Pequeno (< 50 arquivos)',
|
|
27
|
+
medium: '🟡 Projeto Médio (50-200 arquivos)',
|
|
28
|
+
large: '🟠 Projeto Grande (200-500 arquivos)',
|
|
29
|
+
enterprise: '🔴 Enterprise (500+ arquivos)',
|
|
30
|
+
};
|
|
31
|
+
return labels[depth];
|
|
32
|
+
}
|
|
33
|
+
export function modulesSummaryTable(ctx) {
|
|
34
|
+
const enriched = getEnriched(ctx);
|
|
35
|
+
if (!enriched.modules?.length)
|
|
36
|
+
return '';
|
|
37
|
+
const maxModules = depthScale(ctx, { small: 5, medium: 10, large: 20, enterprise: 50 });
|
|
38
|
+
const modules = enriched.modules.slice(0, maxModules);
|
|
39
|
+
return `
|
|
40
|
+
| Módulo | Arquivos | Linhas | Testes | Camada |
|
|
41
|
+
|--------|----------|--------|--------|--------|
|
|
42
|
+
${modules.map((m) => `| ${m.name} | ${m.fileCount} | ${m.lineCount > 0 ? m.lineCount.toLocaleString() : '—'} | ${m.hasTests ? '✅' : '❌'} | ${m.layer} |`).join('\n')}
|
|
43
|
+
${enriched.modules.length > maxModules ? `\n> ... e mais ${enriched.modules.length - maxModules} módulos.` : ''}
|
|
44
|
+
`;
|
|
45
|
+
}
|
|
46
|
+
export function integrationsSummary(ctx) {
|
|
47
|
+
const enriched = getEnriched(ctx);
|
|
48
|
+
if (!enriched.domain?.integrations?.length)
|
|
49
|
+
return '';
|
|
50
|
+
return `
|
|
51
|
+
### Integrações Externas Detectadas
|
|
52
|
+
|
|
53
|
+
${enriched.domain.integrations.map((i) => `- **${i.name}** (${i.type}) — detectado em \`${i.detectedFrom}\``).join('\n')}
|
|
54
|
+
`;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=summary-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary-helpers.js","sourceRoot":"","sources":["../../../../src/agent-generator/templates/helpers/summary-helpers.ts"],"names":[],"mappings":"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"}
|