@girardelli/architect 6.0.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{adapters → src/adapters}/cli.d.ts +1 -2
- package/dist/{adapters → src/adapters}/cli.js +182 -207
- package/dist/src/adapters/cli.js.map +1 -0
- package/dist/src/adapters/github-action.d.ts +9 -0
- package/dist/src/adapters/github-action.js +94 -0
- package/dist/src/adapters/github-action.js.map +1 -0
- package/dist/{html-reporter → src/adapters/html-reporter}/scripts.d.ts +1 -2
- package/dist/{adapters → src/adapters}/html-reporter/scripts.js.map +1 -1
- package/dist/src/adapters/html-reporter/sections/agents.d.ts +2 -0
- package/dist/{html-reporter → src/adapters/html-reporter}/sections/agents.js +8 -7
- package/dist/src/adapters/html-reporter/sections/agents.js.map +1 -0
- package/dist/{html-reporter → src/adapters/html-reporter}/sections/anti-patterns.d.ts +1 -2
- package/dist/src/adapters/html-reporter/sections/anti-patterns.js.map +1 -0
- package/dist/{html-reporter → src/adapters/html-reporter}/sections/header.d.ts +1 -2
- package/dist/{adapters → src/adapters}/html-reporter/sections/header.js +1 -1
- package/dist/src/adapters/html-reporter/sections/header.js.map +1 -0
- package/dist/{html-reporter → src/adapters/html-reporter}/sections/layers.d.ts +1 -2
- package/dist/src/adapters/html-reporter/sections/layers.js.map +1 -0
- package/dist/src/adapters/html-reporter/sections/overview.d.ts +2 -0
- package/dist/src/adapters/html-reporter/sections/overview.js.map +1 -0
- package/dist/{html-reporter → src/adapters/html-reporter}/sections/refactoring-plan.d.ts +1 -2
- package/dist/src/adapters/html-reporter/sections/refactoring-plan.js.map +1 -0
- package/dist/{html-reporter → src/adapters/html-reporter}/sections/score.d.ts +1 -2
- package/dist/{adapters → src/adapters}/html-reporter/sections/score.js +1 -0
- package/dist/src/adapters/html-reporter/sections/score.js.map +1 -0
- package/dist/{adapters → src/adapters}/html-reporter/sections/suggestions.d.ts +0 -1
- package/dist/src/adapters/html-reporter/sections/suggestions.js.map +1 -0
- package/dist/{adapters → src/adapters}/html-reporter/styles.d.ts +0 -1
- package/dist/{adapters → src/adapters}/html-reporter/styles.js.map +1 -1
- package/dist/{adapters → src/adapters}/html-reporter/utils_adapters.d.ts +1 -2
- package/dist/src/adapters/html-reporter/utils_adapters.js.map +1 -0
- package/dist/{adapters → src/adapters}/html-reporter/utils_sections.d.ts +0 -1
- package/dist/src/adapters/html-reporter/utils_sections.js.map +1 -0
- package/dist/{html-reporter.d.ts → src/adapters/html-reporter.d.ts} +3 -3
- package/dist/{html-reporter.js → src/adapters/html-reporter.js} +11 -11
- package/dist/src/adapters/html-reporter.js.map +1 -0
- package/dist/src/adapters/progress-logger.d.ts +55 -0
- package/dist/src/adapters/progress-logger.js +200 -0
- package/dist/src/adapters/progress-logger.js.map +1 -0
- package/dist/{refactor-reporter.d.ts → src/adapters/refactor-reporter.d.ts} +1 -2
- package/dist/{refactor-reporter.js → src/adapters/refactor-reporter.js} +1 -1
- package/dist/src/adapters/refactor-reporter.js.map +1 -0
- package/dist/{reporter.d.ts → src/adapters/reporter.d.ts} +1 -2
- package/dist/src/adapters/reporter.js.map +1 -0
- package/dist/src/core/GenesisTerminal.d.ts +8 -0
- package/dist/src/core/GenesisTerminal.js +105 -0
- package/dist/src/core/GenesisTerminal.js.map +1 -0
- package/dist/{core → src/core}/architect.d.ts +3 -2
- package/dist/{core → src/core}/architect.js +20 -5
- package/dist/src/core/architect.js.map +1 -0
- package/dist/tests/architect-adapter-enrichment.test.d.ts +1 -0
- package/dist/tests/architect-adapter-enrichment.test.js +11 -0
- package/dist/tests/architect-adapter-enrichment.test.js.map +1 -0
- package/dist/tests/github-action.test.d.ts +1 -0
- package/dist/tests/github-action.test.js +92 -0
- package/dist/tests/github-action.test.js.map +1 -0
- package/package.json +15 -65
- package/src/adapters/cli.ts +216 -245
- package/src/adapters/github-action.ts +109 -0
- package/src/adapters/html-reporter/scripts.ts +1 -1
- package/src/adapters/html-reporter/sections/agents.ts +9 -9
- package/src/adapters/html-reporter/sections/anti-patterns.ts +1 -1
- package/src/adapters/html-reporter/sections/header.ts +2 -2
- package/src/adapters/html-reporter/sections/layers.ts +1 -1
- package/src/adapters/html-reporter/sections/overview.ts +1 -1
- package/src/adapters/html-reporter/sections/refactoring-plan.ts +1 -1
- package/src/adapters/html-reporter/sections/score.ts +2 -1
- package/src/adapters/html-reporter/utils_adapters.ts +1 -1
- package/src/adapters/html-reporter.ts +14 -1
- package/src/adapters/progress-logger.ts +236 -0
- package/src/adapters/refactor-reporter.ts +2 -2
- package/src/adapters/reporter.ts +1 -1
- package/src/core/GenesisTerminal.ts +127 -0
- package/src/core/architect.ts +25 -5
- package/tests/github-action.test.ts +109 -0
- package/tsconfig.json +12 -19
- package/.agent/INDEX.md +0 -197
- package/.agent/agents/AGENT-ORCHESTRATOR.md +0 -408
- package/.agent/agents/QA-TEST-ENGINEER.md +0 -152
- package/.agent/agents/SECURITY-AUDITOR.md +0 -87
- package/.agent/agents/TECH-DEBT-CONTROLLER.md +0 -154
- package/.agent/agents/TYPESCRIPT-BACKEND-DEVELOPER.md +0 -484
- package/.agent/guards/CODE-REVIEW-CHECKLIST.md +0 -94
- package/.agent/guards/PREFLIGHT.md +0 -200
- package/.agent/guards/QUALITY-GATES.md +0 -212
- package/.agent/hooks/post-analysis.sh +0 -64
- package/.agent/hooks/pre-commit.sh +0 -68
- package/.agent/hooks/pre-push.sh +0 -59
- package/.agent/rules/00-general.md +0 -229
- package/.agent/rules/01-architecture.md +0 -182
- package/.agent/rules/02-security.md +0 -388
- package/.agent/skills/ARCHITECT-INTEGRATION.md +0 -103
- package/.agent/skills/CI-PIPELINE.md +0 -113
- package/.agent/skills/PROJECT-PATTERNS.md +0 -62
- package/.agent/templates/ADR.md +0 -95
- package/.agent/templates/BDD.md +0 -57
- package/.agent/templates/C4.md +0 -67
- package/.agent/templates/TDD.md +0 -86
- package/.agent/templates/THREAT-MODEL.md +0 -63
- package/.agent/workflows/fix-bug.md +0 -228
- package/.agent/workflows/new-feature.md +0 -311
- package/.agent/workflows/review.md +0 -95
- package/.github/workflows/ci.yml +0 -43
- package/.github/workflows/publish.yml +0 -40
- package/CONTRIBUTING.md +0 -140
- package/LICENSE +0 -21
- package/PROJECT_STRUCTURE.txt +0 -168
- package/README.md +0 -261
- package/architect-report--girardelli-architect.json +0 -5332
- package/architect-run.sh +0 -427
- package/assets/banner-v3.html +0 -561
- package/debug.js +0 -6
- package/dist/adapters/cli.d.ts.map +0 -1
- package/dist/adapters/cli.js.map +0 -1
- package/dist/adapters/html-reporter/scripts.d.ts +0 -6
- package/dist/adapters/html-reporter/scripts.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/agents.d.ts +0 -3
- package/dist/adapters/html-reporter/sections/agents.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/agents.js +0 -259
- package/dist/adapters/html-reporter/sections/agents.js.map +0 -1
- package/dist/adapters/html-reporter/sections/anti-patterns.d.ts +0 -14
- package/dist/adapters/html-reporter/sections/anti-patterns.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/anti-patterns.js.map +0 -1
- package/dist/adapters/html-reporter/sections/header.d.ts +0 -4
- package/dist/adapters/html-reporter/sections/header.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/header.js.map +0 -1
- package/dist/adapters/html-reporter/sections/layers.d.ts +0 -10
- package/dist/adapters/html-reporter/sections/layers.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/layers.js.map +0 -1
- package/dist/adapters/html-reporter/sections/overview.d.ts +0 -3
- package/dist/adapters/html-reporter/sections/overview.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/overview.js.map +0 -1
- package/dist/adapters/html-reporter/sections/refactoring-plan.d.ts +0 -4
- package/dist/adapters/html-reporter/sections/refactoring-plan.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/refactoring-plan.js.map +0 -1
- package/dist/adapters/html-reporter/sections/score.d.ts +0 -8
- package/dist/adapters/html-reporter/sections/score.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/score.js.map +0 -1
- package/dist/adapters/html-reporter/sections/suggestions.d.ts.map +0 -1
- package/dist/adapters/html-reporter/sections/suggestions.js.map +0 -1
- package/dist/adapters/html-reporter/styles.d.ts.map +0 -1
- package/dist/adapters/html-reporter/utils.d.ts +0 -27
- package/dist/adapters/html-reporter/utils.d.ts.map +0 -1
- package/dist/adapters/html-reporter/utils.js +0 -82
- package/dist/adapters/html-reporter/utils.js.map +0 -1
- package/dist/adapters/html-reporter/utils_adapters.d.ts.map +0 -1
- package/dist/adapters/html-reporter/utils_adapters.js.map +0 -1
- package/dist/adapters/html-reporter/utils_sections.d.ts.map +0 -1
- package/dist/adapters/html-reporter/utils_sections.js.map +0 -1
- package/dist/adapters/html-reporter.d.ts +0 -9
- package/dist/adapters/html-reporter.d.ts.map +0 -1
- package/dist/adapters/html-reporter.js +0 -87
- package/dist/adapters/html-reporter.js.map +0 -1
- package/dist/adapters/html-reporter_deps.d.ts +0 -15
- package/dist/adapters/html-reporter_deps.d.ts.map +0 -1
- package/dist/adapters/html-reporter_deps.js +0 -12
- package/dist/adapters/html-reporter_deps.js.map +0 -1
- package/dist/adapters/refactor-reporter.d.ts +0 -20
- package/dist/adapters/refactor-reporter.d.ts.map +0 -1
- package/dist/adapters/refactor-reporter.js +0 -389
- package/dist/adapters/refactor-reporter.js.map +0 -1
- package/dist/adapters/reporter.d.ts +0 -13
- package/dist/adapters/reporter.d.ts.map +0 -1
- package/dist/adapters/reporter.js.map +0 -1
- package/dist/agent-generator/context-enricher.d.ts +0 -15
- package/dist/agent-generator/context-enricher.d.ts.map +0 -1
- package/dist/agent-generator/context-enricher.js +0 -53
- package/dist/agent-generator/context-enricher.js.map +0 -1
- package/dist/agent-generator/detectors/base-detector.d.ts +0 -9
- package/dist/agent-generator/detectors/base-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/base-detector.js +0 -12
- package/dist/agent-generator/detectors/base-detector.js.map +0 -1
- package/dist/agent-generator/detectors/dart-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/dart-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/dart-detector.js +0 -15
- package/dist/agent-generator/detectors/dart-detector.js.map +0 -1
- package/dist/agent-generator/detectors/framework-registry.d.ts +0 -6
- package/dist/agent-generator/detectors/framework-registry.d.ts.map +0 -1
- package/dist/agent-generator/detectors/framework-registry.js +0 -81
- package/dist/agent-generator/detectors/framework-registry.js.map +0 -1
- package/dist/agent-generator/detectors/go-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/go-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/go-detector.js +0 -25
- package/dist/agent-generator/detectors/go-detector.js.map +0 -1
- package/dist/agent-generator/detectors/java-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/java-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/java-detector.js +0 -44
- package/dist/agent-generator/detectors/java-detector.js.map +0 -1
- package/dist/agent-generator/detectors/node-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/node-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/node-detector.js +0 -28
- package/dist/agent-generator/detectors/node-detector.js.map +0 -1
- package/dist/agent-generator/detectors/php-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/php-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/php-detector.js +0 -28
- package/dist/agent-generator/detectors/php-detector.js.map +0 -1
- package/dist/agent-generator/detectors/python-detector.d.ts +0 -8
- package/dist/agent-generator/detectors/python-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/python-detector.js +0 -116
- package/dist/agent-generator/detectors/python-detector.js.map +0 -1
- package/dist/agent-generator/detectors/ruby-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/ruby-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/ruby-detector.js +0 -22
- package/dist/agent-generator/detectors/ruby-detector.js.map +0 -1
- package/dist/agent-generator/detectors/rust-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/rust-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/rust-detector.js +0 -18
- package/dist/agent-generator/detectors/rust-detector.js.map +0 -1
- package/dist/agent-generator/detectors/structure-detector.d.ts +0 -5
- package/dist/agent-generator/detectors/structure-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/structure-detector.js +0 -35
- package/dist/agent-generator/detectors/structure-detector.js.map +0 -1
- package/dist/agent-generator/detectors/toolchain-detector.d.ts +0 -6
- package/dist/agent-generator/detectors/toolchain-detector.d.ts.map +0 -1
- package/dist/agent-generator/detectors/toolchain-detector.js +0 -163
- package/dist/agent-generator/detectors/toolchain-detector.js.map +0 -1
- package/dist/agent-generator/domain-inferrer.d.ts +0 -52
- package/dist/agent-generator/domain-inferrer.d.ts.map +0 -1
- package/dist/agent-generator/domain-inferrer.js +0 -585
- package/dist/agent-generator/domain-inferrer.js.map +0 -1
- package/dist/agent-generator/engines/audit-engine.d.ts +0 -7
- package/dist/agent-generator/engines/audit-engine.d.ts.map +0 -1
- package/dist/agent-generator/engines/audit-engine.js +0 -84
- package/dist/agent-generator/engines/audit-engine.js.map +0 -1
- package/dist/agent-generator/engines/context-builder.d.ts +0 -11
- package/dist/agent-generator/engines/context-builder.d.ts.map +0 -1
- package/dist/agent-generator/engines/context-builder.js +0 -86
- package/dist/agent-generator/engines/context-builder.js.map +0 -1
- package/dist/agent-generator/engines/generation-engine.d.ts +0 -9
- package/dist/agent-generator/engines/generation-engine.d.ts.map +0 -1
- package/dist/agent-generator/engines/generation-engine.js +0 -177
- package/dist/agent-generator/engines/generation-engine.js.map +0 -1
- package/dist/agent-generator/engines/suggestion-engine.d.ts +0 -15
- package/dist/agent-generator/engines/suggestion-engine.d.ts.map +0 -1
- package/dist/agent-generator/engines/suggestion-engine.js +0 -176
- package/dist/agent-generator/engines/suggestion-engine.js.map +0 -1
- package/dist/agent-generator/enrichers/analysis-helpers.d.ts +0 -9
- package/dist/agent-generator/enrichers/analysis-helpers.d.ts.map +0 -1
- package/dist/agent-generator/enrichers/analysis-helpers.js +0 -51
- package/dist/agent-generator/enrichers/analysis-helpers.js.map +0 -1
- package/dist/agent-generator/enrichers/description-generator.d.ts +0 -5
- package/dist/agent-generator/enrichers/description-generator.d.ts.map +0 -1
- package/dist/agent-generator/enrichers/description-generator.js +0 -81
- package/dist/agent-generator/enrichers/description-generator.js.map +0 -1
- package/dist/agent-generator/enrichers/endpoint-extractor.d.ts +0 -8
- package/dist/agent-generator/enrichers/endpoint-extractor.d.ts.map +0 -1
- package/dist/agent-generator/enrichers/endpoint-extractor.js +0 -91
- package/dist/agent-generator/enrichers/endpoint-extractor.js.map +0 -1
- package/dist/agent-generator/enrichers/layer-classifier.d.ts +0 -13
- package/dist/agent-generator/enrichers/layer-classifier.d.ts.map +0 -1
- package/dist/agent-generator/enrichers/layer-classifier.js +0 -150
- package/dist/agent-generator/enrichers/layer-classifier.js.map +0 -1
- package/dist/agent-generator/enrichers/module-extractor.d.ts +0 -11
- package/dist/agent-generator/enrichers/module-extractor.d.ts.map +0 -1
- package/dist/agent-generator/enrichers/module-extractor.js +0 -174
- package/dist/agent-generator/enrichers/module-extractor.js.map +0 -1
- package/dist/agent-generator/framework-detector.d.ts +0 -18
- package/dist/agent-generator/framework-detector.d.ts.map +0 -1
- package/dist/agent-generator/framework-detector.js +0 -58
- package/dist/agent-generator/framework-detector.js.map +0 -1
- package/dist/agent-generator/index.d.ts +0 -22
- package/dist/agent-generator/index.d.ts.map +0 -1
- package/dist/agent-generator/index.js +0 -39
- package/dist/agent-generator/index.js.map +0 -1
- package/dist/agent-generator/stack-detector.d.ts +0 -14
- package/dist/agent-generator/stack-detector.d.ts.map +0 -1
- package/dist/agent-generator/stack-detector.js +0 -124
- package/dist/agent-generator/stack-detector.js.map +0 -1
- package/dist/agent-generator/templates/core/agents.d.ts +0 -17
- package/dist/agent-generator/templates/core/agents.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/agents.js +0 -1256
- package/dist/agent-generator/templates/core/agents.js.map +0 -1
- package/dist/agent-generator/templates/core/architecture-rules.d.ts +0 -7
- package/dist/agent-generator/templates/core/architecture-rules.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/architecture-rules.js +0 -274
- package/dist/agent-generator/templates/core/architecture-rules.js.map +0 -1
- package/dist/agent-generator/templates/core/general-rules.d.ts +0 -8
- package/dist/agent-generator/templates/core/general-rules.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/general-rules.js +0 -301
- package/dist/agent-generator/templates/core/general-rules.js.map +0 -1
- package/dist/agent-generator/templates/core/hooks-generator.d.ts +0 -21
- package/dist/agent-generator/templates/core/hooks-generator.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/hooks-generator.js +0 -233
- package/dist/agent-generator/templates/core/hooks-generator.js.map +0 -1
- package/dist/agent-generator/templates/core/index-md.d.ts +0 -7
- package/dist/agent-generator/templates/core/index-md.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/index-md.js +0 -246
- package/dist/agent-generator/templates/core/index-md.js.map +0 -1
- package/dist/agent-generator/templates/core/orchestrator.d.ts +0 -8
- package/dist/agent-generator/templates/core/orchestrator.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/orchestrator.js +0 -422
- package/dist/agent-generator/templates/core/orchestrator.js.map +0 -1
- package/dist/agent-generator/templates/core/preflight.d.ts +0 -8
- package/dist/agent-generator/templates/core/preflight.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/preflight.js +0 -213
- package/dist/agent-generator/templates/core/preflight.js.map +0 -1
- package/dist/agent-generator/templates/core/quality-gates.d.ts +0 -11
- package/dist/agent-generator/templates/core/quality-gates.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/quality-gates.js +0 -254
- package/dist/agent-generator/templates/core/quality-gates.js.map +0 -1
- package/dist/agent-generator/templates/core/security-rules.d.ts +0 -7
- package/dist/agent-generator/templates/core/security-rules.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/security-rules.js +0 -528
- package/dist/agent-generator/templates/core/security-rules.js.map +0 -1
- package/dist/agent-generator/templates/core/skills-generator.d.ts +0 -19
- package/dist/agent-generator/templates/core/skills-generator.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/skills-generator.js +0 -546
- package/dist/agent-generator/templates/core/skills-generator.js.map +0 -1
- package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts +0 -7
- package/dist/agent-generator/templates/core/workflow-fix-bug.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/workflow-fix-bug.js +0 -237
- package/dist/agent-generator/templates/core/workflow-fix-bug.js.map +0 -1
- package/dist/agent-generator/templates/core/workflow-new-feature.d.ts +0 -8
- package/dist/agent-generator/templates/core/workflow-new-feature.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/workflow-new-feature.js +0 -321
- package/dist/agent-generator/templates/core/workflow-new-feature.js.map +0 -1
- package/dist/agent-generator/templates/core/workflow-review.d.ts +0 -7
- package/dist/agent-generator/templates/core/workflow-review.d.ts.map +0 -1
- package/dist/agent-generator/templates/core/workflow-review.js +0 -104
- package/dist/agent-generator/templates/core/workflow-review.js.map +0 -1
- package/dist/agent-generator/templates/domain/index.d.ts +0 -22
- package/dist/agent-generator/templates/domain/index.d.ts.map +0 -1
- package/dist/agent-generator/templates/domain/index.js +0 -1176
- package/dist/agent-generator/templates/domain/index.js.map +0 -1
- package/dist/agent-generator/templates/helpers/base-helpers.d.ts +0 -11
- package/dist/agent-generator/templates/helpers/base-helpers.d.ts.map +0 -1
- package/dist/agent-generator/templates/helpers/base-helpers.js +0 -20
- package/dist/agent-generator/templates/helpers/base-helpers.js.map +0 -1
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.d.ts +0 -3
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.d.ts.map +0 -1
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.js +0 -77
- package/dist/agent-generator/templates/helpers/cross-ref-helpers.js.map +0 -1
- package/dist/agent-generator/templates/helpers/security-helpers.d.ts +0 -3
- package/dist/agent-generator/templates/helpers/security-helpers.d.ts.map +0 -1
- package/dist/agent-generator/templates/helpers/security-helpers.js +0 -182
- package/dist/agent-generator/templates/helpers/security-helpers.js.map +0 -1
- package/dist/agent-generator/templates/helpers/stack-helpers.d.ts +0 -5
- package/dist/agent-generator/templates/helpers/stack-helpers.d.ts.map +0 -1
- package/dist/agent-generator/templates/helpers/stack-helpers.js +0 -69
- package/dist/agent-generator/templates/helpers/stack-helpers.js.map +0 -1
- package/dist/agent-generator/templates/helpers/structure-helpers.d.ts +0 -3
- package/dist/agent-generator/templates/helpers/structure-helpers.d.ts.map +0 -1
- package/dist/agent-generator/templates/helpers/structure-helpers.js +0 -275
- package/dist/agent-generator/templates/helpers/structure-helpers.js.map +0 -1
- package/dist/agent-generator/templates/helpers/summary-helpers.d.ts +0 -7
- package/dist/agent-generator/templates/helpers/summary-helpers.d.ts.map +0 -1
- package/dist/agent-generator/templates/helpers/summary-helpers.js +0 -56
- package/dist/agent-generator/templates/helpers/summary-helpers.js.map +0 -1
- package/dist/agent-generator/templates/stack/index.d.ts +0 -8
- package/dist/agent-generator/templates/stack/index.d.ts.map +0 -1
- package/dist/agent-generator/templates/stack/index.js +0 -695
- package/dist/agent-generator/templates/stack/index.js.map +0 -1
- package/dist/agent-generator/templates/template-helpers.d.ts +0 -12
- package/dist/agent-generator/templates/template-helpers.d.ts.map +0 -1
- package/dist/agent-generator/templates/template-helpers.js +0 -12
- package/dist/agent-generator/templates/template-helpers.js.map +0 -1
- package/dist/agent-generator/types.d.ts +0 -196
- package/dist/agent-generator/types.d.ts.map +0 -1
- package/dist/agent-generator/types.js +0 -27
- package/dist/agent-generator/types.js.map +0 -1
- package/dist/analyzer.d.ts +0 -38
- package/dist/analyzer.d.ts.map +0 -1
- package/dist/analyzer.js +0 -383
- package/dist/analyzer.js.map +0 -1
- package/dist/analyzers/forecast.d.ts +0 -85
- package/dist/analyzers/forecast.d.ts.map +0 -1
- package/dist/analyzers/forecast.js +0 -337
- package/dist/analyzers/forecast.js.map +0 -1
- package/dist/analyzers/git-cache.d.ts +0 -7
- package/dist/analyzers/git-cache.d.ts.map +0 -1
- package/dist/analyzers/git-cache.js +0 -41
- package/dist/analyzers/git-cache.js.map +0 -1
- package/dist/analyzers/git-history.d.ts +0 -113
- package/dist/analyzers/git-history.d.ts.map +0 -1
- package/dist/analyzers/git-history.js +0 -339
- package/dist/analyzers/git-history.js.map +0 -1
- package/dist/analyzers/index.d.ts +0 -10
- package/dist/analyzers/index.d.ts.map +0 -1
- package/dist/analyzers/index.js +0 -7
- package/dist/analyzers/index.js.map +0 -1
- package/dist/analyzers/temporal-scorer.d.ts +0 -72
- package/dist/analyzers/temporal-scorer.d.ts.map +0 -1
- package/dist/analyzers/temporal-scorer.js +0 -140
- package/dist/analyzers/temporal-scorer.js.map +0 -1
- package/dist/anti-patterns.d.ts +0 -24
- package/dist/anti-patterns.d.ts.map +0 -1
- package/dist/anti-patterns.js +0 -230
- package/dist/anti-patterns.js.map +0 -1
- package/dist/cli.d.ts +0 -14
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config.d.ts +0 -12
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -110
- package/dist/config.js.map +0 -1
- package/dist/core/agent-generator/context-enricher.d.ts +0 -18
- package/dist/core/agent-generator/context-enricher.d.ts.map +0 -1
- package/dist/core/agent-generator/context-enricher.js +0 -53
- package/dist/core/agent-generator/context-enricher.js.map +0 -1
- package/dist/core/agent-generator/detectors/base-detector.d.ts +0 -9
- package/dist/core/agent-generator/detectors/base-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/base-detector.js +0 -12
- package/dist/core/agent-generator/detectors/base-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/dart-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/dart-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/dart-detector.js +0 -15
- package/dist/core/agent-generator/detectors/dart-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/framework-registry.d.ts +0 -6
- package/dist/core/agent-generator/detectors/framework-registry.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/framework-registry.js +0 -81
- package/dist/core/agent-generator/detectors/framework-registry.js.map +0 -1
- package/dist/core/agent-generator/detectors/go-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/go-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/go-detector.js +0 -25
- package/dist/core/agent-generator/detectors/go-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/java-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/java-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/java-detector.js +0 -44
- package/dist/core/agent-generator/detectors/java-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/node-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/node-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/node-detector.js +0 -28
- package/dist/core/agent-generator/detectors/node-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/php-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/php-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/php-detector.js +0 -28
- package/dist/core/agent-generator/detectors/php-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/python-detector.d.ts +0 -8
- package/dist/core/agent-generator/detectors/python-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/python-detector.js +0 -116
- package/dist/core/agent-generator/detectors/python-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/ruby-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/ruby-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/ruby-detector.js +0 -22
- package/dist/core/agent-generator/detectors/ruby-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/rust-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/rust-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/rust-detector.js +0 -18
- package/dist/core/agent-generator/detectors/rust-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/structure-detector.d.ts +0 -5
- package/dist/core/agent-generator/detectors/structure-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/structure-detector.js +0 -35
- package/dist/core/agent-generator/detectors/structure-detector.js.map +0 -1
- package/dist/core/agent-generator/detectors/toolchain-detector.d.ts +0 -6
- package/dist/core/agent-generator/detectors/toolchain-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/detectors/toolchain-detector.js +0 -163
- package/dist/core/agent-generator/detectors/toolchain-detector.js.map +0 -1
- package/dist/core/agent-generator/domain-inferrer.d.ts +0 -52
- package/dist/core/agent-generator/domain-inferrer.d.ts.map +0 -1
- package/dist/core/agent-generator/domain-inferrer.js +0 -585
- package/dist/core/agent-generator/domain-inferrer.js.map +0 -1
- package/dist/core/agent-generator/engines/audit-engine.d.ts +0 -9
- package/dist/core/agent-generator/engines/audit-engine.d.ts.map +0 -1
- package/dist/core/agent-generator/engines/audit-engine.js +0 -84
- package/dist/core/agent-generator/engines/audit-engine.js.map +0 -1
- package/dist/core/agent-generator/engines/context-builder.d.ts +0 -13
- package/dist/core/agent-generator/engines/context-builder.d.ts.map +0 -1
- package/dist/core/agent-generator/engines/context-builder.js +0 -86
- package/dist/core/agent-generator/engines/context-builder.js.map +0 -1
- package/dist/core/agent-generator/engines/generation-engine.d.ts +0 -8
- package/dist/core/agent-generator/engines/generation-engine.d.ts.map +0 -1
- package/dist/core/agent-generator/engines/generation-engine.js +0 -162
- package/dist/core/agent-generator/engines/generation-engine.js.map +0 -1
- package/dist/core/agent-generator/engines/generation-engine_deps.d.ts +0 -22
- package/dist/core/agent-generator/engines/generation-engine_deps.d.ts.map +0 -1
- package/dist/core/agent-generator/engines/generation-engine_deps.js +0 -17
- package/dist/core/agent-generator/engines/generation-engine_deps.js.map +0 -1
- package/dist/core/agent-generator/engines/suggestion-engine.d.ts +0 -14
- package/dist/core/agent-generator/engines/suggestion-engine.d.ts.map +0 -1
- package/dist/core/agent-generator/engines/suggestion-engine.js +0 -173
- package/dist/core/agent-generator/engines/suggestion-engine.js.map +0 -1
- package/dist/core/agent-generator/engines/suggestion-engine_deps.d.ts +0 -9
- package/dist/core/agent-generator/engines/suggestion-engine_deps.d.ts.map +0 -1
- package/dist/core/agent-generator/engines/suggestion-engine_deps.js +0 -5
- package/dist/core/agent-generator/engines/suggestion-engine_deps.js.map +0 -1
- package/dist/core/agent-generator/enrichers/analysis-helpers.d.ts +0 -10
- package/dist/core/agent-generator/enrichers/analysis-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/enrichers/analysis-helpers.js +0 -51
- package/dist/core/agent-generator/enrichers/analysis-helpers.js.map +0 -1
- package/dist/core/agent-generator/enrichers/description-generator.d.ts +0 -5
- package/dist/core/agent-generator/enrichers/description-generator.d.ts.map +0 -1
- package/dist/core/agent-generator/enrichers/description-generator.js +0 -81
- package/dist/core/agent-generator/enrichers/description-generator.js.map +0 -1
- package/dist/core/agent-generator/enrichers/endpoint-extractor.d.ts +0 -8
- package/dist/core/agent-generator/enrichers/endpoint-extractor.d.ts.map +0 -1
- package/dist/core/agent-generator/enrichers/endpoint-extractor.js +0 -91
- package/dist/core/agent-generator/enrichers/endpoint-extractor.js.map +0 -1
- package/dist/core/agent-generator/enrichers/layer-classifier.d.ts +0 -13
- package/dist/core/agent-generator/enrichers/layer-classifier.d.ts.map +0 -1
- package/dist/core/agent-generator/enrichers/layer-classifier.js +0 -150
- package/dist/core/agent-generator/enrichers/layer-classifier.js.map +0 -1
- package/dist/core/agent-generator/enrichers/module-extractor.d.ts +0 -11
- package/dist/core/agent-generator/enrichers/module-extractor.d.ts.map +0 -1
- package/dist/core/agent-generator/enrichers/module-extractor.js +0 -174
- package/dist/core/agent-generator/enrichers/module-extractor.js.map +0 -1
- package/dist/core/agent-generator/framework-detector.d.ts +0 -18
- package/dist/core/agent-generator/framework-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/framework-detector.js +0 -58
- package/dist/core/agent-generator/framework-detector.js.map +0 -1
- package/dist/core/agent-generator/index.d.ts +0 -26
- package/dist/core/agent-generator/index.d.ts.map +0 -1
- package/dist/core/agent-generator/index.js +0 -39
- package/dist/core/agent-generator/index.js.map +0 -1
- package/dist/core/agent-generator/stack-detector.d.ts +0 -14
- package/dist/core/agent-generator/stack-detector.d.ts.map +0 -1
- package/dist/core/agent-generator/stack-detector.js +0 -124
- package/dist/core/agent-generator/stack-detector.js.map +0 -1
- package/dist/core/agent-generator/templates/core/agents.d.ts +0 -17
- package/dist/core/agent-generator/templates/core/agents.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/agents.js +0 -1256
- package/dist/core/agent-generator/templates/core/agents.js.map +0 -1
- package/dist/core/agent-generator/templates/core/architecture-rules.d.ts +0 -7
- package/dist/core/agent-generator/templates/core/architecture-rules.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/architecture-rules.js +0 -274
- package/dist/core/agent-generator/templates/core/architecture-rules.js.map +0 -1
- package/dist/core/agent-generator/templates/core/general-rules.d.ts +0 -8
- package/dist/core/agent-generator/templates/core/general-rules.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/general-rules.js +0 -301
- package/dist/core/agent-generator/templates/core/general-rules.js.map +0 -1
- package/dist/core/agent-generator/templates/core/hooks-generator.d.ts +0 -21
- package/dist/core/agent-generator/templates/core/hooks-generator.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/hooks-generator.js +0 -233
- package/dist/core/agent-generator/templates/core/hooks-generator.js.map +0 -1
- package/dist/core/agent-generator/templates/core/index-md.d.ts +0 -7
- package/dist/core/agent-generator/templates/core/index-md.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/index-md.js +0 -246
- package/dist/core/agent-generator/templates/core/index-md.js.map +0 -1
- package/dist/core/agent-generator/templates/core/orchestrator.d.ts +0 -8
- package/dist/core/agent-generator/templates/core/orchestrator.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/orchestrator.js +0 -422
- package/dist/core/agent-generator/templates/core/orchestrator.js.map +0 -1
- package/dist/core/agent-generator/templates/core/preflight.d.ts +0 -8
- package/dist/core/agent-generator/templates/core/preflight.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/preflight.js +0 -213
- package/dist/core/agent-generator/templates/core/preflight.js.map +0 -1
- package/dist/core/agent-generator/templates/core/quality-gates.d.ts +0 -11
- package/dist/core/agent-generator/templates/core/quality-gates.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/quality-gates.js +0 -254
- package/dist/core/agent-generator/templates/core/quality-gates.js.map +0 -1
- package/dist/core/agent-generator/templates/core/security-rules.d.ts +0 -7
- package/dist/core/agent-generator/templates/core/security-rules.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/security-rules.js +0 -528
- package/dist/core/agent-generator/templates/core/security-rules.js.map +0 -1
- package/dist/core/agent-generator/templates/core/skills-generator.d.ts +0 -19
- package/dist/core/agent-generator/templates/core/skills-generator.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/skills-generator.js +0 -546
- package/dist/core/agent-generator/templates/core/skills-generator.js.map +0 -1
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.d.ts +0 -7
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.js +0 -237
- package/dist/core/agent-generator/templates/core/workflow-fix-bug.js.map +0 -1
- package/dist/core/agent-generator/templates/core/workflow-new-feature.d.ts +0 -8
- package/dist/core/agent-generator/templates/core/workflow-new-feature.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/workflow-new-feature.js +0 -321
- package/dist/core/agent-generator/templates/core/workflow-new-feature.js.map +0 -1
- package/dist/core/agent-generator/templates/core/workflow-review.d.ts +0 -7
- package/dist/core/agent-generator/templates/core/workflow-review.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/core/workflow-review.js +0 -104
- package/dist/core/agent-generator/templates/core/workflow-review.js.map +0 -1
- package/dist/core/agent-generator/templates/domain/index.d.ts +0 -22
- package/dist/core/agent-generator/templates/domain/index.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/domain/index.js +0 -1176
- package/dist/core/agent-generator/templates/domain/index.js.map +0 -1
- package/dist/core/agent-generator/templates/helpers/base-helpers.d.ts +0 -11
- package/dist/core/agent-generator/templates/helpers/base-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/helpers/base-helpers.js +0 -20
- package/dist/core/agent-generator/templates/helpers/base-helpers.js.map +0 -1
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts +0 -3
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.js +0 -77
- package/dist/core/agent-generator/templates/helpers/cross-ref-helpers.js.map +0 -1
- package/dist/core/agent-generator/templates/helpers/security-helpers.d.ts +0 -3
- package/dist/core/agent-generator/templates/helpers/security-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/helpers/security-helpers.js +0 -182
- package/dist/core/agent-generator/templates/helpers/security-helpers.js.map +0 -1
- package/dist/core/agent-generator/templates/helpers/stack-helpers.d.ts +0 -5
- package/dist/core/agent-generator/templates/helpers/stack-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/helpers/stack-helpers.js +0 -69
- package/dist/core/agent-generator/templates/helpers/stack-helpers.js.map +0 -1
- package/dist/core/agent-generator/templates/helpers/structure-helpers.d.ts +0 -3
- package/dist/core/agent-generator/templates/helpers/structure-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/helpers/structure-helpers.js +0 -275
- package/dist/core/agent-generator/templates/helpers/structure-helpers.js.map +0 -1
- package/dist/core/agent-generator/templates/helpers/summary-helpers.d.ts +0 -7
- package/dist/core/agent-generator/templates/helpers/summary-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/helpers/summary-helpers.js +0 -56
- package/dist/core/agent-generator/templates/helpers/summary-helpers.js.map +0 -1
- package/dist/core/agent-generator/templates/stack/index.d.ts +0 -8
- package/dist/core/agent-generator/templates/stack/index.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/stack/index.js +0 -695
- package/dist/core/agent-generator/templates/stack/index.js.map +0 -1
- package/dist/core/agent-generator/templates/template-helpers.d.ts +0 -12
- package/dist/core/agent-generator/templates/template-helpers.d.ts.map +0 -1
- package/dist/core/agent-generator/templates/template-helpers.js +0 -12
- package/dist/core/agent-generator/templates/template-helpers.js.map +0 -1
- package/dist/core/agent-generator/types/agent.d.ts +0 -40
- package/dist/core/agent-generator/types/agent.d.ts.map +0 -1
- package/dist/core/agent-generator/types/agent.js +0 -27
- package/dist/core/agent-generator/types/agent.js.map +0 -1
- package/dist/core/agent-generator/types/domain.d.ts +0 -59
- package/dist/core/agent-generator/types/domain.d.ts.map +0 -1
- package/dist/core/agent-generator/types/domain.js +0 -2
- package/dist/core/agent-generator/types/domain.js.map +0 -1
- package/dist/core/agent-generator/types/stack.d.ts +0 -37
- package/dist/core/agent-generator/types/stack.d.ts.map +0 -1
- package/dist/core/agent-generator/types/stack.js +0 -2
- package/dist/core/agent-generator/types/stack.js.map +0 -1
- package/dist/core/agent-generator/types/template.d.ts +0 -30
- package/dist/core/agent-generator/types/template.d.ts.map +0 -1
- package/dist/core/agent-generator/types/template.js +0 -2
- package/dist/core/agent-generator/types/template.js.map +0 -1
- package/dist/core/agent-generator/types.d.ts +0 -197
- package/dist/core/agent-generator/types.d.ts.map +0 -1
- package/dist/core/agent-generator/types.js +0 -27
- package/dist/core/agent-generator/types.js.map +0 -1
- package/dist/core/analyzer.d.ts +0 -39
- package/dist/core/analyzer.d.ts.map +0 -1
- package/dist/core/analyzer.js +0 -383
- package/dist/core/analyzer.js.map +0 -1
- package/dist/core/analyzers/forecast.d.ts +0 -85
- package/dist/core/analyzers/forecast.d.ts.map +0 -1
- package/dist/core/analyzers/forecast.js +0 -337
- package/dist/core/analyzers/forecast.js.map +0 -1
- package/dist/core/analyzers/index.d.ts +0 -10
- package/dist/core/analyzers/index.d.ts.map +0 -1
- package/dist/core/analyzers/index.js +0 -7
- package/dist/core/analyzers/index.js.map +0 -1
- package/dist/core/analyzers/temporal-scorer.d.ts +0 -72
- package/dist/core/analyzers/temporal-scorer.d.ts.map +0 -1
- package/dist/core/analyzers/temporal-scorer.js +0 -140
- package/dist/core/analyzers/temporal-scorer.js.map +0 -1
- package/dist/core/anti-patterns.d.ts +0 -25
- package/dist/core/anti-patterns.d.ts.map +0 -1
- package/dist/core/anti-patterns.js +0 -239
- package/dist/core/anti-patterns.js.map +0 -1
- package/dist/core/architect.d.ts.map +0 -1
- package/dist/core/architect.js.map +0 -1
- package/dist/core/architect_deps.d.ts +0 -14
- package/dist/core/architect_deps.d.ts.map +0 -1
- package/dist/core/architect_deps.js +0 -12
- package/dist/core/architect_deps.js.map +0 -1
- package/dist/core/config.d.ts +0 -12
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js +0 -110
- package/dist/core/config.js.map +0 -1
- package/dist/core/diagram.d.ts +0 -10
- package/dist/core/diagram.d.ts.map +0 -1
- package/dist/core/diagram.js +0 -101
- package/dist/core/diagram.js.map +0 -1
- package/dist/core/project-summarizer.d.ts +0 -17
- package/dist/core/project-summarizer.d.ts.map +0 -1
- package/dist/core/project-summarizer.js +0 -39
- package/dist/core/project-summarizer.js.map +0 -1
- package/dist/core/refactor-engine.d.ts +0 -19
- package/dist/core/refactor-engine.d.ts.map +0 -1
- package/dist/core/refactor-engine.js +0 -86
- package/dist/core/refactor-engine.js.map +0 -1
- package/dist/core/rules/barrel-optimizer.d.ts +0 -14
- package/dist/core/rules/barrel-optimizer.d.ts.map +0 -1
- package/dist/core/rules/barrel-optimizer.js +0 -78
- package/dist/core/rules/barrel-optimizer.js.map +0 -1
- package/dist/core/rules/dead-code-detector.d.ts +0 -22
- package/dist/core/rules/dead-code-detector.d.ts.map +0 -1
- package/dist/core/rules/dead-code-detector.js +0 -118
- package/dist/core/rules/dead-code-detector.js.map +0 -1
- package/dist/core/rules/hub-splitter.d.ts +0 -14
- package/dist/core/rules/hub-splitter.d.ts.map +0 -1
- package/dist/core/rules/hub-splitter.js +0 -119
- package/dist/core/rules/hub-splitter.js.map +0 -1
- package/dist/core/rules/import-organizer.d.ts +0 -14
- package/dist/core/rules/import-organizer.d.ts.map +0 -1
- package/dist/core/rules/import-organizer.js +0 -86
- package/dist/core/rules/import-organizer.js.map +0 -1
- package/dist/core/rules/module-grouper.d.ts +0 -14
- package/dist/core/rules/module-grouper.d.ts.map +0 -1
- package/dist/core/rules/module-grouper.js +0 -118
- package/dist/core/rules/module-grouper.js.map +0 -1
- package/dist/core/scorer.d.ts +0 -27
- package/dist/core/scorer.d.ts.map +0 -1
- package/dist/core/scorer.js +0 -229
- package/dist/core/scorer.js.map +0 -1
- package/dist/core/summarizer/keyword-extractor.d.ts +0 -7
- package/dist/core/summarizer/keyword-extractor.d.ts.map +0 -1
- package/dist/core/summarizer/keyword-extractor.js +0 -37
- package/dist/core/summarizer/keyword-extractor.js.map +0 -1
- package/dist/core/summarizer/module-inferrer.d.ts +0 -12
- package/dist/core/summarizer/module-inferrer.d.ts.map +0 -1
- package/dist/core/summarizer/module-inferrer.js +0 -171
- package/dist/core/summarizer/module-inferrer.js.map +0 -1
- package/dist/core/summarizer/package-reader.d.ts +0 -4
- package/dist/core/summarizer/package-reader.d.ts.map +0 -1
- package/dist/core/summarizer/package-reader.js +0 -30
- package/dist/core/summarizer/package-reader.js.map +0 -1
- package/dist/core/summarizer/purpose-inferrer.d.ts +0 -9
- package/dist/core/summarizer/purpose-inferrer.d.ts.map +0 -1
- package/dist/core/summarizer/purpose-inferrer.js +0 -178
- package/dist/core/summarizer/purpose-inferrer.js.map +0 -1
- package/dist/core/summarizer/readme-reader.d.ts +0 -4
- package/dist/core/summarizer/readme-reader.d.ts.map +0 -1
- package/dist/core/summarizer/readme-reader.js +0 -21
- package/dist/core/summarizer/readme-reader.js.map +0 -1
- package/dist/core/types/core.d.ts +0 -87
- package/dist/core/types/core.d.ts.map +0 -1
- package/dist/core/types/core.js +0 -2
- package/dist/core/types/core.js.map +0 -1
- package/dist/core/types/infrastructure.d.ts +0 -39
- package/dist/core/types/infrastructure.d.ts.map +0 -1
- package/dist/core/types/infrastructure.js +0 -2
- package/dist/core/types/infrastructure.js.map +0 -1
- package/dist/core/types/rules.d.ts +0 -54
- package/dist/core/types/rules.d.ts.map +0 -1
- package/dist/core/types/rules.js +0 -2
- package/dist/core/types/rules.js.map +0 -1
- package/dist/core/types/summarizer.d.ts +0 -13
- package/dist/core/types/summarizer.d.ts.map +0 -1
- package/dist/core/types/summarizer.js +0 -2
- package/dist/core/types/summarizer.js.map +0 -1
- package/dist/core/types.d.ts +0 -187
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -2
- package/dist/core/types.js.map +0 -1
- package/dist/diagram.d.ts +0 -10
- package/dist/diagram.d.ts.map +0 -1
- package/dist/diagram.js +0 -101
- package/dist/diagram.js.map +0 -1
- package/dist/html-reporter/scripts.d.ts.map +0 -1
- package/dist/html-reporter/scripts.js +0 -316
- package/dist/html-reporter/scripts.js.map +0 -1
- package/dist/html-reporter/sections/agents.d.ts +0 -3
- package/dist/html-reporter/sections/agents.d.ts.map +0 -1
- package/dist/html-reporter/sections/agents.js.map +0 -1
- package/dist/html-reporter/sections/anti-patterns.d.ts.map +0 -1
- package/dist/html-reporter/sections/anti-patterns.js +0 -64
- package/dist/html-reporter/sections/anti-patterns.js.map +0 -1
- package/dist/html-reporter/sections/header.d.ts.map +0 -1
- package/dist/html-reporter/sections/header.js +0 -30
- package/dist/html-reporter/sections/header.js.map +0 -1
- package/dist/html-reporter/sections/layers.d.ts.map +0 -1
- package/dist/html-reporter/sections/layers.js +0 -143
- package/dist/html-reporter/sections/layers.js.map +0 -1
- package/dist/html-reporter/sections/overview.d.ts +0 -3
- package/dist/html-reporter/sections/overview.d.ts.map +0 -1
- package/dist/html-reporter/sections/overview.js +0 -58
- package/dist/html-reporter/sections/overview.js.map +0 -1
- package/dist/html-reporter/sections/refactoring-plan.d.ts.map +0 -1
- package/dist/html-reporter/sections/refactoring-plan.js +0 -120
- package/dist/html-reporter/sections/refactoring-plan.js.map +0 -1
- package/dist/html-reporter/sections/score.d.ts.map +0 -1
- package/dist/html-reporter/sections/score.js +0 -69
- package/dist/html-reporter/sections/score.js.map +0 -1
- package/dist/html-reporter/sections/suggestions.d.ts +0 -8
- package/dist/html-reporter/sections/suggestions.d.ts.map +0 -1
- package/dist/html-reporter/sections/suggestions.js +0 -34
- package/dist/html-reporter/sections/suggestions.js.map +0 -1
- package/dist/html-reporter/styles.d.ts +0 -2
- package/dist/html-reporter/styles.d.ts.map +0 -1
- package/dist/html-reporter/styles.js +0 -504
- package/dist/html-reporter/styles.js.map +0 -1
- package/dist/html-reporter/utils.d.ts +0 -27
- package/dist/html-reporter/utils.d.ts.map +0 -1
- package/dist/html-reporter/utils.js +0 -82
- package/dist/html-reporter/utils.js.map +0 -1
- package/dist/html-reporter.d.ts.map +0 -1
- package/dist/html-reporter.js.map +0 -1
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -14
- package/dist/index.js.map +0 -1
- package/dist/infrastructure/git-cache.d.ts +0 -7
- package/dist/infrastructure/git-cache.d.ts.map +0 -1
- package/dist/infrastructure/git-cache.js +0 -41
- package/dist/infrastructure/git-cache.js.map +0 -1
- package/dist/infrastructure/git-history.d.ts +0 -113
- package/dist/infrastructure/git-history.d.ts.map +0 -1
- package/dist/infrastructure/git-history.js +0 -339
- package/dist/infrastructure/git-history.js.map +0 -1
- package/dist/infrastructure/logger.d.ts +0 -21
- package/dist/infrastructure/logger.d.ts.map +0 -1
- package/dist/infrastructure/logger.js +0 -59
- package/dist/infrastructure/logger.js.map +0 -1
- package/dist/infrastructure/scanner.d.ts +0 -32
- package/dist/infrastructure/scanner.d.ts.map +0 -1
- package/dist/infrastructure/scanner.js +0 -330
- package/dist/infrastructure/scanner.js.map +0 -1
- package/dist/logger.d.ts +0 -21
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -59
- package/dist/logger.js.map +0 -1
- package/dist/project-summarizer.d.ts +0 -16
- package/dist/project-summarizer.d.ts.map +0 -1
- package/dist/project-summarizer.js +0 -39
- package/dist/project-summarizer.js.map +0 -1
- package/dist/refactor-engine.d.ts +0 -18
- package/dist/refactor-engine.d.ts.map +0 -1
- package/dist/refactor-engine.js +0 -86
- package/dist/refactor-engine.js.map +0 -1
- package/dist/refactor-reporter.d.ts.map +0 -1
- package/dist/refactor-reporter.js.map +0 -1
- package/dist/reporter.d.ts.map +0 -1
- package/dist/reporter.js +0 -135
- package/dist/reporter.js.map +0 -1
- package/dist/rules/barrel-optimizer.d.ts +0 -13
- package/dist/rules/barrel-optimizer.d.ts.map +0 -1
- package/dist/rules/barrel-optimizer.js +0 -77
- package/dist/rules/barrel-optimizer.js.map +0 -1
- package/dist/rules/dead-code-detector.d.ts +0 -21
- package/dist/rules/dead-code-detector.d.ts.map +0 -1
- package/dist/rules/dead-code-detector.js +0 -117
- package/dist/rules/dead-code-detector.js.map +0 -1
- package/dist/rules/hub-splitter.d.ts +0 -13
- package/dist/rules/hub-splitter.d.ts.map +0 -1
- package/dist/rules/hub-splitter.js +0 -110
- package/dist/rules/hub-splitter.js.map +0 -1
- package/dist/rules/import-organizer.d.ts +0 -13
- package/dist/rules/import-organizer.d.ts.map +0 -1
- package/dist/rules/import-organizer.js +0 -85
- package/dist/rules/import-organizer.js.map +0 -1
- package/dist/rules/module-grouper.d.ts +0 -13
- package/dist/rules/module-grouper.d.ts.map +0 -1
- package/dist/rules/module-grouper.js +0 -110
- package/dist/rules/module-grouper.js.map +0 -1
- package/dist/scanner.d.ts +0 -31
- package/dist/scanner.d.ts.map +0 -1
- package/dist/scanner.js +0 -330
- package/dist/scanner.js.map +0 -1
- package/dist/scorer.d.ts +0 -27
- package/dist/scorer.d.ts.map +0 -1
- package/dist/scorer.js +0 -229
- package/dist/scorer.js.map +0 -1
- package/dist/summarizer/keyword-extractor.d.ts +0 -6
- package/dist/summarizer/keyword-extractor.d.ts.map +0 -1
- package/dist/summarizer/keyword-extractor.js +0 -37
- package/dist/summarizer/keyword-extractor.js.map +0 -1
- package/dist/summarizer/module-inferrer.d.ts +0 -10
- package/dist/summarizer/module-inferrer.d.ts.map +0 -1
- package/dist/summarizer/module-inferrer.js +0 -171
- package/dist/summarizer/module-inferrer.js.map +0 -1
- package/dist/summarizer/package-reader.d.ts +0 -4
- package/dist/summarizer/package-reader.d.ts.map +0 -1
- package/dist/summarizer/package-reader.js +0 -30
- package/dist/summarizer/package-reader.js.map +0 -1
- package/dist/summarizer/purpose-inferrer.d.ts +0 -8
- package/dist/summarizer/purpose-inferrer.d.ts.map +0 -1
- package/dist/summarizer/purpose-inferrer.js +0 -178
- package/dist/summarizer/purpose-inferrer.js.map +0 -1
- package/dist/summarizer/readme-reader.d.ts +0 -4
- package/dist/summarizer/readme-reader.d.ts.map +0 -1
- package/dist/summarizer/readme-reader.js +0 -21
- package/dist/summarizer/readme-reader.js.map +0 -1
- package/dist/types.d.ts +0 -186
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +0 -1
- package/examples/sample-report.md +0 -207
- package/fix-scorer.js +0 -18
- package/fix-tests.js +0 -73
- package/jest.config.js +0 -18
- package/scripts/decompose-detectors.ts +0 -183
- package/scripts/decompose-detectors_deps.ts +0 -16
- package/scripts/decompose-enrichers.ts +0 -191
- package/scripts/decompose-enrichers_deps.ts +0 -10
- package/scripts/decompose-helpers.ts +0 -92
- package/scripts/decompose-summarizer.ts +0 -127
- package/setup-refactor.sh +0 -21
- package/src/adapters/html-reporter_deps.ts +0 -14
- package/src/core/agent-generator/context-enricher.ts +0 -67
- package/src/core/agent-generator/detectors/base-detector.ts +0 -18
- package/src/core/agent-generator/detectors/dart-detector.ts +0 -17
- package/src/core/agent-generator/detectors/framework-registry.ts +0 -82
- package/src/core/agent-generator/detectors/go-detector.ts +0 -26
- package/src/core/agent-generator/detectors/java-detector.ts +0 -46
- package/src/core/agent-generator/detectors/node-detector.ts +0 -28
- package/src/core/agent-generator/detectors/php-detector.ts +0 -28
- package/src/core/agent-generator/detectors/python-detector.ts +0 -125
- package/src/core/agent-generator/detectors/ruby-detector.ts +0 -24
- package/src/core/agent-generator/detectors/rust-detector.ts +0 -19
- package/src/core/agent-generator/detectors/structure-detector.ts +0 -38
- package/src/core/agent-generator/detectors/toolchain-detector.ts +0 -180
- package/src/core/agent-generator/domain-inferrer.ts +0 -630
- package/src/core/agent-generator/engines/audit-engine.ts +0 -98
- package/src/core/agent-generator/engines/context-builder.ts +0 -96
- package/src/core/agent-generator/engines/generation-engine.ts +0 -184
- package/src/core/agent-generator/engines/generation-engine_deps.ts +0 -21
- package/src/core/agent-generator/engines/suggestion-engine.ts +0 -202
- package/src/core/agent-generator/engines/suggestion-engine_deps.ts +0 -8
- package/src/core/agent-generator/enrichers/analysis-helpers.ts +0 -58
- package/src/core/agent-generator/enrichers/description-generator.ts +0 -91
- package/src/core/agent-generator/enrichers/endpoint-extractor.ts +0 -114
- package/src/core/agent-generator/enrichers/layer-classifier.ts +0 -156
- package/src/core/agent-generator/enrichers/module-extractor.ts +0 -203
- package/src/core/agent-generator/framework-detector.ts +0 -66
- package/src/core/agent-generator/index.ts +0 -55
- package/src/core/agent-generator/stack-detector.ts +0 -115
- package/src/core/agent-generator/templates/core/agents.ts +0 -1296
- package/src/core/agent-generator/templates/core/architecture-rules.ts +0 -287
- package/src/core/agent-generator/templates/core/general-rules.ts +0 -306
- package/src/core/agent-generator/templates/core/hooks-generator.ts +0 -242
- package/src/core/agent-generator/templates/core/index-md.ts +0 -260
- package/src/core/agent-generator/templates/core/orchestrator.ts +0 -459
- package/src/core/agent-generator/templates/core/preflight.ts +0 -215
- package/src/core/agent-generator/templates/core/quality-gates.ts +0 -256
- package/src/core/agent-generator/templates/core/security-rules.ts +0 -543
- package/src/core/agent-generator/templates/core/skills-generator.ts +0 -585
- package/src/core/agent-generator/templates/core/workflow-fix-bug.ts +0 -239
- package/src/core/agent-generator/templates/core/workflow-new-feature.ts +0 -323
- package/src/core/agent-generator/templates/core/workflow-review.ts +0 -106
- package/src/core/agent-generator/templates/domain/index.ts +0 -1201
- package/src/core/agent-generator/templates/helpers/base-helpers.ts +0 -32
- package/src/core/agent-generator/templates/helpers/cross-ref-helpers.ts +0 -79
- package/src/core/agent-generator/templates/helpers/security-helpers.ts +0 -196
- package/src/core/agent-generator/templates/helpers/stack-helpers.ts +0 -78
- package/src/core/agent-generator/templates/helpers/structure-helpers.ts +0 -291
- package/src/core/agent-generator/templates/helpers/summary-helpers.ts +0 -65
- package/src/core/agent-generator/templates/stack/index.ts +0 -705
- package/src/core/agent-generator/templates/template-helpers.ts +0 -12
- package/src/core/agent-generator/types/agent.ts +0 -65
- package/src/core/agent-generator/types/domain.ts +0 -63
- package/src/core/agent-generator/types/stack.ts +0 -38
- package/src/core/agent-generator/types/template.ts +0 -31
- package/src/core/analyzer.ts +0 -448
- package/src/core/analyzers/forecast.ts +0 -496
- package/src/core/analyzers/index.ts +0 -33
- package/src/core/analyzers/temporal-scorer.ts +0 -227
- package/src/core/anti-patterns.ts +0 -297
- package/src/core/architect_deps.ts +0 -13
- package/src/core/config.ts +0 -123
- package/src/core/diagram.ts +0 -129
- package/src/core/project-summarizer.ts +0 -42
- package/src/core/refactor-engine.ts +0 -112
- package/src/core/rules/barrel-optimizer.ts +0 -99
- package/src/core/rules/dead-code-detector.ts +0 -134
- package/src/core/rules/hub-splitter.ts +0 -135
- package/src/core/rules/import-organizer.ts +0 -100
- package/src/core/rules/module-grouper.ts +0 -133
- package/src/core/scorer.ts +0 -254
- package/src/core/summarizer/keyword-extractor.ts +0 -53
- package/src/core/summarizer/module-inferrer.ts +0 -194
- package/src/core/summarizer/package-reader.ts +0 -34
- package/src/core/summarizer/purpose-inferrer.ts +0 -197
- package/src/core/summarizer/readme-reader.ts +0 -24
- package/src/core/types/core.ts +0 -93
- package/src/core/types/infrastructure.ts +0 -41
- package/src/core/types/rules.ts +0 -51
- package/src/core/types/summarizer.ts +0 -8
- package/src/index.ts +0 -27
- package/src/infrastructure/git-cache.ts +0 -52
- package/src/infrastructure/git-history.ts +0 -497
- package/src/infrastructure/logger.ts +0 -68
- package/src/infrastructure/scanner.ts +0 -347
- package/src/scripts/bundle-deps.js +0 -123
- package/src/scripts/fix-imports.mjs +0 -106
- package/src/scripts/refactor-imports.js +0 -74
- package/src/scripts/refactor-utils.js +0 -23
- package/test-shotgun.js +0 -7
- package/tests/agent-generator.test.ts +0 -428
- package/tests/analyzers-integration.test.ts +0 -174
- package/tests/anti-patterns.test.ts +0 -95
- package/tests/context-enricher.test.ts +0 -972
- package/tests/fixtures/monorepo/package.json +0 -6
- package/tests/fixtures/monorepo/packages/app/package.json +0 -12
- package/tests/fixtures/monorepo/packages/app/src/index.ts +0 -6
- package/tests/fixtures/monorepo/packages/core/package.json +0 -7
- package/tests/fixtures/monorepo/packages/core/src/index.ts +0 -7
- package/tests/forecast.test.ts +0 -509
- package/tests/framework-detector.test.ts +0 -1172
- package/tests/git-history.test.ts +0 -254
- package/tests/monorepo-scan.test.ts +0 -170
- package/tests/scanner.test.ts +0 -54
- package/tests/scorer.test.ts +0 -674
- package/tests/stack-detector.test.ts +0 -241
- package/tests/template-generation.test.ts +0 -707
- package/tests/template-helpers.test.ts +0 -1130
- package/tests/temporal-scorer.test.ts +0 -307
- /package/dist/{adapters → src/adapters}/html-reporter/scripts.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/sections/anti-patterns.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/sections/layers.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/sections/overview.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/sections/refactoring-plan.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/sections/suggestions.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/styles.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/utils_adapters.js +0 -0
- /package/dist/{adapters → src/adapters}/html-reporter/utils_sections.js +0 -0
- /package/dist/{adapters → src/adapters}/reporter.js +0 -0
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
|
|
4
|
-
const SRC = 'src/project-summarizer.ts';
|
|
5
|
-
const DEST_DIR = 'src/summarizer';
|
|
6
|
-
|
|
7
|
-
if (!existsSync(DEST_DIR)) mkdirSync(DEST_DIR, { recursive: true });
|
|
8
|
-
|
|
9
|
-
const content = readFileSync(SRC, 'utf8');
|
|
10
|
-
|
|
11
|
-
const baseImports = `import { existsSync, readFileSync } from 'fs';
|
|
12
|
-
import { join, basename } from 'path';
|
|
13
|
-
import { AnalysisReport, ProjectSummary, FileNode, WorkspaceInfo } from '../types.js';\n\n`;
|
|
14
|
-
|
|
15
|
-
// 1. PackageReader
|
|
16
|
-
let packageReader = baseImports + `export class PackageReader {
|
|
17
|
-
`;
|
|
18
|
-
const mPackage = content.match(/(private readPackageJson[\w\W]*?\n }\n)/);
|
|
19
|
-
if(mPackage) packageReader += mPackage[1].replace('private ', 'public ') + '\n';
|
|
20
|
-
packageReader += `}\n`;
|
|
21
|
-
writeFileSync(join(DEST_DIR, 'package-reader.ts'), packageReader);
|
|
22
|
-
|
|
23
|
-
// 2. ReadmeReader
|
|
24
|
-
let readmeReader = baseImports + `export class ReadmeReader {
|
|
25
|
-
`;
|
|
26
|
-
const mReadme = content.match(/(private readReadme[\w\W]*?\n }\n)/);
|
|
27
|
-
if(mReadme) readmeReader += mReadme[1].replace('private ', 'public ') + '\n';
|
|
28
|
-
readmeReader += `}\n`;
|
|
29
|
-
writeFileSync(join(DEST_DIR, 'readme-reader.ts'), readmeReader);
|
|
30
|
-
|
|
31
|
-
// 3. KeywordExtractor
|
|
32
|
-
let keywordExt = baseImports + `export class KeywordExtractor {
|
|
33
|
-
public static readonly KEYWORD_BLACKLIST = new Set([
|
|
34
|
-
'node_modules', 'dist', 'build', '.git', '.next', 'coverage',
|
|
35
|
-
'__tests__', '__mocks__', 'src', 'lib', 'index', 'main',
|
|
36
|
-
'out', 'tmp', '.cache', 'vendor', '.vscode', '.idea',
|
|
37
|
-
]);
|
|
38
|
-
|
|
39
|
-
`;
|
|
40
|
-
const mKey = content.match(/(private extractKeywords[\w\W]*?\n }\n)/);
|
|
41
|
-
if(mKey) {
|
|
42
|
-
let body = mKey[1].replace('private ', 'public ');
|
|
43
|
-
body = body.replace(/ProjectSummarizer\.KEYWORD_BLACKLIST/g, 'KeywordExtractor.KEYWORD_BLACKLIST');
|
|
44
|
-
keywordExt += body + '\n';
|
|
45
|
-
}
|
|
46
|
-
keywordExt += `}\n`;
|
|
47
|
-
writeFileSync(join(DEST_DIR, 'keyword-extractor.ts'), keywordExt);
|
|
48
|
-
|
|
49
|
-
// 4. PurposeInferrer (buildTechStack, buildDescription, inferPurpose)
|
|
50
|
-
let purposeInf = baseImports + `export class PurposeInferrer {
|
|
51
|
-
`;
|
|
52
|
-
['buildTechStack', 'buildDescription', 'inferPurpose', 'findEntryPoints'].forEach(m => {
|
|
53
|
-
const r = new RegExp(`(private ${m}\\([\\w\\W]*?\\n }\\n)`);
|
|
54
|
-
const match = content.match(r);
|
|
55
|
-
if (match) purposeInf += match[1].replace('private ', 'public ') + '\n';
|
|
56
|
-
});
|
|
57
|
-
purposeInf += `}\n`;
|
|
58
|
-
writeFileSync(join(DEST_DIR, 'purpose-inferrer.ts'), purposeInf);
|
|
59
|
-
|
|
60
|
-
// 5. ModuleInferrer
|
|
61
|
-
let modInf = `import { existsSync, readFileSync } from 'fs';
|
|
62
|
-
import { join, basename } from 'path';
|
|
63
|
-
import { AnalysisReport, ProjectSummary, WorkspaceInfo } from '../types.js';
|
|
64
|
-
|
|
65
|
-
export class ModuleInferrer {
|
|
66
|
-
`;
|
|
67
|
-
['inferModules', 'inferModulesFromWorkspaces', 'getWorkspaceDescription', 'countFilesInDir', 'inferModulesFromStructure', 'describeModule'].forEach(m => {
|
|
68
|
-
const r = new RegExp(`(private ${m}\\([\\w\\W]*?\\n }\\n)`);
|
|
69
|
-
const match = content.match(r);
|
|
70
|
-
if (match) {
|
|
71
|
-
let mb = match[1].replace('private ', 'public ');
|
|
72
|
-
mb = mb.replace(/this\.inferModulesFromWorkspaces/g, 'this.inferModulesFromWorkspaces');
|
|
73
|
-
mb = mb.replace(/this\.inferModulesFromStructure/g, 'this.inferModulesFromStructure');
|
|
74
|
-
mb = mb.replace(/this\.getWorkspaceDescription/g, 'this.getWorkspaceDescription');
|
|
75
|
-
mb = mb.replace(/this\.countFilesInDir/g, 'this.countFilesInDir');
|
|
76
|
-
mb = mb.replace(/this\.describeModule/g, 'this.describeModule');
|
|
77
|
-
modInf += mb + '\n';
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
modInf += `}\n`;
|
|
81
|
-
writeFileSync(join(DEST_DIR, 'module-inferrer.ts'), modInf);
|
|
82
|
-
|
|
83
|
-
// 6. ProjectSummarizer Facade
|
|
84
|
-
const facade = `import { AnalysisReport, ProjectSummary } from './types.js';
|
|
85
|
-
|
|
86
|
-
import { PackageReader } from './summarizer/package-reader.js';
|
|
87
|
-
import { ReadmeReader } from './summarizer/readme-reader.js';
|
|
88
|
-
import { KeywordExtractor } from './summarizer/keyword-extractor.js';
|
|
89
|
-
import { PurposeInferrer } from './summarizer/purpose-inferrer.js';
|
|
90
|
-
import { ModuleInferrer } from './summarizer/module-inferrer.js';
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* ProjectSummarizer — infers what a project does from its metadata,
|
|
94
|
-
* structure, README, package.json, and file naming conventions.
|
|
95
|
-
*
|
|
96
|
-
* Refactored via Facade pattern in v5.0.0
|
|
97
|
-
*/
|
|
98
|
-
export class ProjectSummarizer {
|
|
99
|
-
private packageReader = new PackageReader();
|
|
100
|
-
private readmeReader = new ReadmeReader();
|
|
101
|
-
private keywordExtractor = new KeywordExtractor();
|
|
102
|
-
private purposeInferrer = new PurposeInferrer();
|
|
103
|
-
private moduleInferrer = new ModuleInferrer();
|
|
104
|
-
|
|
105
|
-
summarize(projectPath: string, report: AnalysisReport): ProjectSummary {
|
|
106
|
-
const packageInfo = this.packageReader.readPackageJson(projectPath);
|
|
107
|
-
const readmeContent = this.readmeReader.readReadme(projectPath);
|
|
108
|
-
const modules = this.moduleInferrer.inferModules(report, projectPath);
|
|
109
|
-
const entryPoints = this.purposeInferrer.findEntryPoints(report, projectPath);
|
|
110
|
-
const keywords = this.keywordExtractor.extractKeywords(packageInfo, readmeContent, modules, report);
|
|
111
|
-
const techStack = this.purposeInferrer.buildTechStack(report, packageInfo);
|
|
112
|
-
const description = this.purposeInferrer.buildDescription(packageInfo, readmeContent, report);
|
|
113
|
-
const purpose = this.purposeInferrer.inferPurpose(keywords, modules, report);
|
|
114
|
-
|
|
115
|
-
return {
|
|
116
|
-
description,
|
|
117
|
-
purpose,
|
|
118
|
-
modules,
|
|
119
|
-
techStack,
|
|
120
|
-
entryPoints,
|
|
121
|
-
keywords,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
`;
|
|
126
|
-
writeFileSync(SRC, facade);
|
|
127
|
-
console.log('ProjectSummarizer decomposed and facade generated flawlessly!');
|
package/setup-refactor.sh
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
echo "=== Iniciando Setup de Refatoração (Fase 2.1) ==="
|
|
3
|
-
|
|
4
|
-
echo "1. Criando Issue no GitHub..."
|
|
5
|
-
gh issue create \
|
|
6
|
-
--title "Refatoração (Fase 2.1): Quebrar html-reporter.ts (God File)" \
|
|
7
|
-
--body "O arquivo src/html-reporter.ts cresceu para ~1800 linhas. Objetivo: Separar CSS, scripts client-side e separar o HTML em sub-seções isoladas (header, score, antipatterns, etc). Requisito: Saída de HTML deve manter 100% de paridade com a versão original." \
|
|
8
|
-
--label "refactor"
|
|
9
|
-
|
|
10
|
-
echo "2. Criando Branch..."
|
|
11
|
-
git checkout main
|
|
12
|
-
git pull origin main
|
|
13
|
-
git checkout -b feature/refactor-html-reporter
|
|
14
|
-
|
|
15
|
-
echo "3. Gerando Snapshot de Referência (Anti-Quebra)..."
|
|
16
|
-
npm run build
|
|
17
|
-
npx architect analyze . > /dev/null
|
|
18
|
-
cp architect-report.html referencia-v5-original.html
|
|
19
|
-
|
|
20
|
-
echo "=== Setup Concluído! ==="
|
|
21
|
-
echo "O arquivo referencia-v5-original.html foi criado para checagem byte a byte."
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { groupAntiPatterns, groupSuggestions, escapeHtml } from './html-reporter/utils_adapters.js';
|
|
2
|
-
export { renderHeader, renderFooter } from './html-reporter/sections/header.js';
|
|
3
|
-
export { renderProjectOverview } from './html-reporter/sections/overview.js';
|
|
4
|
-
export { renderScoreHero, renderRadarChart, renderStats } from './html-reporter/sections/score.js';
|
|
5
|
-
export { renderLayers, renderDependencyGraph } from './html-reporter/sections/layers.js';
|
|
6
|
-
export { renderAntiPatternBubbles, renderAntiPatterns } from './html-reporter/sections/anti-patterns.js';
|
|
7
|
-
export { renderSuggestions } from './html-reporter/sections/suggestions.js';
|
|
8
|
-
export { renderRefactoringPlan } from './html-reporter/sections/refactoring-plan.js';
|
|
9
|
-
export { renderAgentSuggestions } from './html-reporter/sections/agents.js';
|
|
10
|
-
export { getScripts } from './html-reporter/scripts.js';
|
|
11
|
-
export { getStyles } from './html-reporter/styles.js';
|
|
12
|
-
export { AnalysisReport, AntiPattern } from '../core/types/core.js';
|
|
13
|
-
export { RefactoringPlan, RefactorStep } from '../core/types/rules.js';
|
|
14
|
-
export { AgentSuggestion } from '../core/agent-generator/index.js';
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { AnalysisReport } from '../types/core.js';
|
|
2
|
-
import { RefactoringPlan } from '../types/rules.js';
|
|
3
|
-
import { StackInfo } from './types/stack.js';
|
|
4
|
-
import { EnrichedTemplateContext } from './types/template.js';
|
|
5
|
-
import { AgentGeneratorConfig, DEFAULT_AGENT_CONFIG } from './types/agent.js';
|
|
6
|
-
import { DomainInferrer } from './domain-inferrer.js';
|
|
7
|
-
import { FrameworkDetector } from './framework-detector.js';
|
|
8
|
-
|
|
9
|
-
// Engines
|
|
10
|
-
import { ModuleExtractor } from './enrichers/module-extractor.js';
|
|
11
|
-
import { EndpointExtractor } from './enrichers/endpoint-extractor.js';
|
|
12
|
-
import { AnalysisHelpers } from './enrichers/analysis-helpers.js';
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* ContextEnricher — Builds an EnrichedTemplateContext from AnalysisReport.
|
|
16
|
-
* Refactored via Strategy/Facade into separate Extractor engines.
|
|
17
|
-
*/
|
|
18
|
-
export class ContextEnricher {
|
|
19
|
-
private domainInferrer = new DomainInferrer();
|
|
20
|
-
private frameworkDetector = new FrameworkDetector();
|
|
21
|
-
|
|
22
|
-
private moduleExtractor = new ModuleExtractor();
|
|
23
|
-
private endpointExtractor = new EndpointExtractor();
|
|
24
|
-
private analysisHelpers = new AnalysisHelpers();
|
|
25
|
-
|
|
26
|
-
enrich(
|
|
27
|
-
report: AnalysisReport,
|
|
28
|
-
plan: RefactoringPlan,
|
|
29
|
-
stack: StackInfo,
|
|
30
|
-
projectPath: string,
|
|
31
|
-
config: AgentGeneratorConfig = DEFAULT_AGENT_CONFIG,
|
|
32
|
-
): EnrichedTemplateContext {
|
|
33
|
-
const modules = this.moduleExtractor.extractModules(report, projectPath);
|
|
34
|
-
const endpoints = this.endpointExtractor.extractEndpoints(report, modules);
|
|
35
|
-
const untestedModules = this.analysisHelpers.findUntestedModules(modules);
|
|
36
|
-
const criticalPaths = this.analysisHelpers.findCriticalPaths(report);
|
|
37
|
-
const projectDepth = this.analysisHelpers.classifyProjectDepth(report);
|
|
38
|
-
const domain = this.domainInferrer.infer(report, projectPath);
|
|
39
|
-
|
|
40
|
-
const fwResult = this.frameworkDetector.detect(projectPath, report);
|
|
41
|
-
|
|
42
|
-
const webFrameworks = (report.projectInfo?.frameworks || [])
|
|
43
|
-
.filter(f => !['Jest', 'Vitest', 'Mocha', 'ESLint', 'Prettier', 'Biome',
|
|
44
|
-
'pytest', 'Ruff', 'mypy', 'Black', 'Flake8', 'RSpec',
|
|
45
|
-
'@jest/globals', '@types/jest', 'ts-jest'].includes(f));
|
|
46
|
-
const stackLabel = [...new Set([...stack.languages, ...webFrameworks])].join(' + ');
|
|
47
|
-
|
|
48
|
-
return {
|
|
49
|
-
report,
|
|
50
|
-
plan,
|
|
51
|
-
stack,
|
|
52
|
-
projectName: report.projectInfo.name || 'Project',
|
|
53
|
-
stackLabel,
|
|
54
|
-
config,
|
|
55
|
-
domain,
|
|
56
|
-
modules,
|
|
57
|
-
endpoints,
|
|
58
|
-
untestedModules,
|
|
59
|
-
criticalPaths,
|
|
60
|
-
projectDepth,
|
|
61
|
-
detectedFrameworks: fwResult.frameworks,
|
|
62
|
-
primaryFramework: fwResult.primaryFramework,
|
|
63
|
-
toolchain: fwResult.toolchain,
|
|
64
|
-
projectStructure: fwResult.projectStructure,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
2
|
-
import { readFileSync } from 'fs';
|
|
3
|
-
|
|
4
|
-
export interface FrameworkDetectorStrategy {
|
|
5
|
-
detect(projectPath: string, out: FrameworkInfo[]): void;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export abstract class BaseDetector implements FrameworkDetectorStrategy {
|
|
9
|
-
abstract detect(projectPath: string, out: FrameworkInfo[]): void;
|
|
10
|
-
|
|
11
|
-
protected safeReadFile(path: string): string {
|
|
12
|
-
try {
|
|
13
|
-
return readFileSync(path, 'utf-8');
|
|
14
|
-
} catch {
|
|
15
|
-
return '';
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class DartDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
const pubspecPath = join(projectPath, 'pubspec.yaml');
|
|
10
|
-
if (!existsSync(pubspecPath)) return;
|
|
11
|
-
|
|
12
|
-
const content = this.safeReadFile(pubspecPath);
|
|
13
|
-
if (content.includes('flutter:')) {
|
|
14
|
-
out.push({ name: 'Flutter', version: null, category: 'web', confidence: 0.95 });
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
2
|
-
|
|
3
|
-
export const FRAMEWORK_MAP: Record<string, { name: string; category: FrameworkInfo['category'] }> = {
|
|
4
|
-
// Python Web
|
|
5
|
-
'fastapi': { name: 'FastAPI', category: 'web' },
|
|
6
|
-
'django': { name: 'Django', category: 'web' },
|
|
7
|
-
'flask': { name: 'Flask', category: 'web' },
|
|
8
|
-
'starlette': { name: 'Starlette', category: 'web' },
|
|
9
|
-
'tornado': { name: 'Tornado', category: 'web' },
|
|
10
|
-
'sanic': { name: 'Sanic', category: 'web' },
|
|
11
|
-
'aiohttp': { name: 'aiohttp', category: 'web' },
|
|
12
|
-
'litestar': { name: 'Litestar', category: 'web' },
|
|
13
|
-
// Python ORM
|
|
14
|
-
'sqlalchemy': { name: 'SQLAlchemy', category: 'orm' },
|
|
15
|
-
'tortoise-orm': { name: 'Tortoise ORM', category: 'orm' },
|
|
16
|
-
'peewee': { name: 'Peewee', category: 'orm' },
|
|
17
|
-
'sqlmodel': { name: 'SQLModel', category: 'orm' },
|
|
18
|
-
'prisma': { name: 'Prisma', category: 'orm' },
|
|
19
|
-
'django-rest-framework': { name: 'DRF', category: 'web' },
|
|
20
|
-
'djangorestframework': { name: 'DRF', category: 'web' },
|
|
21
|
-
// Python Test
|
|
22
|
-
'pytest': { name: 'pytest', category: 'test' },
|
|
23
|
-
'unittest': { name: 'unittest', category: 'test' },
|
|
24
|
-
'hypothesis': { name: 'Hypothesis', category: 'test' },
|
|
25
|
-
// Python Lint
|
|
26
|
-
'ruff': { name: 'Ruff', category: 'lint' },
|
|
27
|
-
'flake8': { name: 'Flake8', category: 'lint' },
|
|
28
|
-
'pylint': { name: 'Pylint', category: 'lint' },
|
|
29
|
-
'black': { name: 'Black', category: 'lint' },
|
|
30
|
-
'mypy': { name: 'mypy', category: 'lint' },
|
|
31
|
-
// Node.js Web
|
|
32
|
-
'@nestjs/core': { name: 'NestJS', category: 'web' },
|
|
33
|
-
'express': { name: 'Express', category: 'web' },
|
|
34
|
-
'fastify': { name: 'Fastify', category: 'web' },
|
|
35
|
-
'koa': { name: 'Koa', category: 'web' },
|
|
36
|
-
'hapi': { name: 'Hapi', category: 'web' },
|
|
37
|
-
'@hapi/hapi': { name: 'Hapi', category: 'web' },
|
|
38
|
-
'next': { name: 'Next.js', category: 'web' },
|
|
39
|
-
'nuxt': { name: 'Nuxt', category: 'web' },
|
|
40
|
-
// Node.js ORM
|
|
41
|
-
'typeorm': { name: 'TypeORM', category: 'orm' },
|
|
42
|
-
'@prisma/client': { name: 'Prisma', category: 'orm' },
|
|
43
|
-
'sequelize': { name: 'Sequelize', category: 'orm' },
|
|
44
|
-
'mongoose': { name: 'Mongoose', category: 'orm' },
|
|
45
|
-
'knex': { name: 'Knex', category: 'orm' },
|
|
46
|
-
'drizzle-orm': { name: 'Drizzle', category: 'orm' },
|
|
47
|
-
// Node.js Test
|
|
48
|
-
'jest': { name: 'Jest', category: 'test' },
|
|
49
|
-
'vitest': { name: 'Vitest', category: 'test' },
|
|
50
|
-
'mocha': { name: 'Mocha', category: 'test' },
|
|
51
|
-
// Node.js Lint
|
|
52
|
-
'eslint': { name: 'ESLint', category: 'lint' },
|
|
53
|
-
'biome': { name: 'Biome', category: 'lint' },
|
|
54
|
-
'@biomejs/biome': { name: 'Biome', category: 'lint' },
|
|
55
|
-
'prettier': { name: 'Prettier', category: 'lint' },
|
|
56
|
-
// Java/Kotlin
|
|
57
|
-
'spring-boot-starter-web': { name: 'Spring Boot', category: 'web' },
|
|
58
|
-
'spring-boot-starter': { name: 'Spring Boot', category: 'web' },
|
|
59
|
-
'quarkus': { name: 'Quarkus', category: 'web' },
|
|
60
|
-
'micronaut': { name: 'Micronaut', category: 'web' },
|
|
61
|
-
'ktor': { name: 'Ktor', category: 'web' },
|
|
62
|
-
// PHP
|
|
63
|
-
'laravel/framework': { name: 'Laravel', category: 'web' },
|
|
64
|
-
'symfony/framework-bundle': { name: 'Symfony', category: 'web' },
|
|
65
|
-
'slim/slim': { name: 'Slim', category: 'web' },
|
|
66
|
-
// Ruby
|
|
67
|
-
'rails': { name: 'Ruby on Rails', category: 'web' },
|
|
68
|
-
// Go — detected from imports
|
|
69
|
-
'gin-gonic/gin': { name: 'Gin', category: 'web' },
|
|
70
|
-
'labstack/echo': { name: 'Echo', category: 'web' },
|
|
71
|
-
'gofiber/fiber': { name: 'Fiber', category: 'web' },
|
|
72
|
-
'gorilla/mux': { name: 'Gorilla Mux', category: 'web' },
|
|
73
|
-
'go-chi/chi': { name: 'Chi', category: 'web' },
|
|
74
|
-
// Dart/Flutter
|
|
75
|
-
'flutter': { name: 'Flutter', category: 'web' },
|
|
76
|
-
'shelf': { name: 'Shelf', category: 'web' },
|
|
77
|
-
'dart_frog': { name: 'Dart Frog', category: 'web' },
|
|
78
|
-
// Rust
|
|
79
|
-
'actix-web': { name: 'Actix Web', category: 'web' },
|
|
80
|
-
'rocket': { name: 'Rocket', category: 'web' },
|
|
81
|
-
'axum': { name: 'Axum', category: 'web' },
|
|
82
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class GoDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
const goModPath = join(projectPath, 'go.mod');
|
|
10
|
-
if (!existsSync(goModPath)) return;
|
|
11
|
-
|
|
12
|
-
const content = this.safeReadFile(goModPath);
|
|
13
|
-
const lines = content.split('\n');
|
|
14
|
-
for (const line of lines) {
|
|
15
|
-
const match = line.match(/^\s*(github\.com\/[^\s]+)/);
|
|
16
|
-
if (match) {
|
|
17
|
-
const modPath = match[1].toLowerCase();
|
|
18
|
-
for (const [key, fwInfo] of Object.entries(FRAMEWORK_MAP)) {
|
|
19
|
-
if (modPath.includes(key.toLowerCase())) {
|
|
20
|
-
out.push({ name: fwInfo.name, version: null, category: fwInfo.category, confidence: 0.9 });
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class JavaDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
// pom.xml
|
|
10
|
-
const pomPath = join(projectPath, 'pom.xml');
|
|
11
|
-
if (existsSync(pomPath)) {
|
|
12
|
-
const content = this.safeReadFile(pomPath);
|
|
13
|
-
const deps = content.match(/<artifactId>([^<]+)<\/artifactId>/gi) || [];
|
|
14
|
-
for (const dep of deps) {
|
|
15
|
-
const match = dep.match(/<artifactId>([^<]+)<\/artifactId>/i);
|
|
16
|
-
if (match) {
|
|
17
|
-
const artifact = match[1].toLowerCase();
|
|
18
|
-
const fwInfo = FRAMEWORK_MAP[artifact];
|
|
19
|
-
if (fwInfo) {
|
|
20
|
-
out.push({ name: fwInfo.name, version: null, category: fwInfo.category, confidence: 0.85 });
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// build.gradle / build.gradle.kts
|
|
27
|
-
for (const gradleFile of ['build.gradle', 'build.gradle.kts']) {
|
|
28
|
-
const gradlePath = join(projectPath, gradleFile);
|
|
29
|
-
if (existsSync(gradlePath)) {
|
|
30
|
-
const content = this.safeReadFile(gradlePath);
|
|
31
|
-
if (content.includes('spring-boot')) {
|
|
32
|
-
out.push({ name: 'Spring Boot', version: null, category: 'web', confidence: 0.9 });
|
|
33
|
-
}
|
|
34
|
-
if (content.includes('quarkus')) {
|
|
35
|
-
out.push({ name: 'Quarkus', version: null, category: 'web', confidence: 0.9 });
|
|
36
|
-
}
|
|
37
|
-
if (content.includes('micronaut')) {
|
|
38
|
-
out.push({ name: 'Micronaut', version: null, category: 'web', confidence: 0.9 });
|
|
39
|
-
}
|
|
40
|
-
if (content.includes('ktor')) {
|
|
41
|
-
out.push({ name: 'Ktor', version: null, category: 'web', confidence: 0.9 });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class NodeDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
const pkgPath = join(projectPath, 'package.json');
|
|
10
|
-
if (!existsSync(pkgPath)) return;
|
|
11
|
-
|
|
12
|
-
const content = this.safeReadFile(pkgPath);
|
|
13
|
-
try {
|
|
14
|
-
const pkg = JSON.parse(content);
|
|
15
|
-
const allDeps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
16
|
-
for (const [name, version] of Object.entries(allDeps)) {
|
|
17
|
-
const fwInfo = FRAMEWORK_MAP[name];
|
|
18
|
-
if (fwInfo) {
|
|
19
|
-
const vStr = typeof version === 'string' ? version : '';
|
|
20
|
-
const vMatch = vStr.match(/([0-9][0-9.]*)/);
|
|
21
|
-
out.push({ name: fwInfo.name, version: vMatch?.[1] || null, category: fwInfo.category, confidence: 0.95 });
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
} catch {
|
|
25
|
-
// Invalid JSON
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class PhpDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
const composerPath = join(projectPath, 'composer.json');
|
|
10
|
-
if (!existsSync(composerPath)) return;
|
|
11
|
-
|
|
12
|
-
const content = this.safeReadFile(composerPath);
|
|
13
|
-
try {
|
|
14
|
-
const pkg = JSON.parse(content);
|
|
15
|
-
const allDeps = { ...pkg.require, ...pkg['require-dev'] };
|
|
16
|
-
for (const [name, version] of Object.entries(allDeps)) {
|
|
17
|
-
const fwInfo = FRAMEWORK_MAP[name];
|
|
18
|
-
if (fwInfo) {
|
|
19
|
-
const vStr = typeof version === 'string' ? version : '';
|
|
20
|
-
const vMatch = vStr.match(/([0-9][0-9.]*)/);
|
|
21
|
-
out.push({ name: fwInfo.name, version: vMatch?.[1] || null, category: fwInfo.category, confidence: 0.9 });
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
} catch {
|
|
25
|
-
// Invalid JSON
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class PythonDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
// requirements.txt
|
|
10
|
-
const reqFiles = ['requirements.txt', 'requirements/base.txt', 'requirements/prod.txt'];
|
|
11
|
-
for (const reqFile of reqFiles) {
|
|
12
|
-
const path = join(projectPath, reqFile);
|
|
13
|
-
if (existsSync(path)) {
|
|
14
|
-
const content = this.safeReadFile(path);
|
|
15
|
-
this.parsePythonRequirements(content, out);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// pyproject.toml
|
|
20
|
-
const pyproject = join(projectPath, 'pyproject.toml');
|
|
21
|
-
if (existsSync(pyproject)) {
|
|
22
|
-
const content = this.safeReadFile(pyproject);
|
|
23
|
-
this.parsePyprojectToml(content, out);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// setup.py / setup.cfg
|
|
27
|
-
const setupPy = join(projectPath, 'setup.py');
|
|
28
|
-
if (existsSync(setupPy)) {
|
|
29
|
-
const content = this.safeReadFile(setupPy);
|
|
30
|
-
this.parsePythonRequirements(content, out);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Pipfile
|
|
34
|
-
const pipfile = join(projectPath, 'Pipfile');
|
|
35
|
-
if (existsSync(pipfile)) {
|
|
36
|
-
const content = this.safeReadFile(pipfile);
|
|
37
|
-
this.parsePythonRequirements(content, out);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
private parsePythonRequirements(content: string, out: FrameworkInfo[]): void {
|
|
43
|
-
const lines = content.toLowerCase().split('\n');
|
|
44
|
-
for (const line of lines) {
|
|
45
|
-
const cleaned = line.replace(/#.*$/, '').trim();
|
|
46
|
-
if (!cleaned) continue;
|
|
47
|
-
|
|
48
|
-
// Match: package==1.0.0, package>=1.0, package~=1.0, package[extras]
|
|
49
|
-
const match = cleaned.match(/^([a-z0-9_-]+)(?:\[.*?\])?\s*(?:[=<>~!]+\s*([0-9][0-9.]*\S*))?/);
|
|
50
|
-
if (match) {
|
|
51
|
-
const pkg = match[1].replace(/-/g, '-');
|
|
52
|
-
const version = match[2] || null;
|
|
53
|
-
const fwInfo = FRAMEWORK_MAP[pkg];
|
|
54
|
-
if (fwInfo) {
|
|
55
|
-
out.push({ name: fwInfo.name, version, category: fwInfo.category, confidence: 0.95 });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
private parsePyprojectToml(content: string, out: FrameworkInfo[]): void {
|
|
61
|
-
// Strategy 1: [project.dependencies] section (legacy format)
|
|
62
|
-
const depSection = content.match(/\[(?:project\.)?dependencies\]([\s\S]*?)(?:\n\[|$)/);
|
|
63
|
-
if (depSection) {
|
|
64
|
-
this.parsePythonRequirements(depSection[1], out);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// Strategy 2: [project] section with inline `dependencies = [...]` (PEP 621 format)
|
|
68
|
-
// This is the standard pyproject.toml format used by most modern Python projects
|
|
69
|
-
const projectSection = content.match(/\[project\]\s*\n([\s\S]*?)(?:\n\[(?!project\.)|$)/);
|
|
70
|
-
if (projectSection) {
|
|
71
|
-
// Extract the dependencies array: dependencies = [ "pkg>=1.0", ... ]
|
|
72
|
-
const depsArrayMatch = projectSection[1].match(/dependencies\s*=\s*\[([\s\S]*?)\]/);
|
|
73
|
-
if (depsArrayMatch) {
|
|
74
|
-
// Extract quoted strings from the array
|
|
75
|
-
const deps = depsArrayMatch[1].match(/"([^"]+)"/g);
|
|
76
|
-
if (deps) {
|
|
77
|
-
const depsAsLines = deps.map(d => d.replace(/"/g, '')).join('\n');
|
|
78
|
-
this.parsePythonRequirements(depsAsLines, out);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Strategy 3: [project.optional-dependencies] sections (dev, test, etc.)
|
|
84
|
-
const optionalDeps = content.match(/\[project\.optional-dependencies\]\s*\n([\s\S]*?)(?:\n\[(?!project\.)|$)/);
|
|
85
|
-
if (optionalDeps) {
|
|
86
|
-
// Parse each group: dev = ["pkg>=1.0", ...], test = [...]
|
|
87
|
-
const groupMatches = optionalDeps[1].matchAll(/\w+\s*=\s*\[([\s\S]*?)\]/g);
|
|
88
|
-
for (const groupMatch of groupMatches) {
|
|
89
|
-
const deps = groupMatch[1].match(/"([^"]+)"/g);
|
|
90
|
-
if (deps) {
|
|
91
|
-
const depsAsLines = deps.map(d => d.replace(/"/g, '')).join('\n');
|
|
92
|
-
this.parsePythonRequirements(depsAsLines, out);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// Strategy 4: tool.poetry.dependencies
|
|
98
|
-
const poetrySection = content.match(/\[tool\.poetry\.dependencies\]([\s\S]*?)(?:\n\[|$)/);
|
|
99
|
-
if (poetrySection) {
|
|
100
|
-
const lines = poetrySection[1].split('\n');
|
|
101
|
-
for (const line of lines) {
|
|
102
|
-
const match = line.match(/^([a-z0-9_-]+)\s*=\s*"?([^"]*)"?/i);
|
|
103
|
-
if (match) {
|
|
104
|
-
const pkg = match[1].toLowerCase();
|
|
105
|
-
const fwInfo = FRAMEWORK_MAP[pkg];
|
|
106
|
-
if (fwInfo) {
|
|
107
|
-
const versionMatch = match[2].match(/([0-9][0-9.]*)/);
|
|
108
|
-
out.push({ name: fwInfo.name, version: versionMatch?.[1] || null, category: fwInfo.category, confidence: 0.95 });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// Deduplicate by framework name (keep highest confidence)
|
|
115
|
-
const seen = new Map<string, number>();
|
|
116
|
-
for (let i = out.length - 1; i >= 0; i--) {
|
|
117
|
-
const key = out[i].name;
|
|
118
|
-
if (seen.has(key)) {
|
|
119
|
-
out.splice(i, 1);
|
|
120
|
-
} else {
|
|
121
|
-
seen.set(key, i);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class RubyDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
const gemfilePath = join(projectPath, 'Gemfile');
|
|
10
|
-
if (!existsSync(gemfilePath)) return;
|
|
11
|
-
|
|
12
|
-
const content = this.safeReadFile(gemfilePath);
|
|
13
|
-
if (content.includes("'rails'") || content.includes('"rails"')) {
|
|
14
|
-
const vMatch = content.match(/['"]rails['"],\s*['"]~?>\s*([0-9.]+)['"]/);
|
|
15
|
-
out.push({ name: 'Ruby on Rails', version: vMatch?.[1] || null, category: 'web', confidence: 0.95 });
|
|
16
|
-
}
|
|
17
|
-
if (content.includes("'sinatra'") || content.includes('"sinatra"')) {
|
|
18
|
-
out.push({ name: 'Sinatra', category: 'web', version: null, confidence: 0.9 });
|
|
19
|
-
}
|
|
20
|
-
if (content.includes("'rspec'") || content.includes('"rspec"')) {
|
|
21
|
-
out.push({ name: 'RSpec', category: 'test', version: null, confidence: 0.9 });
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { existsSync } from 'fs';
|
|
3
|
-
import { FrameworkInfo } from '../types/stack.js';
|
|
4
|
-
import { BaseDetector } from './base-detector.js';
|
|
5
|
-
import { FRAMEWORK_MAP } from './framework-registry.js';
|
|
6
|
-
|
|
7
|
-
export class RustDetector extends BaseDetector {
|
|
8
|
-
public detect(projectPath: string, out: FrameworkInfo[]): void {
|
|
9
|
-
const cargoPath = join(projectPath, 'Cargo.toml');
|
|
10
|
-
if (!existsSync(cargoPath)) return;
|
|
11
|
-
|
|
12
|
-
const content = this.safeReadFile(cargoPath);
|
|
13
|
-
for (const [key, fwInfo] of Object.entries(FRAMEWORK_MAP)) {
|
|
14
|
-
if (content.includes(`"${key}"`) || content.includes(`'${key}'`) || content.includes(`${key} =`)) {
|
|
15
|
-
out.push({ name: fwInfo.name, version: null, category: fwInfo.category, confidence: 0.85 });
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|