@girardelli/architect 5.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/.agent/agents/QA-TEST-ENGINEER.md +152 -0
- package/.agent/agents/SECURITY-AUDITOR.md +87 -0
- package/.agent/agents/TECH-DEBT-CONTROLLER.md +154 -0
- package/.agent/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +484 -0
- package/.agent/guards/CODE-REVIEW-CHECKLIST.md +94 -0
- package/.agent/guards/PREFLIGHT.md +200 -0
- 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/.agent/rules/00-general.md +229 -0
- package/.agent/rules/01-architecture.md +182 -0
- package/.agent/rules/02-security.md +388 -0
- 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/.agent/templates/ADR.md +95 -0
- package/.agent/templates/BDD.md +57 -0
- package/.agent/templates/C4.md +67 -0
- package/.agent/templates/TDD.md +86 -0
- package/.agent/templates/THREAT-MODEL.md +63 -0
- package/.agent/workflows/fix-bug.md +228 -0
- package/.agent/workflows/new-feature.md +311 -0
- package/.agent/workflows/review.md +95 -0
- 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 +13 -573
- 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/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 -33
- package/dist/agent-generator/index.d.ts.map +1 -1
- package/dist/agent-generator/index.js +18 -524
- package/dist/agent-generator/index.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/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/cli.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 +6 -28
- package/dist/project-summarizer.d.ts.map +1 -1
- package/dist/project-summarizer.js +21 -445
- package/dist/project-summarizer.js.map +1 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +15 -13
- package/dist/scanner.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/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 +2 -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 +2 -2
- package/src/{agent-generator → core/agent-generator}/templates/core/agents.ts +1 -1
- 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/{agent-generator → core/agent-generator}/templates/core/hooks-generator.ts +1 -1
- 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/{agent-generator → core/agent-generator}/templates/core/skills-generator.ts +1 -1
- 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} +2 -1
- 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} +12 -2
- package/src/core/architect.ts +356 -0
- package/src/core/architect_deps.ts +13 -0
- package/src/{config.ts → core/config.ts} +1 -1
- 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} +7 -7
- 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/{scanner.ts → infrastructure/scanner.ts} +17 -14
- 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 +3 -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/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 +4 -4
- package/tests/scanner.test.ts +2 -2
- package/tests/scorer.test.ts +17 -17
- package/tests/stack-detector.test.ts +2 -2
- 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/src/agent-generator/context-enricher.ts +0 -672
- package/src/agent-generator/framework-detector.ts +0 -669
- package/src/agent-generator/index.ts +0 -634
- 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 -521
- package/src/types.ts +0 -193
- /package/src/{analyzers → infrastructure}/git-cache.ts +0 -0
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
---
|
|
2
|
+
antigravity:
|
|
3
|
+
trigger: 'always_on'
|
|
4
|
+
globs: ['**/*']
|
|
5
|
+
description: 'Regras de segurança para @girardelli/architect'
|
|
6
|
+
priority: CRITICAL
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# 🛡️ Regras de Segurança — @girardelli/architect
|
|
10
|
+
|
|
11
|
+
> **Segurança NÃO é feature — é requisito. Toda linha de código é superfície de ataque.**
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## ⚠️ REGRA ZERO DE SEGURANÇA
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
19
|
+
║ NUNCA confiar em input do usuário. ║
|
|
20
|
+
║ NUNCA expor detalhes internos em respostas de erro. ║
|
|
21
|
+
║ NUNCA armazenar secrets em código. ║
|
|
22
|
+
║ NUNCA desabilitar validação "temporariamente". ║
|
|
23
|
+
║ NUNCA commitar com security warnings ignorados. ║
|
|
24
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 🔐 OWASP Top 10 — Checklist Obrigatório
|
|
30
|
+
|
|
31
|
+
### A01: Broken Access Control
|
|
32
|
+
```
|
|
33
|
+
❌ PROIBIDO: Endpoint sem verificação de autorização
|
|
34
|
+
❌ PROIBIDO: IDOR (Insecure Direct Object Reference) — acessar recurso de outro usuário via ID
|
|
35
|
+
✅ CORRETO: RBAC (Role-Based Access Control) em TODOS os endpoints
|
|
36
|
+
✅ CORRETO: Verificar ownership do recurso antes de retornar
|
|
37
|
+
|
|
38
|
+
Padrão:
|
|
39
|
+
1. Autenticar (quem é?)
|
|
40
|
+
2. Autorizar (pode fazer isso?)
|
|
41
|
+
3. Verificar ownership (esse recurso é dele?)
|
|
42
|
+
4. Executar ação
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### A02: Cryptographic Failures
|
|
46
|
+
```
|
|
47
|
+
❌ PROIBIDO: Senhas em plain text
|
|
48
|
+
❌ PROIBIDO: HTTP para dados sensíveis
|
|
49
|
+
❌ PROIBIDO: Algoritmos fracos (MD5, SHA1 para passwords)
|
|
50
|
+
✅ CORRETO: bcrypt/argon2 para passwords (cost ≥ 12)
|
|
51
|
+
✅ CORRETO: HTTPS everywhere (HSTS)
|
|
52
|
+
✅ CORRETO: AES-256-GCM para dados em repouso
|
|
53
|
+
✅ CORRETO: TLS 1.2+ para dados em trânsito
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### A03: Injection
|
|
57
|
+
```
|
|
58
|
+
❌ PROIBIDO: Concatenação de strings em queries SQL
|
|
59
|
+
❌ PROIBIDO: Template strings com input de usuário
|
|
60
|
+
❌ PROIBIDO: eval(), exec(), Function() com input externo
|
|
61
|
+
✅ CORRETO: Queries parametrizadas SEMPRE
|
|
62
|
+
✅ CORRETO: ORM com bindings
|
|
63
|
+
✅ CORRETO: Input sanitization na borda (controller/pipe)
|
|
64
|
+
|
|
65
|
+
Exemplos:
|
|
66
|
+
❌ `SELECT * FROM users WHERE id = '${userId}'`
|
|
67
|
+
✅ `SELECT * FROM users WHERE id = $1` + [userId]
|
|
68
|
+
❌ `db.query(`...WHERE name = '${name}'`)`
|
|
69
|
+
✅ `db.query('...WHERE name = ?', [name])`
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### A04: Insecure Design
|
|
73
|
+
```
|
|
74
|
+
❌ PROIBIDO: Endpoints sem rate limiting
|
|
75
|
+
❌ PROIBIDO: Reset de senha via link sem expiração
|
|
76
|
+
❌ PROIBIDO: Lógica de negócio sem threat model
|
|
77
|
+
✅ CORRETO: STRIDE analysis antes de implementar features sensíveis
|
|
78
|
+
✅ CORRETO: Rate limiting em auth endpoints (≤ 5 tentativas/minuto)
|
|
79
|
+
✅ CORRETO: Tokens com expiração curta (15min access, 7d refresh)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### A05: Security Misconfiguration
|
|
83
|
+
```
|
|
84
|
+
❌ PROIBIDO: CORS com origin: '*' em produção
|
|
85
|
+
❌ PROIBIDO: Debug mode em produção
|
|
86
|
+
❌ PROIBIDO: Default credentials
|
|
87
|
+
❌ PROIBIDO: Stack traces em respostas de erro
|
|
88
|
+
✅ CORRETO: CORS restritivo (origins explícitos)
|
|
89
|
+
✅ CORRETO: Headers de segurança (X-Frame-Options, CSP, X-Content-Type-Options)
|
|
90
|
+
✅ CORRETO: Error handling que retorna apenas mensagem genérica ao usuário
|
|
91
|
+
|
|
92
|
+
Headers obrigatórios:
|
|
93
|
+
X-Content-Type-Options: nosniff
|
|
94
|
+
X-Frame-Options: DENY
|
|
95
|
+
X-XSS-Protection: 0 (CSP substitui)
|
|
96
|
+
Content-Security-Policy: default-src 'self'
|
|
97
|
+
Strict-Transport-Security: max-age=31536000; includeSubDomains
|
|
98
|
+
Referrer-Policy: strict-origin-when-cross-origin
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### A06: Vulnerable and Outdated Components
|
|
102
|
+
```
|
|
103
|
+
❌ PROIBIDO: Dependências com vulnerabilidades conhecidas
|
|
104
|
+
❌ PROIBIDO: Ignorar security advisories
|
|
105
|
+
✅ CORRETO: Audit regular (npm audit / pip audit / safety check)
|
|
106
|
+
✅ CORRETO: Renovate/Dependabot configurado
|
|
107
|
+
✅ CORRETO: Lock files commitados (package-lock.json, poetry.lock)
|
|
108
|
+
|
|
109
|
+
Comandos de verificação:
|
|
110
|
+
$ npm audit
|
|
111
|
+
$ npx audit-ci --critical
|
|
112
|
+
$ npx snyk test
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### A07: Identification and Authentication Failures
|
|
116
|
+
```
|
|
117
|
+
❌ PROIBIDO: Sessions sem expiração
|
|
118
|
+
❌ PROIBIDO: Tokens previsíveis
|
|
119
|
+
❌ PROIBIDO: Brute force sem proteção
|
|
120
|
+
✅ CORRETO: JWT com algoritmo explícito (RS256 ou ES256)
|
|
121
|
+
✅ CORRETO: Refresh token rotation
|
|
122
|
+
✅ CORRETO: Account lockout após N tentativas
|
|
123
|
+
✅ CORRETO: MFA para operações sensíveis
|
|
124
|
+
|
|
125
|
+
JWT Checklist:
|
|
126
|
+
□ Algoritmo explícito (nunca 'none')
|
|
127
|
+
□ Audience (aud) verificado
|
|
128
|
+
□ Issuer (iss) verificado
|
|
129
|
+
□ Expiração (exp) curta
|
|
130
|
+
□ Secret key ≥ 256 bits
|
|
131
|
+
□ Stored em httpOnly cookie (não localStorage)
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### A08: Software and Data Integrity Failures
|
|
135
|
+
```
|
|
136
|
+
❌ PROIBIDO: CI/CD sem verificação de integridade
|
|
137
|
+
❌ PROIBIDO: Deserialização de dados não confiáveis
|
|
138
|
+
✅ CORRETO: Subresource Integrity (SRI) para CDN scripts
|
|
139
|
+
✅ CORRETO: Signed commits
|
|
140
|
+
✅ CORRETO: Pipeline protegido (branch protection rules)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### A09: Security Logging and Monitoring Failures
|
|
144
|
+
```
|
|
145
|
+
❌ PROIBIDO: Ações sensíveis sem log
|
|
146
|
+
❌ PROIBIDO: Logs com dados sensíveis (passwords, tokens, PII)
|
|
147
|
+
✅ CORRETO: Audit log para: login, logout, password change, permission change
|
|
148
|
+
✅ CORRETO: Log level adequado (WARN/ERROR para falhas de auth)
|
|
149
|
+
✅ CORRETO: Alertas para atividades anômalas
|
|
150
|
+
|
|
151
|
+
O que logar:
|
|
152
|
+
✅ Quem (user ID)
|
|
153
|
+
✅ O quê (ação)
|
|
154
|
+
✅ Quando (timestamp UTC)
|
|
155
|
+
✅ Onde (IP, user-agent)
|
|
156
|
+
✅ Resultado (sucesso/falha)
|
|
157
|
+
|
|
158
|
+
O que NUNCA logar:
|
|
159
|
+
❌ Passwords (nem em debug)
|
|
160
|
+
❌ Tokens de autenticação
|
|
161
|
+
❌ Dados de cartão de crédito
|
|
162
|
+
❌ PII sem necessidade
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### A10: Server-Side Request Forgery (SSRF)
|
|
166
|
+
```
|
|
167
|
+
❌ PROIBIDO: Fetch de URL fornecida pelo usuário sem validação
|
|
168
|
+
❌ PROIBIDO: Acesso a metadata endpoints (169.254.169.254)
|
|
169
|
+
✅ CORRETO: Allowlist de domínios para requests externos
|
|
170
|
+
✅ CORRETO: Validação de schema (https only)
|
|
171
|
+
✅ CORRETO: Block de IPs internos/privados
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 🔑 Validação de Input
|
|
177
|
+
|
|
178
|
+
### Validação de Input — Padrão Geral
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
Regras de validação:
|
|
182
|
+
1. TODOS os inputs passam por schema validation
|
|
183
|
+
2. Tipos verificados (string, number, email, etc.)
|
|
184
|
+
3. Limites definidos (min/max length, ranges)
|
|
185
|
+
4. Whitelist de campos aceitos
|
|
186
|
+
5. Sanitização de caracteres especiais
|
|
187
|
+
6. Encoding correto (UTF-8)
|
|
188
|
+
|
|
189
|
+
Pipeline:
|
|
190
|
+
Request → Schema Validation → Sanitization → Business Logic
|
|
191
|
+
|
|
192
|
+
NUNCA:
|
|
193
|
+
❌ request.body direto na lógica
|
|
194
|
+
❌ Confiar em validação client-side apenas
|
|
195
|
+
❌ Aceitar campos não declarados
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## 🔒 Autenticação & Autorização
|
|
201
|
+
|
|
202
|
+
### Padrão de Autenticação/Autorização
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
Fluxo obrigatório:
|
|
206
|
+
1. Autenticar: Verificar identidade (JWT/session)
|
|
207
|
+
2. Autorizar: Verificar permissões (roles/policies)
|
|
208
|
+
3. Ownership: Verificar se recurso pertence ao usuário
|
|
209
|
+
4. Executar: Somente após passos 1-3
|
|
210
|
+
|
|
211
|
+
Token management:
|
|
212
|
+
- Access Token: curta duração (15min)
|
|
213
|
+
- Refresh Token: longa duração (7d), httpOnly, secure
|
|
214
|
+
- Rotation: novo refresh token a cada uso
|
|
215
|
+
- Blacklist: invalidar tokens no logout
|
|
216
|
+
|
|
217
|
+
RBAC mínimo:
|
|
218
|
+
- admin: tudo
|
|
219
|
+
- user: próprios recursos
|
|
220
|
+
- public: endpoints marcados explicitamente
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 🗝️ Gestão de Secrets
|
|
226
|
+
|
|
227
|
+
### Regras de Secrets
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
231
|
+
║ SECRETS NUNCA NO CÓDIGO. NUNCA. SEM EXCEÇÃO. ║
|
|
232
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
233
|
+
|
|
234
|
+
❌ PROIBIDO:
|
|
235
|
+
- API keys hardcoded
|
|
236
|
+
- Passwords em arquivos de config
|
|
237
|
+
- Tokens em constantes
|
|
238
|
+
- Connection strings com credenciais no código
|
|
239
|
+
- .env commitado no repositório
|
|
240
|
+
|
|
241
|
+
✅ CORRETO:
|
|
242
|
+
- Environment variables
|
|
243
|
+
- Secret manager (AWS SSM, Vault, GCP Secret Manager)
|
|
244
|
+
- .env.example com placeholders (sem valores reais)
|
|
245
|
+
- .gitignore com: .env, .env.local, .env.*.local
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### .gitignore obrigatório
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
# Secrets — NUNCA commitar
|
|
252
|
+
.env
|
|
253
|
+
.env.local
|
|
254
|
+
.env.*.local
|
|
255
|
+
*.pem
|
|
256
|
+
*.key
|
|
257
|
+
*.p12
|
|
258
|
+
credentials.json
|
|
259
|
+
service-account.json
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### Detecção de secrets no CI
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
# Pre-commit hook (recomendado)
|
|
266
|
+
# .pre-commit-config.yaml
|
|
267
|
+
repos:
|
|
268
|
+
- repo: https://github.com/gitleaks/gitleaks
|
|
269
|
+
rev: v8.18.0
|
|
270
|
+
hooks:
|
|
271
|
+
- id: gitleaks
|
|
272
|
+
|
|
273
|
+
# Ou manualmente:
|
|
274
|
+
gitleaks detect --source . --verbose
|
|
275
|
+
git secrets --scan
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Padrão de configuração
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
// ✅ CORRETO
|
|
282
|
+
const config = {
|
|
283
|
+
database: {
|
|
284
|
+
url: process.env.DATABASE_URL, // De environment variable
|
|
285
|
+
ssl: process.env.DB_SSL === 'true',
|
|
286
|
+
},
|
|
287
|
+
jwt: {
|
|
288
|
+
secret: process.env.JWT_SECRET, // NUNCA hardcoded
|
|
289
|
+
expiresIn: '15m',
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
// Validação no startup — falha rápido se falta secret
|
|
294
|
+
const required = ['DATABASE_URL', 'JWT_SECRET'];
|
|
295
|
+
for (const key of required) {
|
|
296
|
+
if (!process.env[key]) throw new Error(\`Missing env: \${key}\`);
|
|
297
|
+
}
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## 🚨 Security Anti-Patterns Detectados
|
|
303
|
+
|
|
304
|
+
✅ Nenhum anti-pattern de segurança detectado no scan automático.\n> ⚠️ Isso NÃO significa que o projeto está seguro. Análise manual é necessária.
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## ✅ Checklist de Segurança por Camada
|
|
309
|
+
|
|
310
|
+
### Controller / API Layer
|
|
311
|
+
```
|
|
312
|
+
□ Input validado com DTO/Schema
|
|
313
|
+
□ Rate limiting configurado
|
|
314
|
+
□ Auth guard aplicado
|
|
315
|
+
□ CORS configurado corretamente
|
|
316
|
+
□ Response não expõe dados internos
|
|
317
|
+
□ Error handling sem stack trace
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Service / Business Layer
|
|
321
|
+
```
|
|
322
|
+
□ Autorização verificada (ownership)
|
|
323
|
+
□ Dados sensíveis criptografados
|
|
324
|
+
□ Lógica de negócio com audit log
|
|
325
|
+
□ Sem eval/exec com input externo
|
|
326
|
+
□ Timeout em operações externas
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Data / Repository Layer
|
|
330
|
+
```
|
|
331
|
+
□ Queries parametrizadas (NUNCA concatenação)
|
|
332
|
+
□ Connection pooling com limits
|
|
333
|
+
□ Migrations reversíveis
|
|
334
|
+
□ Dados sensíveis com encryption at rest
|
|
335
|
+
□ Backup policy definida
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### Frontend / Mobile Layer
|
|
339
|
+
```
|
|
340
|
+
□ XSS prevenido (sanitization)
|
|
341
|
+
□ CSRF token em formulários
|
|
342
|
+
□ Tokens em httpOnly cookies (não localStorage)
|
|
343
|
+
□ Content Security Policy
|
|
344
|
+
□ Sem secrets no bundle (NUNCA)
|
|
345
|
+
□ Validação client-side + server-side
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
---
|
|
349
|
+
|
|
350
|
+
## 🛡️ Threat Model (STRIDE)
|
|
351
|
+
|
|
352
|
+
Antes de implementar features sensíveis, usar template STRIDE:
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
| Ameaça | Descrição | Mitigação |
|
|
356
|
+
|---------------------|------------------------------------|-----------|
|
|
357
|
+
| Spoofing | Alguém se passando por outro | Auth forte, MFA |
|
|
358
|
+
| Tampering | Dados alterados em trânsito | TLS, HMAC, checksums |
|
|
359
|
+
| Repudiation | Negar ação realizada | Audit logs |
|
|
360
|
+
| Info Disclosure | Vazamento de dados | Encryption, access control |
|
|
361
|
+
| Denial of Service | Indisponibilidade | Rate limiting, CDN, autoscaling |
|
|
362
|
+
| Elevation of Priv. | Escalar permissões | Least privilege, RBAC |
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
> Template completo disponível em: `templates/THREAT-MODEL.md`
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## 📊 Verificação Automatizada
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
# Scan de vulnerabilidades em dependências
|
|
373
|
+
npm audit
|
|
374
|
+
npx audit-ci --critical
|
|
375
|
+
|
|
376
|
+
# Scan de secrets no código
|
|
377
|
+
# (configure pre-commit hook)
|
|
378
|
+
git secrets --scan
|
|
379
|
+
gitleaks detect
|
|
380
|
+
|
|
381
|
+
# Score de arquitetura (inclui métricas de segurança)
|
|
382
|
+
architect score ./src
|
|
383
|
+
architect anti-patterns ./src
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
**Gerado por Architect v3.1 · Score: 94/100**
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
antigravity:
|
|
3
|
+
trigger: 'on_demand'
|
|
4
|
+
description: 'Como usar o Architect para análise contínua de arquitetura'
|
|
5
|
+
version: 5.1.0
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 🏗️ Skill: Architect Integration — @girardelli/architect
|
|
9
|
+
|
|
10
|
+
> Como usar `@girardelli/architect` para manter a qualidade arquitetural.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Instalação
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install -g @girardelli/architect
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Comandos Disponíveis
|
|
23
|
+
|
|
24
|
+
### Análise completa
|
|
25
|
+
```bash
|
|
26
|
+
# Gera HTML report + JSON + .agent/ framework
|
|
27
|
+
architect analyze .
|
|
28
|
+
|
|
29
|
+
# Output:
|
|
30
|
+
# → architect-report.html (visual)
|
|
31
|
+
# → architect-report.json (dados)
|
|
32
|
+
# → .agent/ (framework de agentes)
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Score rápido
|
|
36
|
+
```bash
|
|
37
|
+
# Verificação rápida do score
|
|
38
|
+
architect score .
|
|
39
|
+
|
|
40
|
+
# JSON output (para CI)
|
|
41
|
+
architect score . --json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Regenerar agentes
|
|
45
|
+
```bash
|
|
46
|
+
# Regenera .agent/ com dados atualizados
|
|
47
|
+
architect agents .
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Estado Atual — @girardelli/architect
|
|
53
|
+
|
|
54
|
+
| Métrica | Valor |
|
|
55
|
+
|---------|-------|
|
|
56
|
+
| **Score** | 94/100 |
|
|
57
|
+
| **Meta** | 70/100 (mínimo) |
|
|
58
|
+
| **Score Modularity** | 85/100 |
|
|
59
|
+
| **Score Coupling** | 100/100 |
|
|
60
|
+
| **Score Cohesion** | 100/100 |
|
|
61
|
+
| **Score Layering** | 100/100 |
|
|
62
|
+
| **Anti-patterns** | 0 |
|
|
63
|
+
| **Arquivos** | 122 |
|
|
64
|
+
| **Linhas** | 37.407 |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Integração no Workflow
|
|
69
|
+
|
|
70
|
+
### Antes de criar PR
|
|
71
|
+
```bash
|
|
72
|
+
# Verificar que o score não regrediu
|
|
73
|
+
architect score .
|
|
74
|
+
# Se score < 70 → NÃO criar PR
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Após refatoração
|
|
78
|
+
```bash
|
|
79
|
+
# Verificar melhoria
|
|
80
|
+
architect analyze .
|
|
81
|
+
# Comparar com score anterior
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Revisão de arquitetura
|
|
85
|
+
```bash
|
|
86
|
+
# Gerar report completo para code review
|
|
87
|
+
architect analyze . --output-dir docs/
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Quality Gates
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
Score mínimo para PR: 70/100
|
|
96
|
+
Cobertura mínima: 80%
|
|
97
|
+
Zero anti-patterns CRITICAL: Obrigatório
|
|
98
|
+
Regressão de score: Proibida
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
**Gerado por Architect v5.1 · Score: 94/100**
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
antigravity:
|
|
3
|
+
trigger: 'on_demand'
|
|
4
|
+
description: 'Integração CI/CD com verificação de arquitetura'
|
|
5
|
+
version: 5.1.0
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 🔄 Skill: CI Pipeline — @girardelli/architect
|
|
9
|
+
|
|
10
|
+
> Pipeline de integração contínua com gates de qualidade arquitetural.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## GitHub Actions
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
# .github/workflows/architect-ci.yml
|
|
18
|
+
name: Architecture CI
|
|
19
|
+
|
|
20
|
+
on:
|
|
21
|
+
pull_request:
|
|
22
|
+
branches: [main, develop, staging]
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
quality:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
|
|
30
|
+
- uses: actions/setup-node@v4
|
|
31
|
+
with:
|
|
32
|
+
node-version: '20'
|
|
33
|
+
cache: 'npm'
|
|
34
|
+
|
|
35
|
+
- name: Install dependencies
|
|
36
|
+
run: npm install
|
|
37
|
+
|
|
38
|
+
- name: Build
|
|
39
|
+
run: npm run build
|
|
40
|
+
|
|
41
|
+
- name: Lint
|
|
42
|
+
run: npm run lint
|
|
43
|
+
|
|
44
|
+
- name: Test
|
|
45
|
+
run: npm test
|
|
46
|
+
|
|
47
|
+
- name: Coverage
|
|
48
|
+
run: npm run test -- --coverage
|
|
49
|
+
|
|
50
|
+
- name: Architecture Score
|
|
51
|
+
run: |
|
|
52
|
+
npm install -g @girardelli/architect
|
|
53
|
+
SCORE=$(architect score . --json | jq '.overall')
|
|
54
|
+
echo "Architecture Score: $SCORE/100"
|
|
55
|
+
if [ "$SCORE" -lt 70 ]; then
|
|
56
|
+
echo "::error::Score ($SCORE) below threshold (70)"
|
|
57
|
+
exit 1
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
- name: No Score Regression
|
|
61
|
+
run: |
|
|
62
|
+
# Compare with main branch score
|
|
63
|
+
CURRENT=$(architect score . --json | jq '.overall')
|
|
64
|
+
echo "Current: $CURRENT/100, Minimum: 70/100"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Comandos do Pipeline
|
|
70
|
+
|
|
71
|
+
| Step | Comando | Gate |
|
|
72
|
+
|------|---------|------|
|
|
73
|
+
| Install | `npm install` | — |
|
|
74
|
+
| Build | `npm run build` | ❌ Bloqueia se falhar |
|
|
75
|
+
| Lint | `npm run lint` | ❌ Bloqueia se falhar |
|
|
76
|
+
| Test | `npm test` | ❌ Bloqueia se falhar |
|
|
77
|
+
| Coverage | `npm run test -- --coverage` | ⚠️ Mínimo 80% |
|
|
78
|
+
| Score | `architect score .` | ❌ Mínimo 70/100 |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## GitLab CI
|
|
83
|
+
|
|
84
|
+
```yaml
|
|
85
|
+
# .gitlab-ci.yml
|
|
86
|
+
stages:
|
|
87
|
+
- build
|
|
88
|
+
- test
|
|
89
|
+
- quality
|
|
90
|
+
|
|
91
|
+
build:
|
|
92
|
+
stage: build
|
|
93
|
+
script:
|
|
94
|
+
- npm install
|
|
95
|
+
- npm run build
|
|
96
|
+
|
|
97
|
+
test:
|
|
98
|
+
stage: test
|
|
99
|
+
script:
|
|
100
|
+
- npm test
|
|
101
|
+
- npm run test -- --coverage
|
|
102
|
+
|
|
103
|
+
architecture:
|
|
104
|
+
stage: quality
|
|
105
|
+
script:
|
|
106
|
+
- npm install -g @girardelli/architect
|
|
107
|
+
- architect score . --json
|
|
108
|
+
allow_failure: false
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
**Gerado por Architect v5.1 · Score: 94/100**
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
antigravity:
|
|
3
|
+
trigger: 'on_demand'
|
|
4
|
+
description: 'Padrões e convenções específicos do projeto'
|
|
5
|
+
version: 3.1.0
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 📚 Skills: Padrões do Projeto
|
|
9
|
+
|
|
10
|
+
> Referência rápida dos padrões arquiteturais detectados e como seguí-los.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Convenções
|
|
15
|
+
|
|
16
|
+
- **Nomenclatura de arquivos:** camelCase para arquivos, PascalCase para classes
|
|
17
|
+
- **Stack:** TypeScript, JavaScript
|
|
18
|
+
- **Frameworks:** Jest v29.7.0, ESLint v8.55.0
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Padrões Arquiteturais Detectados
|
|
23
|
+
|
|
24
|
+
### Extractor/Parser Pattern
|
|
25
|
+
|
|
26
|
+
Extractors/Parsers são usados para extrair e transformar dados de fontes externas (PDFs, APIs, arquivos).
|
|
27
|
+
|
|
28
|
+
**Exemplos no projeto:**
|
|
29
|
+
- `src/core/agent-generator/enrichers/endpoint-extractor.ts`
|
|
30
|
+
- `src/core/agent-generator/enrichers/endpoint-extractor.js`
|
|
31
|
+
- `scripts/enrichers/endpoint-extractor.js`
|
|
32
|
+
|
|
33
|
+
**Como criar um novo:**
|
|
34
|
+
1. Criar interface: `I{Tipo}Extractor`
|
|
35
|
+
2. Implementar: `{Tipo}Extractor implements I{Tipo}Extractor`
|
|
36
|
+
3. Método principal: `extract(source): ExtractedData`
|
|
37
|
+
4. Testar com fixtures (dados de exemplo)
|
|
38
|
+
5. Tratar edge cases: dados vazios, formato inválido, timeout
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Padrões de Domínio: devtools / code-intelligence
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Integrações
|
|
48
|
+
- **AWS S3** (storage)
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Checklist para Novo Código
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
□ Segue os padrões acima?
|
|
58
|
+
□ Testes escritos antes do código (TDD)?
|
|
59
|
+
□ Nomenclatura consistente com convenções?
|
|
60
|
+
□ Sem duplicação de lógica existente?
|
|
61
|
+
□ Documentação atualizada (JSDoc/docstring)?
|
|
62
|
+
```
|