aios-core 2.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/.aios-core/.session/current-session.json +14 -0
- package/.aios-core/cli/commands/generate/index.js +222 -0
- package/.aios-core/cli/commands/manifest/index.js +46 -0
- package/.aios-core/cli/commands/manifest/regenerate.js +96 -0
- package/.aios-core/cli/commands/manifest/validate.js +66 -0
- package/.aios-core/cli/commands/mcp/add.js +234 -0
- package/.aios-core/cli/commands/mcp/index.js +76 -0
- package/.aios-core/cli/commands/mcp/link.js +217 -0
- package/.aios-core/cli/commands/mcp/setup.js +164 -0
- package/.aios-core/cli/commands/mcp/status.js +183 -0
- package/.aios-core/cli/commands/metrics/cleanup.js +91 -0
- package/.aios-core/cli/commands/metrics/index.js +65 -0
- package/.aios-core/cli/commands/metrics/record.js +154 -0
- package/.aios-core/cli/commands/metrics/seed.js +126 -0
- package/.aios-core/cli/commands/metrics/show.js +209 -0
- package/.aios-core/cli/commands/migrate/analyze.js +353 -0
- package/.aios-core/cli/commands/migrate/backup.js +352 -0
- package/.aios-core/cli/commands/migrate/execute.js +292 -0
- package/.aios-core/cli/commands/migrate/index.js +441 -0
- package/.aios-core/cli/commands/migrate/rollback.js +323 -0
- package/.aios-core/cli/commands/migrate/update-imports.js +396 -0
- package/.aios-core/cli/commands/migrate/validate.js +452 -0
- package/.aios-core/cli/commands/qa/index.js +56 -0
- package/.aios-core/cli/commands/qa/run.js +163 -0
- package/.aios-core/cli/commands/qa/status.js +195 -0
- package/.aios-core/cli/commands/workers/formatters/info-formatter.js +274 -0
- package/.aios-core/cli/commands/workers/formatters/list-table.js +265 -0
- package/.aios-core/cli/commands/workers/formatters/list-tree.js +159 -0
- package/.aios-core/cli/commands/workers/index.js +56 -0
- package/.aios-core/cli/commands/workers/info.js +194 -0
- package/.aios-core/cli/commands/workers/list.js +214 -0
- package/.aios-core/cli/commands/workers/search-filters.js +185 -0
- package/.aios-core/cli/commands/workers/search-keyword.js +310 -0
- package/.aios-core/cli/commands/workers/search-semantic.js +293 -0
- package/.aios-core/cli/commands/workers/search.js +154 -0
- package/.aios-core/cli/commands/workers/utils/pagination.js +102 -0
- package/.aios-core/cli/index.js +128 -0
- package/.aios-core/cli/utils/output-formatter-cli.js +232 -0
- package/.aios-core/cli/utils/score-calculator.js +221 -0
- package/.aios-core/core/README.md +229 -0
- package/.aios-core/core/config/config-cache.js +233 -0
- package/.aios-core/core/config/config-loader.js +277 -0
- package/.aios-core/core/data/agent-config-requirements.yaml +368 -0
- package/.aios-core/core/data/aios-kb.md +924 -0
- package/.aios-core/core/data/workflow-patterns.yaml +267 -0
- package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
- package/.aios-core/core/docs/component-creation-guide.md +458 -0
- package/.aios-core/core/docs/session-update-pattern.md +307 -0
- package/.aios-core/core/docs/template-syntax.md +267 -0
- package/.aios-core/core/docs/troubleshooting-guide.md +625 -0
- package/.aios-core/core/elicitation/agent-elicitation.js +272 -0
- package/.aios-core/core/elicitation/elicitation-engine.js +479 -0
- package/.aios-core/core/elicitation/session-manager.js +320 -0
- package/.aios-core/core/elicitation/task-elicitation.js +281 -0
- package/.aios-core/core/elicitation/workflow-elicitation.js +315 -0
- package/.aios-core/core/index.esm.js +42 -0
- package/.aios-core/core/index.js +76 -0
- package/.aios-core/core/manifest/manifest-generator.js +386 -0
- package/.aios-core/core/manifest/manifest-validator.js +429 -0
- package/.aios-core/core/mcp/config-migrator.js +340 -0
- package/.aios-core/core/mcp/global-config-manager.js +369 -0
- package/.aios-core/core/mcp/index.js +34 -0
- package/.aios-core/core/mcp/os-detector.js +188 -0
- package/.aios-core/core/mcp/symlink-manager.js +413 -0
- package/.aios-core/core/migration/migration-config.yaml +83 -0
- package/.aios-core/core/migration/module-mapping.yaml +89 -0
- package/.aios-core/core/quality-gates/base-layer.js +134 -0
- package/.aios-core/core/quality-gates/checklist-generator.js +329 -0
- package/.aios-core/core/quality-gates/focus-area-recommender.js +359 -0
- package/.aios-core/core/quality-gates/human-review-orchestrator.js +529 -0
- package/.aios-core/core/quality-gates/layer1-precommit.js +336 -0
- package/.aios-core/core/quality-gates/layer2-pr-automation.js +324 -0
- package/.aios-core/core/quality-gates/layer3-human-review.js +348 -0
- package/.aios-core/core/quality-gates/notification-manager.js +550 -0
- package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -0
- package/.aios-core/core/quality-gates/quality-gate-manager.js +601 -0
- package/.aios-core/core/registry/README.md +179 -0
- package/.aios-core/core/registry/build-registry.js +452 -0
- package/.aios-core/core/registry/registry-loader.js +330 -0
- package/.aios-core/core/registry/registry-schema.json +166 -0
- package/.aios-core/core/registry/service-registry.json +6586 -0
- package/.aios-core/core/registry/validate-registry.js +340 -0
- package/.aios-core/core/session/context-detector.js +229 -0
- package/.aios-core/core/session/context-loader.js +288 -0
- package/.aios-core/core/utils/output-formatter.js +298 -0
- package/.aios-core/core/utils/security-utils.js +333 -0
- package/.aios-core/core/utils/yaml-validator.js +419 -0
- package/.aios-core/core-config.yaml +382 -0
- package/.aios-core/data/agent-config-requirements.yaml +368 -0
- package/.aios-core/data/aios-kb.md +924 -0
- package/.aios-core/data/technical-preferences.md +4 -0
- package/.aios-core/data/workflow-patterns.yaml +267 -0
- package/.aios-core/development/README.md +142 -0
- package/.aios-core/development/agent-teams/team-all.yaml +15 -0
- package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -0
- package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -0
- package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -0
- package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -0
- package/.aios-core/development/agents/aios-master.md +339 -0
- package/.aios-core/development/agents/analyst.md +195 -0
- package/.aios-core/development/agents/architect.md +359 -0
- package/.aios-core/development/agents/data-engineer.md +468 -0
- package/.aios-core/development/agents/dev.md +390 -0
- package/.aios-core/development/agents/devops.md +398 -0
- package/.aios-core/development/agents/pm.md +198 -0
- package/.aios-core/development/agents/po.md +256 -0
- package/.aios-core/development/agents/qa.md +312 -0
- package/.aios-core/development/agents/sm.md +220 -0
- package/.aios-core/development/agents/ux-design-expert.md +451 -0
- package/.aios-core/development/scripts/agent-assignment-resolver.js +231 -0
- package/.aios-core/development/scripts/agent-config-loader.js +624 -0
- package/.aios-core/development/scripts/agent-exit-hooks.js +96 -0
- package/.aios-core/development/scripts/apply-inline-greeting-all-agents.js +146 -0
- package/.aios-core/development/scripts/audit-agent-config.js +380 -0
- package/.aios-core/development/scripts/backlog-manager.js +404 -0
- package/.aios-core/development/scripts/batch-update-agents-session-context.js +95 -0
- package/.aios-core/development/scripts/decision-context.js +228 -0
- package/.aios-core/development/scripts/decision-log-generator.js +293 -0
- package/.aios-core/development/scripts/decision-log-indexer.js +284 -0
- package/.aios-core/development/scripts/decision-recorder.js +168 -0
- package/.aios-core/development/scripts/dev-context-loader.js +297 -0
- package/.aios-core/development/scripts/generate-greeting.js +160 -0
- package/.aios-core/development/scripts/greeting-builder.js +866 -0
- package/.aios-core/development/scripts/greeting-config-cli.js +85 -0
- package/.aios-core/development/scripts/greeting-preference-manager.js +145 -0
- package/.aios-core/development/scripts/migrate-task-to-v2.js +377 -0
- package/.aios-core/development/scripts/story-index-generator.js +337 -0
- package/.aios-core/development/scripts/story-manager.js +375 -0
- package/.aios-core/development/scripts/story-update-hook.js +259 -0
- package/.aios-core/development/scripts/task-identifier-resolver.js +145 -0
- package/.aios-core/development/scripts/test-greeting-system.js +142 -0
- package/.aios-core/development/scripts/validate-task-v2.js +319 -0
- package/.aios-core/development/scripts/workflow-navigator.js +214 -0
- package/.aios-core/development/tasks/add-mcp.md +319 -0
- package/.aios-core/development/tasks/advanced-elicitation.md +319 -0
- package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +342 -0
- package/.aios-core/development/tasks/analyze-framework.md +697 -0
- package/.aios-core/development/tasks/analyze-performance.md +637 -0
- package/.aios-core/development/tasks/apply-qa-fixes.md +340 -0
- package/.aios-core/development/tasks/architect-analyze-impact.md +827 -0
- package/.aios-core/development/tasks/audit-codebase.md +429 -0
- package/.aios-core/development/tasks/audit-tailwind-config.md +270 -0
- package/.aios-core/development/tasks/audit-utilities.md +358 -0
- package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -0
- package/.aios-core/development/tasks/brownfield-create-epic.md +486 -0
- package/.aios-core/development/tasks/brownfield-create-story.md +357 -0
- package/.aios-core/development/tasks/build-component.md +478 -0
- package/.aios-core/development/tasks/calculate-roi.md +455 -0
- package/.aios-core/development/tasks/ci-cd-configuration.md +764 -0
- package/.aios-core/development/tasks/cleanup-utilities.md +670 -0
- package/.aios-core/development/tasks/collaborative-edit.md +1109 -0
- package/.aios-core/development/tasks/compose-molecule.md +284 -0
- package/.aios-core/development/tasks/consolidate-patterns.md +414 -0
- package/.aios-core/development/tasks/correct-course.md +280 -0
- package/.aios-core/development/tasks/create-agent.md +322 -0
- package/.aios-core/development/tasks/create-brownfield-story.md +727 -0
- package/.aios-core/development/tasks/create-deep-research-prompt.md +499 -0
- package/.aios-core/development/tasks/create-doc.md +316 -0
- package/.aios-core/development/tasks/create-next-story.md +774 -0
- package/.aios-core/development/tasks/create-suite.md +284 -0
- package/.aios-core/development/tasks/create-task.md +372 -0
- package/.aios-core/development/tasks/create-workflow.md +371 -0
- package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -0
- package/.aios-core/development/tasks/db-apply-migration.md +381 -0
- package/.aios-core/development/tasks/db-bootstrap.md +642 -0
- package/.aios-core/development/tasks/db-domain-modeling.md +693 -0
- package/.aios-core/development/tasks/db-dry-run.md +293 -0
- package/.aios-core/development/tasks/db-env-check.md +260 -0
- package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -0
- package/.aios-core/development/tasks/db-explain.md +631 -0
- package/.aios-core/development/tasks/db-impersonate.md +495 -0
- package/.aios-core/development/tasks/db-load-csv.md +593 -0
- package/.aios-core/development/tasks/db-policy-apply.md +653 -0
- package/.aios-core/development/tasks/db-rls-audit.md +411 -0
- package/.aios-core/development/tasks/db-rollback.md +739 -0
- package/.aios-core/development/tasks/db-run-sql.md +613 -0
- package/.aios-core/development/tasks/db-schema-audit.md +1011 -0
- package/.aios-core/development/tasks/db-seed.md +390 -0
- package/.aios-core/development/tasks/db-smoke-test.md +351 -0
- package/.aios-core/development/tasks/db-snapshot.md +569 -0
- package/.aios-core/development/tasks/db-supabase-setup.md +712 -0
- package/.aios-core/development/tasks/db-verify-order.md +515 -0
- package/.aios-core/development/tasks/deprecate-component.md +957 -0
- package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -0
- package/.aios-core/development/tasks/dev-backlog-debt.md +469 -0
- package/.aios-core/development/tasks/dev-develop-story.md +846 -0
- package/.aios-core/development/tasks/dev-improve-code-quality.md +873 -0
- package/.aios-core/development/tasks/dev-optimize-performance.md +1034 -0
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +871 -0
- package/.aios-core/development/tasks/dev-validate-next-story.md +349 -0
- package/.aios-core/development/tasks/document-project.md +553 -0
- package/.aios-core/development/tasks/environment-bootstrap.md +1311 -0
- package/.aios-core/development/tasks/execute-checklist.md +301 -0
- package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -0
- package/.aios-core/development/tasks/extend-pattern.md +269 -0
- package/.aios-core/development/tasks/extract-tokens.md +467 -0
- package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -0
- package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +261 -0
- package/.aios-core/development/tasks/generate-documentation.md +284 -0
- package/.aios-core/development/tasks/generate-migration-strategy.md +522 -0
- package/.aios-core/development/tasks/generate-shock-report.md +501 -0
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -0
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -0
- package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -0
- package/.aios-core/development/tasks/github-devops-version-management.md +483 -0
- package/.aios-core/development/tasks/improve-self.md +823 -0
- package/.aios-core/development/tasks/index-docs.md +388 -0
- package/.aios-core/development/tasks/init-project-status.md +506 -0
- package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -0
- package/.aios-core/development/tasks/kb-mode-interaction.md +284 -0
- package/.aios-core/development/tasks/learn-patterns.md +901 -0
- package/.aios-core/development/tasks/mcp-workflow.md +437 -0
- package/.aios-core/development/tasks/modify-agent.md +382 -0
- package/.aios-core/development/tasks/modify-task.md +425 -0
- package/.aios-core/development/tasks/modify-workflow.md +466 -0
- package/.aios-core/development/tasks/po-backlog-add.md +370 -0
- package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -0
- package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -0
- package/.aios-core/development/tasks/po-pull-story.md +316 -0
- package/.aios-core/development/tasks/po-stories-index.md +351 -0
- package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -0
- package/.aios-core/development/tasks/po-sync-story.md +303 -0
- package/.aios-core/development/tasks/pr-automation.md +701 -0
- package/.aios-core/development/tasks/propose-modification.md +843 -0
- package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -0
- package/.aios-core/development/tasks/qa-gate.md +374 -0
- package/.aios-core/development/tasks/qa-generate-tests.md +1175 -0
- package/.aios-core/development/tasks/qa-nfr-assess.md +558 -0
- package/.aios-core/development/tasks/qa-review-proposal.md +1158 -0
- package/.aios-core/development/tasks/qa-review-story.md +683 -0
- package/.aios-core/development/tasks/qa-risk-profile.md +567 -0
- package/.aios-core/development/tasks/qa-run-tests.md +277 -0
- package/.aios-core/development/tasks/qa-test-design.md +388 -0
- package/.aios-core/development/tasks/qa-trace-requirements.md +477 -0
- package/.aios-core/development/tasks/release-management.md +723 -0
- package/.aios-core/development/tasks/security-audit.md +554 -0
- package/.aios-core/development/tasks/security-scan.md +790 -0
- package/.aios-core/development/tasks/setup-database.md +741 -0
- package/.aios-core/development/tasks/setup-design-system.md +462 -0
- package/.aios-core/development/tasks/setup-github.md +874 -0
- package/.aios-core/development/tasks/setup-llm-routing.md +229 -0
- package/.aios-core/development/tasks/setup-mcp-docker.md +584 -0
- package/.aios-core/development/tasks/shard-doc.md +538 -0
- package/.aios-core/development/tasks/sm-create-next-story.md +480 -0
- package/.aios-core/development/tasks/sync-documentation.md +865 -0
- package/.aios-core/development/tasks/tailwind-upgrade.md +294 -0
- package/.aios-core/development/tasks/test-as-user.md +621 -0
- package/.aios-core/development/tasks/test-validation-task.md +171 -0
- package/.aios-core/development/tasks/undo-last.md +347 -0
- package/.aios-core/development/tasks/update-manifest.md +410 -0
- package/.aios-core/development/tasks/ux-create-wireframe.md +617 -0
- package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -0
- package/.aios-core/development/tasks/ux-user-research.md +559 -0
- package/.aios-core/development/tasks/validate-next-story.md +423 -0
- package/.aios-core/development/tasks/validate-structure.md +243 -0
- package/.aios-core/development/workflows/README.md +84 -0
- package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -0
- package/.aios-core/development/workflows/brownfield-service.yaml +187 -0
- package/.aios-core/development/workflows/brownfield-ui.yaml +197 -0
- package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -0
- package/.aios-core/development/workflows/greenfield-service.yaml +206 -0
- package/.aios-core/development/workflows/greenfield-ui.yaml +235 -0
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -0
- package/.aios-core/docs/component-creation-guide.md +458 -0
- package/.aios-core/docs/session-update-pattern.md +307 -0
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -0
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -0
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -0
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -0
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -0
- package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -0
- package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -0
- package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -0
- package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -0
- package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -0
- package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -0
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -0
- package/.aios-core/docs/template-syntax.md +267 -0
- package/.aios-core/docs/troubleshooting-guide.md +625 -0
- package/.aios-core/elicitation/agent-elicitation.js +272 -0
- package/.aios-core/elicitation/task-elicitation.js +281 -0
- package/.aios-core/elicitation/workflow-elicitation.js +315 -0
- package/.aios-core/index.d.ts +8 -0
- package/.aios-core/index.esm.js +16 -0
- package/.aios-core/index.js +16 -0
- package/.aios-core/infrastructure/README.md +126 -0
- package/.aios-core/infrastructure/index.js +199 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/clickup-adapter.js +345 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/github-adapter.js +392 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/jira-adapter.js +448 -0
- package/.aios-core/infrastructure/integrations/pm-adapters/local-adapter.js +175 -0
- package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +122 -0
- package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +89 -0
- package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +780 -0
- package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +950 -0
- package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +425 -0
- package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +132 -0
- package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +381 -0
- package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +203 -0
- package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +24 -0
- package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +51 -0
- package/.aios-core/infrastructure/scripts/aios-validator.js +294 -0
- package/.aios-core/infrastructure/scripts/approval-workflow.js +643 -0
- package/.aios-core/infrastructure/scripts/atomic-layer-classifier.js +308 -0
- package/.aios-core/infrastructure/scripts/backup-manager.js +607 -0
- package/.aios-core/infrastructure/scripts/batch-creator.js +608 -0
- package/.aios-core/infrastructure/scripts/branch-manager.js +391 -0
- package/.aios-core/infrastructure/scripts/capability-analyzer.js +535 -0
- package/.aios-core/infrastructure/scripts/clickup-helpers.js +226 -0
- package/.aios-core/infrastructure/scripts/code-quality-improver.js +1312 -0
- package/.aios-core/infrastructure/scripts/commit-message-generator.js +850 -0
- package/.aios-core/infrastructure/scripts/component-generator.js +738 -0
- package/.aios-core/infrastructure/scripts/component-metadata.js +627 -0
- package/.aios-core/infrastructure/scripts/component-search.js +277 -0
- package/.aios-core/infrastructure/scripts/config-cache.js +322 -0
- package/.aios-core/infrastructure/scripts/config-loader.js +349 -0
- package/.aios-core/infrastructure/scripts/conflict-resolver.js +675 -0
- package/.aios-core/infrastructure/scripts/coverage-analyzer.js +882 -0
- package/.aios-core/infrastructure/scripts/dependency-analyzer.js +638 -0
- package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +703 -0
- package/.aios-core/infrastructure/scripts/diff-generator.js +129 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +501 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/config-generator.js +329 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +282 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/gitignore-generator.js +313 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/index.js +74 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/mode-detector.js +358 -0
- package/.aios-core/infrastructure/scripts/documentation-synchronizer.js +1432 -0
- package/.aios-core/infrastructure/scripts/framework-analyzer.js +746 -0
- package/.aios-core/infrastructure/scripts/git-config-detector.js +293 -0
- package/.aios-core/infrastructure/scripts/git-wrapper.js +443 -0
- package/.aios-core/infrastructure/scripts/improvement-engine.js +758 -0
- package/.aios-core/infrastructure/scripts/improvement-validator.js +710 -0
- package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +267 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free.cmd +80 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free.sh +62 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-max.cmd +26 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-max.sh +18 -0
- package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +970 -0
- package/.aios-core/infrastructure/scripts/modification-validator.js +555 -0
- package/.aios-core/infrastructure/scripts/output-formatter.js +297 -0
- package/.aios-core/infrastructure/scripts/performance-analyzer.js +758 -0
- package/.aios-core/infrastructure/scripts/performance-and-error-resolver.js +258 -0
- package/.aios-core/infrastructure/scripts/performance-optimizer.js +1902 -0
- package/.aios-core/infrastructure/scripts/performance-tracker.js +452 -0
- package/.aios-core/infrastructure/scripts/pm-adapter-factory.js +181 -0
- package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -0
- package/.aios-core/infrastructure/scripts/project-status-loader.js +445 -0
- package/.aios-core/infrastructure/scripts/refactoring-suggester.js +1139 -0
- package/.aios-core/infrastructure/scripts/repository-detector.js +64 -0
- package/.aios-core/infrastructure/scripts/sandbox-tester.js +618 -0
- package/.aios-core/infrastructure/scripts/security-checker.js +359 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/index.js +375 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/manifest-generator.js +410 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/naming-rules.yaml +285 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/placement-rules.yaml +262 -0
- package/.aios-core/infrastructure/scripts/source-tree-guardian/validator.js +468 -0
- package/.aios-core/infrastructure/scripts/spot-check-validator.js +149 -0
- package/.aios-core/infrastructure/scripts/status-mapper.js +115 -0
- package/.aios-core/infrastructure/scripts/template-engine.js +240 -0
- package/.aios-core/infrastructure/scripts/template-validator.js +279 -0
- package/.aios-core/infrastructure/scripts/test-generator.js +844 -0
- package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1081 -0
- package/.aios-core/infrastructure/scripts/test-utilities-fast.js +126 -0
- package/.aios-core/infrastructure/scripts/test-utilities.js +200 -0
- package/.aios-core/infrastructure/scripts/tool-resolver.js +360 -0
- package/.aios-core/infrastructure/scripts/transaction-manager.js +590 -0
- package/.aios-core/infrastructure/scripts/usage-analytics.js +634 -0
- package/.aios-core/infrastructure/scripts/validate-output-pattern.js +213 -0
- package/.aios-core/infrastructure/scripts/visual-impact-generator.js +1056 -0
- package/.aios-core/infrastructure/scripts/yaml-validator.js +397 -0
- package/.aios-core/infrastructure/templates/coderabbit.yaml.template +279 -0
- package/.aios-core/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +182 -0
- package/.aios-core/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +127 -0
- package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -0
- package/.aios-core/infrastructure/templates/github-workflows/ci.yml.template +169 -0
- package/.aios-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -0
- package/.aios-core/infrastructure/templates/github-workflows/release.yml.template +196 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -0
- package/.aios-core/infrastructure/templates/project-docs/coding-standards-tmpl.md +346 -0
- package/.aios-core/infrastructure/templates/project-docs/source-tree-tmpl.md +177 -0
- package/.aios-core/infrastructure/templates/project-docs/tech-stack-tmpl.md +267 -0
- package/.aios-core/infrastructure/tests/project-status-loader.test.js +394 -0
- package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -0
- package/.aios-core/infrastructure/tests/utilities-audit-results.json +501 -0
- package/.aios-core/infrastructure/tests/validate-module.js +97 -0
- package/.aios-core/infrastructure/tools/README.md +222 -0
- package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -0
- package/.aios-core/infrastructure/tools/cli/llm-routing.yaml +126 -0
- package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -0
- package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -0
- package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -0
- package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -0
- package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -0
- package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -0
- package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -0
- package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -0
- package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -0
- package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -0
- package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -0
- package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -0
- package/.aios-core/install-manifest.yaml +347 -0
- package/.aios-core/manifests/agents.csv +1 -0
- package/.aios-core/manifests/schema/manifest-schema.json +190 -0
- package/.aios-core/manifests/tasks.csv +121 -0
- package/.aios-core/manifests/workers.csv +204 -0
- package/.aios-core/package.json +103 -0
- package/.aios-core/product/README.md +56 -0
- package/.aios-core/product/checklists/architect-checklist.md +444 -0
- package/.aios-core/product/checklists/change-checklist.md +183 -0
- package/.aios-core/product/checklists/database-design-checklist.md +119 -0
- package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -0
- package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -0
- package/.aios-core/product/checklists/pm-checklist.md +376 -0
- package/.aios-core/product/checklists/po-master-checklist.md +442 -0
- package/.aios-core/product/checklists/pre-push-checklist.md +108 -0
- package/.aios-core/product/checklists/release-checklist.md +122 -0
- package/.aios-core/product/checklists/story-dod-checklist.md +102 -0
- package/.aios-core/product/checklists/story-draft-checklist.md +216 -0
- package/.aios-core/product/data/brainstorming-techniques.md +37 -0
- package/.aios-core/product/data/elicitation-methods.md +135 -0
- package/.aios-core/product/data/mode-selection-best-practices.md +471 -0
- package/.aios-core/product/data/test-levels-framework.md +149 -0
- package/.aios-core/product/data/test-priorities-matrix.md +175 -0
- package/.aios-core/product/templates/1mcp-config.yaml +225 -0
- package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -0
- package/.aios-core/product/templates/activation-instructions-template.md +258 -0
- package/.aios-core/product/templates/adr.hbs +125 -0
- package/.aios-core/product/templates/agent-template.yaml +121 -0
- package/.aios-core/product/templates/architecture-tmpl.yaml +651 -0
- package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +156 -0
- package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +280 -0
- package/.aios-core/product/templates/changelog-template.md +134 -0
- package/.aios-core/product/templates/command-rationalization-matrix.md +152 -0
- package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +293 -0
- package/.aios-core/product/templates/component-react-tmpl.tsx +98 -0
- package/.aios-core/product/templates/dbdr.hbs +241 -0
- package/.aios-core/product/templates/design-story-tmpl.yaml +587 -0
- package/.aios-core/product/templates/ds-artifact-analysis.md +70 -0
- package/.aios-core/product/templates/engine/elicitation.js +298 -0
- package/.aios-core/product/templates/engine/index.js +308 -0
- package/.aios-core/product/templates/engine/loader.js +231 -0
- package/.aios-core/product/templates/engine/renderer.js +343 -0
- package/.aios-core/product/templates/engine/schemas/adr.schema.json +102 -0
- package/.aios-core/product/templates/engine/schemas/dbdr.schema.json +205 -0
- package/.aios-core/product/templates/engine/schemas/epic.schema.json +175 -0
- package/.aios-core/product/templates/engine/schemas/pmdr.schema.json +175 -0
- package/.aios-core/product/templates/engine/schemas/prd-v2.schema.json +300 -0
- package/.aios-core/product/templates/engine/schemas/prd.schema.json +152 -0
- package/.aios-core/product/templates/engine/schemas/story.schema.json +222 -0
- package/.aios-core/product/templates/engine/schemas/task.schema.json +154 -0
- package/.aios-core/product/templates/engine/validator.js +294 -0
- package/.aios-core/product/templates/epic.hbs +212 -0
- package/.aios-core/product/templates/eslintrc-security.json +32 -0
- package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +206 -0
- package/.aios-core/product/templates/front-end-spec-tmpl.yaml +349 -0
- package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +805 -0
- package/.aios-core/product/templates/github-actions-cd.yml +212 -0
- package/.aios-core/product/templates/github-actions-ci.yml +172 -0
- package/.aios-core/product/templates/github-pr-template.md +67 -0
- package/.aios-core/product/templates/gordon-mcp.yaml +140 -0
- package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -0
- package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -0
- package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -0
- package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -0
- package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -0
- package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -0
- package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -0
- package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -0
- package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -0
- package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -0
- package/.aios-core/product/templates/market-research-tmpl.yaml +252 -0
- package/.aios-core/product/templates/mcp-workflow.js +271 -0
- package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -0
- package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -0
- package/.aios-core/product/templates/personalized-agent-template.md +258 -0
- package/.aios-core/product/templates/personalized-checklist-template.md +340 -0
- package/.aios-core/product/templates/personalized-task-template-v2.md +905 -0
- package/.aios-core/product/templates/personalized-task-template.md +344 -0
- package/.aios-core/product/templates/personalized-template-file.yaml +322 -0
- package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -0
- package/.aios-core/product/templates/pmdr.hbs +186 -0
- package/.aios-core/product/templates/prd-tmpl.yaml +202 -0
- package/.aios-core/product/templates/prd-v2.0.hbs +216 -0
- package/.aios-core/product/templates/prd.hbs +201 -0
- package/.aios-core/product/templates/project-brief-tmpl.yaml +221 -0
- package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -0
- package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -0
- package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -0
- package/.aios-core/product/templates/shock-report-tmpl.html +502 -0
- package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -0
- package/.aios-core/product/templates/story-tmpl.yaml +332 -0
- package/.aios-core/product/templates/story.hbs +263 -0
- package/.aios-core/product/templates/task-execution-report.md +495 -0
- package/.aios-core/product/templates/task-template.md +123 -0
- package/.aios-core/product/templates/task.hbs +170 -0
- package/.aios-core/product/templates/tmpl-comment-on-examples.sql +158 -0
- package/.aios-core/product/templates/tmpl-migration-script.sql +91 -0
- package/.aios-core/product/templates/tmpl-rls-granular-policies.sql +104 -0
- package/.aios-core/product/templates/tmpl-rls-kiss-policy.sql +10 -0
- package/.aios-core/product/templates/tmpl-rls-roles.sql +135 -0
- package/.aios-core/product/templates/tmpl-rls-simple.sql +77 -0
- package/.aios-core/product/templates/tmpl-rls-tenant.sql +152 -0
- package/.aios-core/product/templates/tmpl-rollback-script.sql +77 -0
- package/.aios-core/product/templates/tmpl-seed-data.sql +140 -0
- package/.aios-core/product/templates/tmpl-smoke-test.sql +16 -0
- package/.aios-core/product/templates/tmpl-staging-copy-merge.sql +139 -0
- package/.aios-core/product/templates/tmpl-stored-proc.sql +140 -0
- package/.aios-core/product/templates/tmpl-trigger.sql +152 -0
- package/.aios-core/product/templates/tmpl-view-materialized.sql +133 -0
- package/.aios-core/product/templates/tmpl-view.sql +177 -0
- package/.aios-core/product/templates/token-exports-css-tmpl.css +240 -0
- package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -0
- package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -0
- package/.aios-core/product/templates/workflow-template.yaml +134 -0
- package/.aios-core/quality/metrics-collector.js +572 -0
- package/.aios-core/quality/metrics-hook.js +260 -0
- package/.aios-core/quality/schemas/quality-metrics.schema.json +233 -0
- package/.aios-core/quality/seed-metrics.js +336 -0
- package/.aios-core/scripts/README.md +354 -0
- package/.aios-core/scripts/aios-doc-template.md +325 -0
- package/.aios-core/scripts/batch-migrate-phase1.ps1 +36 -0
- package/.aios-core/scripts/batch-migrate-phase2.ps1 +88 -0
- package/.aios-core/scripts/batch-migrate-phase3.ps1 +45 -0
- package/.aios-core/scripts/command-execution-hook.js +201 -0
- package/.aios-core/scripts/context-detector.js +226 -0
- package/.aios-core/scripts/elicitation-engine.js +385 -0
- package/.aios-core/scripts/elicitation-session-manager.js +300 -0
- package/.aios-core/scripts/migrate-framework-docs.sh +300 -0
- package/.aios-core/scripts/session-context-loader.js +286 -0
- package/.aios-core/scripts/test-template-system.js +941 -0
- package/.aios-core/scripts/validate-phase1.ps1 +35 -0
- package/.aios-core/scripts/workflow-management.md +69 -0
- package/.aios-core/tasks/find-component.md.legacy +391 -0
- package/.aios-core/tasks/generate-commit-message.md.legacy +426 -0
- package/.aios-core/tasks/generate-migration.md.legacy +382 -0
- package/.aios-core/tasks/rollback-modification.md.legacy +307 -0
- package/.aios-core/tasks/update-tests.md.legacy +283 -0
- package/.aios-core/user-guide.md +1413 -0
- package/.aios-core/working-in-the-brownfield.md +361 -0
- package/.claude/CLAUDE.md +221 -0
- package/LICENSE +48 -0
- package/README.md +703 -0
- package/bin/aios-init-old.js +532 -0
- package/bin/aios-init-v4.js +390 -0
- package/bin/aios-init.backup-v1.1.4.js +352 -0
- package/bin/aios-init.js +736 -0
- package/bin/aios-minimal.js +26 -0
- package/bin/aios.js +279 -0
- package/bin/migrate-pm-config.js +219 -0
- package/bin/modules/env-config.js +436 -0
- package/bin/modules/mcp-installer.js +383 -0
- package/bin/utils/install-errors.js +339 -0
- package/bin/utils/install-transaction.js +445 -0
- package/index.d.ts +19 -0
- package/index.esm.js +21 -0
- package/index.js +94 -0
- package/package.json +161 -0
- package/packages/installer/package.json +39 -0
- package/packages/installer/src/config/configure-environment.js +312 -0
- package/packages/installer/src/config/templates/core-config-template.js +183 -0
- package/packages/installer/src/config/templates/env-template.js +127 -0
- package/packages/installer/src/config/validation/config-validator.js +243 -0
- package/packages/installer/src/detection/detect-project-type.js +81 -0
- package/packages/installer/src/wizard/wizard.js +244 -0
- package/packages/installer/tests/integration/environment-configuration.test.js +328 -0
- package/packages/installer/tests/integration/wizard-detection.test.js +349 -0
- package/packages/installer/tests/unit/config-validator.test.js +315 -0
- package/packages/installer/tests/unit/detection/detect-project-type.test.js +401 -0
- package/packages/installer/tests/unit/env-template.test.js +185 -0
- package/src/config/ide-configs.js +189 -0
- package/src/installer/aios-core-installer.js +319 -0
- package/src/installer/dependency-installer.js +335 -0
- package/src/utils/aios-colors.js +234 -0
- package/src/wizard/feedback.js +218 -0
- package/src/wizard/ide-config-generator.js +488 -0
- package/src/wizard/ide-selector.js +84 -0
- package/src/wizard/index.js +589 -0
- package/src/wizard/questions.js +249 -0
- package/src/wizard/validation/index.js +120 -0
- package/src/wizard/validation/report-generator.js +269 -0
- package/src/wizard/validation/troubleshooting-system.js +346 -0
- package/src/wizard/validation/validators/config-validator.js +362 -0
- package/src/wizard/validation/validators/dependency-validator.js +333 -0
- package/src/wizard/validation/validators/file-structure-validator.js +181 -0
- package/src/wizard/validation/validators/mcp-health-checker.js +310 -0
- package/src/wizard/validators.js +274 -0
- package/templates/squad/LICENSE +21 -0
- package/templates/squad/README.md +37 -0
- package/templates/squad/agents/example-agent.yaml +36 -0
- package/templates/squad/package.json +19 -0
- package/templates/squad/squad.yaml +25 -0
- package/templates/squad/tasks/example-task.yaml +46 -0
- package/templates/squad/templates/example-template.md +24 -0
- package/templates/squad/tests/example-agent.test.js +53 -0
- package/templates/squad/workflows/example-workflow.yaml +54 -0
- package/tools/package-builder.js +35 -0
|
@@ -0,0 +1,758 @@
|
|
|
1
|
+
const fs = require('fs').promises;
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const chalk = require('chalk');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Framework improvement suggestion engine for AIOS-FULLSTACK
|
|
7
|
+
* Generates actionable improvement recommendations based on analysis results
|
|
8
|
+
*/
|
|
9
|
+
class ImprovementEngine {
|
|
10
|
+
constructor(options = {}) {
|
|
11
|
+
this.rootPath = options.rootPath || process.cwd();
|
|
12
|
+
this.priorityWeights = {
|
|
13
|
+
critical: 10,
|
|
14
|
+
high: 7,
|
|
15
|
+
medium: 4,
|
|
16
|
+
low: 1,
|
|
17
|
+
};
|
|
18
|
+
this.improvementTemplates = this.initializeTemplates();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Generate comprehensive improvement recommendations
|
|
23
|
+
*/
|
|
24
|
+
async generateImprovements(analysisResults) {
|
|
25
|
+
const improvements = {
|
|
26
|
+
timestamp: new Date().toISOString(),
|
|
27
|
+
overall_priority: 'medium',
|
|
28
|
+
total_improvements: 0,
|
|
29
|
+
estimated_effort: 0,
|
|
30
|
+
estimated_impact: 0,
|
|
31
|
+
categories: {
|
|
32
|
+
performance: [],
|
|
33
|
+
maintainability: [],
|
|
34
|
+
quality: [],
|
|
35
|
+
architecture: [],
|
|
36
|
+
security: [],
|
|
37
|
+
},
|
|
38
|
+
action_plan: [],
|
|
39
|
+
quick_wins: [],
|
|
40
|
+
long_term_initiatives: [],
|
|
41
|
+
risk_assessment: {},
|
|
42
|
+
implementation_roadmap: [],
|
|
43
|
+
success_metrics: [],
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
console.log(chalk.blue('🔍 Generating framework improvement recommendations...'));
|
|
48
|
+
|
|
49
|
+
// Extract improvements from different analysis types
|
|
50
|
+
if (analysisResults.framework_info) {
|
|
51
|
+
improvements.categories.architecture.push(
|
|
52
|
+
...this.analyzeArchitectureImprovements(analysisResults.framework_info),
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (analysisResults.usage_analysis) {
|
|
57
|
+
improvements.categories.maintainability.push(
|
|
58
|
+
...this.analyzeUsageImprovements(analysisResults.usage_analysis),
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (analysisResults.performance_analysis) {
|
|
63
|
+
improvements.categories.performance.push(
|
|
64
|
+
...this.analyzePerformanceImprovements(analysisResults.performance_analysis),
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (analysisResults.redundancy_analysis) {
|
|
69
|
+
improvements.categories.quality.push(
|
|
70
|
+
...this.analyzeRedundancyImprovements(analysisResults.redundancy_analysis),
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Generate cross-cutting improvements
|
|
75
|
+
improvements.categories.security.push(
|
|
76
|
+
...this.generateSecurityImprovements(analysisResults),
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
// Calculate overall metrics
|
|
80
|
+
improvements.total_improvements = this.countTotalImprovements(improvements.categories);
|
|
81
|
+
improvements.overall_priority = this.calculateOverallPriority(improvements.categories);
|
|
82
|
+
improvements.estimated_effort = this.calculateTotalEffort(improvements.categories);
|
|
83
|
+
improvements.estimated_impact = this.calculateTotalImpact(improvements.categories);
|
|
84
|
+
|
|
85
|
+
// Generate action plan
|
|
86
|
+
improvements.action_plan = this.generateActionPlan(improvements.categories);
|
|
87
|
+
improvements.quick_wins = this.identifyQuickWins(improvements.categories);
|
|
88
|
+
improvements.long_term_initiatives = this.identifyLongTermInitiatives(improvements.categories);
|
|
89
|
+
|
|
90
|
+
// Risk assessment
|
|
91
|
+
improvements.risk_assessment = this.assessImplementationRisks(analysisResults, improvements);
|
|
92
|
+
|
|
93
|
+
// Implementation roadmap
|
|
94
|
+
improvements.implementation_roadmap = this.createImplementationRoadmap(improvements);
|
|
95
|
+
|
|
96
|
+
// Success metrics
|
|
97
|
+
improvements.success_metrics = this.defineSuccessMetrics(improvements);
|
|
98
|
+
|
|
99
|
+
console.log(chalk.green(`✅ Generated ${improvements.total_improvements} improvement recommendations`));
|
|
100
|
+
console.log(chalk.gray(` Overall priority: ${improvements.overall_priority}`));
|
|
101
|
+
console.log(chalk.gray(` Quick wins: ${improvements.quick_wins.length}`));
|
|
102
|
+
console.log(chalk.gray(` Long-term initiatives: ${improvements.long_term_initiatives.length}`));
|
|
103
|
+
|
|
104
|
+
return improvements;
|
|
105
|
+
|
|
106
|
+
} catch (error) {
|
|
107
|
+
console.error(chalk.red(`Improvement generation failed: ${error.message}`));
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Analyze architecture improvements from framework info
|
|
114
|
+
*/
|
|
115
|
+
analyzeArchitectureImprovements(frameworkInfo) {
|
|
116
|
+
const improvements = [];
|
|
117
|
+
const components = frameworkInfo.components || [];
|
|
118
|
+
const metrics = frameworkInfo.metrics || {};
|
|
119
|
+
|
|
120
|
+
// Component organization improvements
|
|
121
|
+
if (components.length > 50) {
|
|
122
|
+
improvements.push(this.createImprovement({
|
|
123
|
+
type: 'architecture',
|
|
124
|
+
title: 'Implement Component Categorization',
|
|
125
|
+
description: `Framework has ${components.length} components. Consider organizing into logical categories.`,
|
|
126
|
+
priority: 'medium',
|
|
127
|
+
effort: 'medium',
|
|
128
|
+
impact: 'high',
|
|
129
|
+
implementation: {
|
|
130
|
+
steps: [
|
|
131
|
+
'Analyze component dependencies and relationships',
|
|
132
|
+
'Create logical groupings (core, utilities, extensions)',
|
|
133
|
+
'Reorganize directory structure',
|
|
134
|
+
'Update import paths and documentation',
|
|
135
|
+
],
|
|
136
|
+
estimated_hours: 16,
|
|
137
|
+
prerequisites: ['Framework analysis complete'],
|
|
138
|
+
},
|
|
139
|
+
benefits: [
|
|
140
|
+
'Improved developer navigation',
|
|
141
|
+
'Better separation of concerns',
|
|
142
|
+
'Easier maintenance and updates',
|
|
143
|
+
],
|
|
144
|
+
}));
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Dependency improvements
|
|
148
|
+
if (frameworkInfo.dependencies?.circular_dependencies?.length > 0) {
|
|
149
|
+
improvements.push(this.createImprovement({
|
|
150
|
+
type: 'architecture',
|
|
151
|
+
title: 'Resolve Circular Dependencies',
|
|
152
|
+
description: `${frameworkInfo.dependencies.circular_dependencies.length} circular dependencies detected.`,
|
|
153
|
+
priority: 'high',
|
|
154
|
+
effort: 'high',
|
|
155
|
+
impact: 'high',
|
|
156
|
+
implementation: {
|
|
157
|
+
steps: [
|
|
158
|
+
'Map dependency graph',
|
|
159
|
+
'Identify dependency cycles',
|
|
160
|
+
'Refactor to break circular references',
|
|
161
|
+
'Implement dependency injection where appropriate',
|
|
162
|
+
],
|
|
163
|
+
estimated_hours: 24,
|
|
164
|
+
prerequisites: ['Dependency analysis complete'],
|
|
165
|
+
},
|
|
166
|
+
benefits: [
|
|
167
|
+
'Improved module loading',
|
|
168
|
+
'Better testability',
|
|
169
|
+
'Reduced coupling',
|
|
170
|
+
],
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Test coverage improvements
|
|
175
|
+
if (metrics.test_coverage < 70) {
|
|
176
|
+
improvements.push(this.createImprovement({
|
|
177
|
+
type: 'quality',
|
|
178
|
+
title: 'Improve Test Coverage',
|
|
179
|
+
description: `Test coverage is ${metrics.test_coverage}%. Target: 80%+`,
|
|
180
|
+
priority: 'high',
|
|
181
|
+
effort: 'high',
|
|
182
|
+
impact: 'high',
|
|
183
|
+
implementation: {
|
|
184
|
+
steps: [
|
|
185
|
+
'Identify uncovered code paths',
|
|
186
|
+
'Write unit tests for critical functions',
|
|
187
|
+
'Add integration tests for workflows',
|
|
188
|
+
'Implement automated coverage reporting',
|
|
189
|
+
],
|
|
190
|
+
estimated_hours: 32,
|
|
191
|
+
prerequisites: ['Testing framework setup'],
|
|
192
|
+
},
|
|
193
|
+
benefits: [
|
|
194
|
+
'Reduced bug risk',
|
|
195
|
+
'Improved code confidence',
|
|
196
|
+
'Better regression detection',
|
|
197
|
+
],
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
return improvements;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Analyze usage improvements
|
|
206
|
+
*/
|
|
207
|
+
analyzeUsageImprovements(usageAnalysis) {
|
|
208
|
+
const improvements = [];
|
|
209
|
+
|
|
210
|
+
// Unused component cleanup
|
|
211
|
+
if (usageAnalysis.unused_components?.length > 0) {
|
|
212
|
+
improvements.push(this.createImprovement({
|
|
213
|
+
type: 'maintainability',
|
|
214
|
+
title: 'Clean Up Unused Components',
|
|
215
|
+
description: `${usageAnalysis.unused_components.length} components appear to be unused.`,
|
|
216
|
+
priority: 'medium',
|
|
217
|
+
effort: 'low',
|
|
218
|
+
impact: 'medium',
|
|
219
|
+
implementation: {
|
|
220
|
+
steps: [
|
|
221
|
+
'Verify components are truly unused',
|
|
222
|
+
'Check for dynamic references',
|
|
223
|
+
'Remove or archive unused components',
|
|
224
|
+
'Update documentation',
|
|
225
|
+
],
|
|
226
|
+
estimated_hours: 4,
|
|
227
|
+
prerequisites: ['Usage analysis verification'],
|
|
228
|
+
},
|
|
229
|
+
benefits: [
|
|
230
|
+
'Reduced codebase size',
|
|
231
|
+
'Improved maintainability',
|
|
232
|
+
'Cleaner architecture',
|
|
233
|
+
],
|
|
234
|
+
}));
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// Hotspot optimization
|
|
238
|
+
if (usageAnalysis.hotspots?.length > 0) {
|
|
239
|
+
const topHotspot = usageAnalysis.hotspots[0];
|
|
240
|
+
if (topHotspot.popularity_score > 50) {
|
|
241
|
+
improvements.push(this.createImprovement({
|
|
242
|
+
type: 'performance',
|
|
243
|
+
title: 'Optimize High-Usage Components',
|
|
244
|
+
description: `Component '${topHotspot.component_id}' has high usage (${topHotspot.popularity_score} references).`,
|
|
245
|
+
priority: 'high',
|
|
246
|
+
effort: 'medium',
|
|
247
|
+
impact: 'high',
|
|
248
|
+
implementation: {
|
|
249
|
+
steps: [
|
|
250
|
+
'Profile component performance',
|
|
251
|
+
'Implement caching strategies',
|
|
252
|
+
'Optimize critical code paths',
|
|
253
|
+
'Add performance monitoring',
|
|
254
|
+
],
|
|
255
|
+
estimated_hours: 12,
|
|
256
|
+
prerequisites: ['Performance profiling tools'],
|
|
257
|
+
},
|
|
258
|
+
benefits: [
|
|
259
|
+
'Improved overall performance',
|
|
260
|
+
'Better user experience',
|
|
261
|
+
'Reduced resource usage',
|
|
262
|
+
],
|
|
263
|
+
}));
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
// Efficiency improvements
|
|
268
|
+
if (usageAnalysis.efficiency_score < 70) {
|
|
269
|
+
improvements.push(this.createImprovement({
|
|
270
|
+
type: 'architecture',
|
|
271
|
+
title: 'Improve Framework Efficiency',
|
|
272
|
+
description: `Framework efficiency is ${usageAnalysis.efficiency_score}%. Consider component consolidation.`,
|
|
273
|
+
priority: 'medium',
|
|
274
|
+
effort: 'high',
|
|
275
|
+
impact: 'medium',
|
|
276
|
+
implementation: {
|
|
277
|
+
steps: [
|
|
278
|
+
'Analyze component overlap',
|
|
279
|
+
'Identify consolidation opportunities',
|
|
280
|
+
'Merge similar components',
|
|
281
|
+
'Refactor shared functionality',
|
|
282
|
+
],
|
|
283
|
+
estimated_hours: 20,
|
|
284
|
+
prerequisites: ['Component analysis complete'],
|
|
285
|
+
},
|
|
286
|
+
benefits: [
|
|
287
|
+
'Improved efficiency',
|
|
288
|
+
'Reduced duplication',
|
|
289
|
+
'Better resource utilization',
|
|
290
|
+
],
|
|
291
|
+
}));
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
return improvements;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Analyze performance improvements
|
|
299
|
+
*/
|
|
300
|
+
analyzePerformanceImprovements(performanceAnalysis) {
|
|
301
|
+
const improvements = [];
|
|
302
|
+
|
|
303
|
+
// Critical performance issues
|
|
304
|
+
if (performanceAnalysis.metrics?.critical_issues > 0) {
|
|
305
|
+
improvements.push(this.createImprovement({
|
|
306
|
+
type: 'performance',
|
|
307
|
+
title: 'Fix Critical Performance Issues',
|
|
308
|
+
description: `${performanceAnalysis.metrics.critical_issues} critical performance issues require immediate attention.`,
|
|
309
|
+
priority: 'critical',
|
|
310
|
+
effort: 'high',
|
|
311
|
+
impact: 'critical',
|
|
312
|
+
implementation: {
|
|
313
|
+
steps: [
|
|
314
|
+
'Identify critical bottlenecks',
|
|
315
|
+
'Implement immediate fixes',
|
|
316
|
+
'Add performance monitoring',
|
|
317
|
+
'Validate improvements',
|
|
318
|
+
],
|
|
319
|
+
estimated_hours: 16,
|
|
320
|
+
prerequisites: ['Performance analysis complete'],
|
|
321
|
+
},
|
|
322
|
+
benefits: [
|
|
323
|
+
'Improved system responsiveness',
|
|
324
|
+
'Better user experience',
|
|
325
|
+
'Reduced resource consumption',
|
|
326
|
+
],
|
|
327
|
+
}));
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Async opportunities
|
|
331
|
+
if (performanceAnalysis.async_opportunities?.length > 5) {
|
|
332
|
+
improvements.push(this.createImprovement({
|
|
333
|
+
type: 'performance',
|
|
334
|
+
title: 'Convert Synchronous Operations to Async',
|
|
335
|
+
description: `${performanceAnalysis.async_opportunities.length} synchronous operations should be converted to async.`,
|
|
336
|
+
priority: 'high',
|
|
337
|
+
effort: 'medium',
|
|
338
|
+
impact: 'high',
|
|
339
|
+
implementation: {
|
|
340
|
+
steps: [
|
|
341
|
+
'Identify sync operations',
|
|
342
|
+
'Convert to async equivalents',
|
|
343
|
+
'Update error handling',
|
|
344
|
+
'Test async behavior',
|
|
345
|
+
],
|
|
346
|
+
estimated_hours: 8,
|
|
347
|
+
prerequisites: ['Code review for async patterns'],
|
|
348
|
+
},
|
|
349
|
+
benefits: [
|
|
350
|
+
'Non-blocking operations',
|
|
351
|
+
'Better concurrency',
|
|
352
|
+
'Improved scalability',
|
|
353
|
+
],
|
|
354
|
+
}));
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
// Memory optimization
|
|
358
|
+
if (performanceAnalysis.memory_issues?.length > 0) {
|
|
359
|
+
improvements.push(this.createImprovement({
|
|
360
|
+
type: 'performance',
|
|
361
|
+
title: 'Optimize Memory Usage',
|
|
362
|
+
description: `${performanceAnalysis.memory_issues.length} memory optimization opportunities identified.`,
|
|
363
|
+
priority: 'medium',
|
|
364
|
+
effort: 'medium',
|
|
365
|
+
impact: 'medium',
|
|
366
|
+
implementation: {
|
|
367
|
+
steps: [
|
|
368
|
+
'Profile memory usage patterns',
|
|
369
|
+
'Implement efficient data structures',
|
|
370
|
+
'Add memory leak detection',
|
|
371
|
+
'Optimize large data processing',
|
|
372
|
+
],
|
|
373
|
+
estimated_hours: 12,
|
|
374
|
+
prerequisites: ['Memory profiling tools'],
|
|
375
|
+
},
|
|
376
|
+
benefits: [
|
|
377
|
+
'Reduced memory footprint',
|
|
378
|
+
'Better performance',
|
|
379
|
+
'Improved stability',
|
|
380
|
+
],
|
|
381
|
+
}));
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
return improvements;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Analyze redundancy improvements
|
|
389
|
+
*/
|
|
390
|
+
analyzeRedundancyImprovements(redundancyAnalysis) {
|
|
391
|
+
const improvements = [];
|
|
392
|
+
|
|
393
|
+
// Duplicate function consolidation
|
|
394
|
+
if (redundancyAnalysis.duplicate_functions?.length > 0) {
|
|
395
|
+
improvements.push(this.createImprovement({
|
|
396
|
+
type: 'quality',
|
|
397
|
+
title: 'Consolidate Duplicate Functions',
|
|
398
|
+
description: `${redundancyAnalysis.duplicate_functions.length} duplicate functions found. Extract to shared utilities.`,
|
|
399
|
+
priority: 'medium',
|
|
400
|
+
effort: 'medium',
|
|
401
|
+
impact: 'medium',
|
|
402
|
+
implementation: {
|
|
403
|
+
steps: [
|
|
404
|
+
'Identify truly duplicate functions',
|
|
405
|
+
'Extract to shared utility modules',
|
|
406
|
+
'Update all references',
|
|
407
|
+
'Remove duplicate implementations',
|
|
408
|
+
],
|
|
409
|
+
estimated_hours: 10,
|
|
410
|
+
prerequisites: ['Code analysis complete'],
|
|
411
|
+
},
|
|
412
|
+
benefits: [
|
|
413
|
+
'Reduced code duplication',
|
|
414
|
+
'Easier maintenance',
|
|
415
|
+
'Consistent behavior',
|
|
416
|
+
],
|
|
417
|
+
}));
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// Component similarity improvements
|
|
421
|
+
if (redundancyAnalysis.similar_components?.length > 0) {
|
|
422
|
+
const highSimilarity = redundancyAnalysis.similar_components.filter(s => s.similarity_score > 85);
|
|
423
|
+
if (highSimilarity.length > 0) {
|
|
424
|
+
improvements.push(this.createImprovement({
|
|
425
|
+
type: 'architecture',
|
|
426
|
+
title: 'Merge Similar Components',
|
|
427
|
+
description: `${highSimilarity.length} highly similar components could be consolidated.`,
|
|
428
|
+
priority: 'medium',
|
|
429
|
+
effort: 'high',
|
|
430
|
+
impact: 'medium',
|
|
431
|
+
implementation: {
|
|
432
|
+
steps: [
|
|
433
|
+
'Analyze component interfaces',
|
|
434
|
+
'Design unified component',
|
|
435
|
+
'Merge functionality',
|
|
436
|
+
'Update all references',
|
|
437
|
+
],
|
|
438
|
+
estimated_hours: 16,
|
|
439
|
+
prerequisites: ['Component interface analysis'],
|
|
440
|
+
},
|
|
441
|
+
benefits: [
|
|
442
|
+
'Simplified architecture',
|
|
443
|
+
'Reduced maintenance overhead',
|
|
444
|
+
'Better consistency',
|
|
445
|
+
],
|
|
446
|
+
}));
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
// Pattern standardization
|
|
451
|
+
if (redundancyAnalysis.redundant_patterns?.length > 0) {
|
|
452
|
+
improvements.push(this.createImprovement({
|
|
453
|
+
type: 'quality',
|
|
454
|
+
title: 'Standardize Code Patterns',
|
|
455
|
+
description: `${redundancyAnalysis.redundant_patterns.length} redundant patterns should be standardized.`,
|
|
456
|
+
priority: 'low',
|
|
457
|
+
effort: 'medium',
|
|
458
|
+
impact: 'medium',
|
|
459
|
+
implementation: {
|
|
460
|
+
steps: [
|
|
461
|
+
'Define standard patterns',
|
|
462
|
+
'Create pattern libraries',
|
|
463
|
+
'Refactor existing code',
|
|
464
|
+
'Document standards',
|
|
465
|
+
],
|
|
466
|
+
estimated_hours: 14,
|
|
467
|
+
prerequisites: ['Pattern analysis complete'],
|
|
468
|
+
},
|
|
469
|
+
benefits: [
|
|
470
|
+
'Improved consistency',
|
|
471
|
+
'Easier onboarding',
|
|
472
|
+
'Better maintainability',
|
|
473
|
+
],
|
|
474
|
+
}));
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
return improvements;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
/**
|
|
481
|
+
* Generate security improvements
|
|
482
|
+
*/
|
|
483
|
+
generateSecurityImprovements(analysisResults) {
|
|
484
|
+
const improvements = [];
|
|
485
|
+
|
|
486
|
+
// Generic security recommendations
|
|
487
|
+
improvements.push(this.createImprovement({
|
|
488
|
+
type: 'security',
|
|
489
|
+
title: 'Implement Security Audit',
|
|
490
|
+
description: 'Regular security audits help identify vulnerabilities early.',
|
|
491
|
+
priority: 'medium',
|
|
492
|
+
effort: 'low',
|
|
493
|
+
impact: 'high',
|
|
494
|
+
implementation: {
|
|
495
|
+
steps: [
|
|
496
|
+
'Set up automated security scanning',
|
|
497
|
+
'Review dependency vulnerabilities',
|
|
498
|
+
'Implement security linting rules',
|
|
499
|
+
'Create security checklist',
|
|
500
|
+
],
|
|
501
|
+
estimated_hours: 6,
|
|
502
|
+
prerequisites: ['Security scanning tools'],
|
|
503
|
+
},
|
|
504
|
+
benefits: [
|
|
505
|
+
'Early vulnerability detection',
|
|
506
|
+
'Improved security posture',
|
|
507
|
+
'Compliance readiness',
|
|
508
|
+
],
|
|
509
|
+
}));
|
|
510
|
+
|
|
511
|
+
return improvements;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* Create standardized improvement object
|
|
516
|
+
*/
|
|
517
|
+
createImprovement(config) {
|
|
518
|
+
return {
|
|
519
|
+
id: this.generateImprovementId(),
|
|
520
|
+
type: config.type,
|
|
521
|
+
title: config.title,
|
|
522
|
+
description: config.description,
|
|
523
|
+
priority: config.priority,
|
|
524
|
+
effort: config.effort,
|
|
525
|
+
impact: config.impact,
|
|
526
|
+
implementation: config.implementation,
|
|
527
|
+
benefits: config.benefits,
|
|
528
|
+
created: new Date().toISOString(),
|
|
529
|
+
status: 'recommended',
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* Generate action plan with prioritized improvements
|
|
535
|
+
*/
|
|
536
|
+
generateActionPlan(categories) {
|
|
537
|
+
const allImprovements = Object.values(categories).flat();
|
|
538
|
+
|
|
539
|
+
// Sort by priority and impact
|
|
540
|
+
const sortedImprovements = allImprovements.sort((a, b) => {
|
|
541
|
+
const aPriority = this.priorityWeights[a.priority] || 0;
|
|
542
|
+
const bPriority = this.priorityWeights[b.priority] || 0;
|
|
543
|
+
|
|
544
|
+
if (aPriority !== bPriority) {
|
|
545
|
+
return bPriority - aPriority;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
// Secondary sort by impact
|
|
549
|
+
const impactWeights = { critical: 4, high: 3, medium: 2, low: 1 };
|
|
550
|
+
const aImpact = impactWeights[a.impact] || 0;
|
|
551
|
+
const bImpact = impactWeights[b.impact] || 0;
|
|
552
|
+
|
|
553
|
+
return bImpact - aImpact;
|
|
554
|
+
});
|
|
555
|
+
|
|
556
|
+
return sortedImprovements.slice(0, 10).map((improvement, index) => ({
|
|
557
|
+
phase: Math.floor(index / 3) + 1,
|
|
558
|
+
priority_rank: index + 1,
|
|
559
|
+
improvement_id: improvement.id,
|
|
560
|
+
title: improvement.title,
|
|
561
|
+
estimated_effort: improvement.implementation?.estimated_hours || 0,
|
|
562
|
+
dependencies: improvement.implementation?.prerequisites || [],
|
|
563
|
+
}));
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* Identify quick wins (low effort, high impact)
|
|
568
|
+
*/
|
|
569
|
+
identifyQuickWins(categories) {
|
|
570
|
+
const allImprovements = Object.values(categories).flat();
|
|
571
|
+
|
|
572
|
+
return allImprovements
|
|
573
|
+
.filter(imp => imp.effort === 'low' && (imp.impact === 'high' || imp.impact === 'medium'))
|
|
574
|
+
.sort((a, b) => this.priorityWeights[b.priority] - this.priorityWeights[a.priority])
|
|
575
|
+
.slice(0, 5)
|
|
576
|
+
.map(imp => ({
|
|
577
|
+
improvement_id: imp.id,
|
|
578
|
+
title: imp.title,
|
|
579
|
+
estimated_hours: imp.implementation?.estimated_hours || 0,
|
|
580
|
+
expected_benefit: imp.benefits?.[0] || 'Improved system quality',
|
|
581
|
+
}));
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* Identify long-term initiatives (high effort, high impact)
|
|
586
|
+
*/
|
|
587
|
+
identifyLongTermInitiatives(categories) {
|
|
588
|
+
const allImprovements = Object.values(categories).flat();
|
|
589
|
+
|
|
590
|
+
return allImprovements
|
|
591
|
+
.filter(imp => imp.effort === 'high' && (imp.impact === 'high' || imp.impact === 'critical'))
|
|
592
|
+
.sort((a, b) => this.priorityWeights[b.priority] - this.priorityWeights[a.priority])
|
|
593
|
+
.slice(0, 3)
|
|
594
|
+
.map(imp => ({
|
|
595
|
+
improvement_id: imp.id,
|
|
596
|
+
title: imp.title,
|
|
597
|
+
estimated_hours: imp.implementation?.estimated_hours || 0,
|
|
598
|
+
strategic_value: imp.benefits?.join(', ') || 'Strategic framework improvement',
|
|
599
|
+
}));
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* Assess implementation risks
|
|
604
|
+
*/
|
|
605
|
+
assessImplementationRisks(analysisResults, improvements) {
|
|
606
|
+
return {
|
|
607
|
+
overall_risk: 'medium',
|
|
608
|
+
risk_factors: [
|
|
609
|
+
{
|
|
610
|
+
factor: 'Change complexity',
|
|
611
|
+
level: 'medium',
|
|
612
|
+
mitigation: 'Implement changes incrementally with thorough testing',
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
factor: 'Dependency impact',
|
|
616
|
+
level: 'low',
|
|
617
|
+
mitigation: 'Maintain backward compatibility where possible',
|
|
618
|
+
},
|
|
619
|
+
],
|
|
620
|
+
recommended_approach: 'Phased implementation with rollback capabilities',
|
|
621
|
+
};
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
/**
|
|
625
|
+
* Create implementation roadmap
|
|
626
|
+
*/
|
|
627
|
+
createImplementationRoadmap(improvements) {
|
|
628
|
+
const phases = [
|
|
629
|
+
{
|
|
630
|
+
phase: 1,
|
|
631
|
+
name: 'Quick Wins & Critical Fixes',
|
|
632
|
+
duration_weeks: 2,
|
|
633
|
+
focus: 'Low-effort, high-impact improvements',
|
|
634
|
+
deliverables: improvements.quick_wins.map(qw => qw.title),
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
phase: 2,
|
|
638
|
+
name: 'Performance & Quality',
|
|
639
|
+
duration_weeks: 4,
|
|
640
|
+
focus: 'Performance optimizations and code quality',
|
|
641
|
+
deliverables: ['Performance bottleneck fixes', 'Code consolidation'],
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
phase: 3,
|
|
645
|
+
name: 'Architecture & Long-term',
|
|
646
|
+
duration_weeks: 6,
|
|
647
|
+
focus: 'Structural improvements and strategic initiatives',
|
|
648
|
+
deliverables: improvements.long_term_initiatives.map(lti => lti.title),
|
|
649
|
+
},
|
|
650
|
+
];
|
|
651
|
+
|
|
652
|
+
return phases;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
/**
|
|
656
|
+
* Define success metrics
|
|
657
|
+
*/
|
|
658
|
+
defineSuccessMetrics(improvements) {
|
|
659
|
+
return [
|
|
660
|
+
{
|
|
661
|
+
category: 'Performance',
|
|
662
|
+
metrics: [
|
|
663
|
+
'Overall framework response time',
|
|
664
|
+
'Memory usage reduction',
|
|
665
|
+
'Async operation percentage',
|
|
666
|
+
],
|
|
667
|
+
targets: ['< 100ms average', '< 50MB baseline', '> 90%'],
|
|
668
|
+
},
|
|
669
|
+
{
|
|
670
|
+
category: 'Quality',
|
|
671
|
+
metrics: [
|
|
672
|
+
'Code duplication percentage',
|
|
673
|
+
'Test coverage',
|
|
674
|
+
'Technical debt score',
|
|
675
|
+
],
|
|
676
|
+
targets: ['< 5%', '> 80%', '< 20%'],
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
category: 'Maintainability',
|
|
680
|
+
metrics: [
|
|
681
|
+
'Unused component count',
|
|
682
|
+
'Circular dependency count',
|
|
683
|
+
'Documentation coverage',
|
|
684
|
+
],
|
|
685
|
+
targets: ['0', '0', '> 75%'],
|
|
686
|
+
},
|
|
687
|
+
];
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
// Helper methods
|
|
691
|
+
countTotalImprovements(categories) {
|
|
692
|
+
return Object.values(categories).reduce((sum, improvements) => sum + improvements.length, 0);
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
calculateOverallPriority(categories) {
|
|
696
|
+
const allImprovements = Object.values(categories).flat();
|
|
697
|
+
const priorities = allImprovements.map(imp => imp.priority);
|
|
698
|
+
|
|
699
|
+
if (priorities.includes('critical')) return 'critical';
|
|
700
|
+
if (priorities.filter(p => p === 'high').length > allImprovements.length * 0.3) return 'high';
|
|
701
|
+
if (priorities.filter(p => p === 'medium').length > allImprovements.length * 0.5) return 'medium';
|
|
702
|
+
return 'low';
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
calculateTotalEffort(categories) {
|
|
706
|
+
const allImprovements = Object.values(categories).flat();
|
|
707
|
+
return allImprovements.reduce((sum, imp) => {
|
|
708
|
+
return sum + (imp.implementation?.estimated_hours || 0);
|
|
709
|
+
}, 0);
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
calculateTotalImpact(categories) {
|
|
713
|
+
const allImprovements = Object.values(categories).flat();
|
|
714
|
+
const impactWeights = { critical: 4, high: 3, medium: 2, low: 1 };
|
|
715
|
+
|
|
716
|
+
const totalImpact = allImprovements.reduce((sum, imp) => {
|
|
717
|
+
return sum + (impactWeights[imp.impact] || 1);
|
|
718
|
+
}, 0);
|
|
719
|
+
|
|
720
|
+
return Math.round(totalImpact / allImprovements.length * 10) / 10;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
generateImprovementId() {
|
|
724
|
+
return `imp-${Date.now()}-${Math.random().toString(36).substr(2, 6)}`;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
initializeTemplates() {
|
|
728
|
+
// Improvement templates for common scenarios
|
|
729
|
+
return {
|
|
730
|
+
performance: {
|
|
731
|
+
async_conversion: {
|
|
732
|
+
title: 'Convert Synchronous Operations to Async',
|
|
733
|
+
effort: 'medium',
|
|
734
|
+
impact: 'high',
|
|
735
|
+
},
|
|
736
|
+
memory_optimization: {
|
|
737
|
+
title: 'Optimize Memory Usage Patterns',
|
|
738
|
+
effort: 'medium',
|
|
739
|
+
impact: 'medium',
|
|
740
|
+
},
|
|
741
|
+
},
|
|
742
|
+
architecture: {
|
|
743
|
+
circular_dependencies: {
|
|
744
|
+
title: 'Resolve Circular Dependencies',
|
|
745
|
+
effort: 'high',
|
|
746
|
+
impact: 'high',
|
|
747
|
+
},
|
|
748
|
+
component_organization: {
|
|
749
|
+
title: 'Improve Component Organization',
|
|
750
|
+
effort: 'medium',
|
|
751
|
+
impact: 'medium',
|
|
752
|
+
},
|
|
753
|
+
},
|
|
754
|
+
};
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
module.exports = ImprovementEngine;
|