aios-core 2.1.6 → 2.2.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/core/README.md +229 -229
- package/.aios-core/core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/core/data/aios-kb.md +923 -923
- package/.aios-core/core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/core/docs/component-creation-guide.md +457 -457
- package/.aios-core/core/docs/session-update-pattern.md +307 -307
- package/.aios-core/core/docs/template-syntax.md +266 -266
- package/.aios-core/core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/core/elicitation/elicitation-engine.js +1 -1
- package/.aios-core/core/index.esm.js +42 -42
- package/.aios-core/core/index.js +1 -1
- package/.aios-core/core/migration/migration-config.yaml +83 -83
- package/.aios-core/core/migration/module-mapping.yaml +89 -89
- package/.aios-core/core/quality-gates/layer2-pr-automation.js +1 -1
- package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -86
- package/.aios-core/core/registry/README.md +179 -179
- package/.aios-core/core/utils/security-utils.js +1 -1
- package/.aios-core/core-config.yaml +391 -382
- package/.aios-core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/data/aios-kb.md +923 -923
- package/.aios-core/data/technical-preferences.md +3 -3
- package/.aios-core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/development/README.md +142 -142
- package/.aios-core/development/agent-teams/team-all.yaml +15 -15
- package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -18
- package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -10
- package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -13
- package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -155
- package/.aios-core/development/agents/aios-master.md +339 -339
- package/.aios-core/development/agents/analyst.md +195 -195
- package/.aios-core/development/agents/architect.md +359 -359
- package/.aios-core/development/agents/data-engineer.md +468 -468
- package/.aios-core/development/agents/dev.md +390 -390
- package/.aios-core/development/agents/devops.md +398 -398
- package/.aios-core/development/agents/pm.md +198 -198
- package/.aios-core/development/agents/po.md +256 -256
- package/.aios-core/development/agents/qa.md +312 -312
- package/.aios-core/development/agents/sm.md +220 -220
- package/.aios-core/development/agents/ux-design-expert.md +451 -451
- package/.aios-core/development/scripts/greeting-config-cli.js +85 -85
- package/.aios-core/development/tasks/add-mcp.md +319 -319
- package/.aios-core/development/tasks/advanced-elicitation.md +318 -318
- package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +341 -341
- package/.aios-core/development/tasks/analyze-framework.md +696 -696
- package/.aios-core/development/tasks/analyze-performance.md +637 -637
- package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
- package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
- package/.aios-core/development/tasks/audit-codebase.md +429 -429
- package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
- package/.aios-core/development/tasks/audit-utilities.md +358 -358
- package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
- package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
- package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
- package/.aios-core/development/tasks/build-component.md +478 -478
- package/.aios-core/development/tasks/calculate-roi.md +455 -455
- package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
- package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
- package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
- package/.aios-core/development/tasks/compose-molecule.md +284 -284
- package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
- package/.aios-core/development/tasks/correct-course.md +279 -279
- package/.aios-core/development/tasks/create-agent.md +321 -321
- package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
- package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
- package/.aios-core/development/tasks/create-doc.md +316 -316
- package/.aios-core/development/tasks/create-next-story.md +774 -774
- package/.aios-core/development/tasks/create-suite.md +283 -283
- package/.aios-core/development/tasks/create-task.md +371 -371
- package/.aios-core/development/tasks/create-workflow.md +370 -370
- package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
- package/.aios-core/development/tasks/db-apply-migration.md +381 -381
- package/.aios-core/development/tasks/db-bootstrap.md +642 -642
- package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
- package/.aios-core/development/tasks/db-dry-run.md +293 -293
- package/.aios-core/development/tasks/db-env-check.md +260 -260
- package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
- package/.aios-core/development/tasks/db-explain.md +631 -631
- package/.aios-core/development/tasks/db-impersonate.md +495 -495
- package/.aios-core/development/tasks/db-load-csv.md +593 -593
- package/.aios-core/development/tasks/db-policy-apply.md +653 -653
- package/.aios-core/development/tasks/db-rls-audit.md +411 -411
- package/.aios-core/development/tasks/db-rollback.md +739 -739
- package/.aios-core/development/tasks/db-run-sql.md +613 -613
- package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
- package/.aios-core/development/tasks/db-seed.md +390 -390
- package/.aios-core/development/tasks/db-smoke-test.md +351 -351
- package/.aios-core/development/tasks/db-snapshot.md +569 -569
- package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
- package/.aios-core/development/tasks/db-verify-order.md +515 -515
- package/.aios-core/development/tasks/deprecate-component.md +956 -956
- package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
- package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
- package/.aios-core/development/tasks/dev-develop-story.md +846 -846
- package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
- package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
- package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
- package/.aios-core/development/tasks/document-project.md +552 -552
- package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
- package/.aios-core/development/tasks/execute-checklist.md +301 -301
- package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
- package/.aios-core/development/tasks/extend-pattern.md +269 -269
- package/.aios-core/development/tasks/extract-tokens.md +467 -467
- package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
- package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
- package/.aios-core/development/tasks/generate-documentation.md +284 -284
- package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
- package/.aios-core/development/tasks/generate-shock-report.md +501 -501
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
- package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
- package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
- package/.aios-core/development/tasks/improve-self.md +822 -822
- package/.aios-core/development/tasks/index-docs.md +387 -387
- package/.aios-core/development/tasks/init-project-status.md +506 -506
- package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
- package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
- package/.aios-core/development/tasks/learn-patterns.md +900 -900
- package/.aios-core/development/tasks/mcp-workflow.md +437 -437
- package/.aios-core/development/tasks/modify-agent.md +381 -381
- package/.aios-core/development/tasks/modify-task.md +424 -424
- package/.aios-core/development/tasks/modify-workflow.md +465 -465
- package/.aios-core/development/tasks/po-backlog-add.md +370 -370
- package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
- package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
- package/.aios-core/development/tasks/po-pull-story.md +316 -316
- package/.aios-core/development/tasks/po-stories-index.md +351 -351
- package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
- package/.aios-core/development/tasks/po-sync-story.md +303 -303
- package/.aios-core/development/tasks/pr-automation.md +701 -701
- package/.aios-core/development/tasks/propose-modification.md +842 -842
- package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
- package/.aios-core/development/tasks/qa-gate.md +373 -373
- package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
- package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
- package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
- package/.aios-core/development/tasks/qa-review-story.md +682 -682
- package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
- package/.aios-core/development/tasks/qa-run-tests.md +277 -277
- package/.aios-core/development/tasks/qa-test-design.md +387 -387
- package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
- package/.aios-core/development/tasks/release-management.md +723 -723
- package/.aios-core/development/tasks/security-audit.md +554 -554
- package/.aios-core/development/tasks/security-scan.md +790 -790
- package/.aios-core/development/tasks/setup-database.md +741 -741
- package/.aios-core/development/tasks/setup-design-system.md +462 -462
- package/.aios-core/development/tasks/setup-github.md +874 -874
- package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
- package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
- package/.aios-core/development/tasks/setup-project-docs.md +1 -1
- package/.aios-core/development/tasks/shard-doc.md +537 -537
- package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
- package/.aios-core/development/tasks/sync-documentation.md +864 -864
- package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
- package/.aios-core/development/tasks/test-as-user.md +621 -621
- package/.aios-core/development/tasks/test-validation-task.md +171 -171
- package/.aios-core/development/tasks/undo-last.md +346 -346
- package/.aios-core/development/tasks/update-manifest.md +409 -409
- package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
- package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
- package/.aios-core/development/tasks/ux-user-research.md +559 -559
- package/.aios-core/development/tasks/validate-next-story.md +422 -422
- package/.aios-core/development/workflows/README.md +83 -83
- package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
- package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
- package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
- package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
- package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
- package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/docs/component-creation-guide.md +457 -457
- package/.aios-core/docs/session-update-pattern.md +307 -307
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
- package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
- package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
- package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
- package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
- package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
- package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
- package/.aios-core/docs/template-syntax.md +266 -266
- package/.aios-core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/index.esm.js +15 -15
- package/.aios-core/index.js +1 -1
- package/.aios-core/infrastructure/README.md +126 -126
- package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
- package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
- package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
- package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
- package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
- package/.aios-core/infrastructure/scripts/component-search.js +1 -1
- package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
- package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
- package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
- package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
- package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
- package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
- package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
- package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
- package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
- package/.aios-core/infrastructure/tools/README.md +222 -222
- package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
- package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
- package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
- package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
- package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
- package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
- package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
- package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
- package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
- package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
- package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
- package/.aios-core/install-manifest.yaml +347 -347
- package/.aios-core/product/README.md +56 -56
- package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
- package/.aios-core/product/checklists/architect-checklist.md +443 -443
- package/.aios-core/product/checklists/change-checklist.md +182 -182
- package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
- package/.aios-core/product/checklists/database-design-checklist.md +119 -119
- package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
- package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
- package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
- package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
- package/.aios-core/product/checklists/pm-checklist.md +375 -375
- package/.aios-core/product/checklists/po-master-checklist.md +441 -441
- package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
- package/.aios-core/product/checklists/release-checklist.md +122 -122
- package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
- package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
- package/.aios-core/product/data/atomic-design-principles.md +108 -0
- package/.aios-core/product/data/brainstorming-techniques.md +36 -36
- package/.aios-core/product/data/consolidation-algorithms.md +142 -0
- package/.aios-core/product/data/database-best-practices.md +182 -0
- package/.aios-core/product/data/design-token-best-practices.md +107 -0
- package/.aios-core/product/data/elicitation-methods.md +134 -134
- package/.aios-core/product/data/integration-patterns.md +207 -0
- package/.aios-core/product/data/migration-safety-guide.md +329 -0
- package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
- package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
- package/.aios-core/product/data/rls-security-patterns.md +333 -0
- package/.aios-core/product/data/roi-calculation-guide.md +142 -0
- package/.aios-core/product/data/supabase-patterns.md +330 -0
- package/.aios-core/product/data/test-levels-framework.md +148 -148
- package/.aios-core/product/data/test-priorities-matrix.md +174 -174
- package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
- package/.aios-core/product/templates/1mcp-config.yaml +225 -225
- package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
- package/.aios-core/product/templates/activation-instructions-template.md +258 -258
- package/.aios-core/product/templates/agent-template.yaml +120 -120
- package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
- package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
- package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
- package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
- package/.aios-core/product/templates/changelog-template.md +134 -134
- package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
- package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
- package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
- package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
- package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
- package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
- package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
- package/.aios-core/product/templates/github-pr-template.md +67 -67
- package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
- package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
- package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
- package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
- package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
- package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
- package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
- package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
- package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
- package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
- package/.aios-core/product/templates/mcp-workflow.js +271 -271
- package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
- package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
- package/.aios-core/product/templates/personalized-agent-template.md +258 -258
- package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
- package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
- package/.aios-core/product/templates/personalized-task-template.md +344 -344
- package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
- package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
- package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
- package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
- package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
- package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
- package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
- package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
- package/.aios-core/product/templates/story-tmpl.yaml +331 -331
- package/.aios-core/product/templates/task-execution-report.md +495 -495
- package/.aios-core/product/templates/task-template.md +122 -122
- package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
- package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
- package/.aios-core/product/templates/workflow-template.yaml +133 -133
- package/.aios-core/scripts/README.md +354 -354
- package/.aios-core/scripts/aios-doc-template.md +325 -325
- package/.aios-core/scripts/elicitation-engine.js +1 -1
- package/.aios-core/scripts/test-template-system.js +1 -1
- package/.aios-core/scripts/workflow-management.md +69 -69
- package/.aios-core/user-guide.md +1413 -1413
- package/.aios-core/working-in-the-brownfield.md +361 -361
- package/LICENSE +1 -1
- package/README.md +702 -703
- package/bin/aios-init-old.js +3 -3
- package/bin/aios-init-v4.js +1 -1
- package/bin/aios-init.backup-v1.1.4.js +1 -1
- package/bin/aios-init.js +3 -3
- package/bin/aios.js +279 -279
- package/bin/utils/install-errors.js +339 -339
- package/bin/utils/install-transaction.js +445 -445
- package/index.d.ts +18 -18
- package/index.esm.js +20 -20
- package/index.js +6 -6
- package/package.json +8 -10
- package/packages/installer/src/config/templates/env-template.js +27 -4
- package/packages/installer/src/detection/detect-project-type.js +81 -81
- package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
- package/packages/installer/tests/unit/env-template.test.js +8 -8
- package/src/config/ide-configs.js +1 -1
- package/src/wizard/feedback.js +2 -2
- package/src/wizard/index.js +1 -1
- package/src/wizard/validation/report-generator.js +1 -1
- package/src/wizard/validation/troubleshooting-system.js +13 -13
- package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
- package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
- package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
- package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
- package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
- package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
- package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
- package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
- package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
- package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
- package/.aios-core/tasks/find-component.md.legacy +0 -391
- package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
- package/.aios-core/tasks/generate-migration.md.legacy +0 -382
- package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
- package/.aios-core/tasks/update-tests.md.legacy +0 -283
|
@@ -1,697 +1,697 @@
|
|
|
1
|
-
# Task: Analyze Framework
|
|
2
|
-
|
|
3
|
-
## Description
|
|
4
|
-
Performs comprehensive analysis of the AIOS
|
|
5
|
-
|
|
6
|
-
## Execution Modes
|
|
7
|
-
|
|
8
|
-
**Choose your execution mode:**
|
|
9
|
-
|
|
10
|
-
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
11
|
-
- Autonomous decision making with logging
|
|
12
|
-
- Minimal user interaction
|
|
13
|
-
- **Best for:** Simple, deterministic tasks
|
|
14
|
-
|
|
15
|
-
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
16
|
-
- Explicit decision checkpoints
|
|
17
|
-
- Educational explanations
|
|
18
|
-
- **Best for:** Learning, complex decisions
|
|
19
|
-
|
|
20
|
-
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
21
|
-
- Task analysis phase (identify all ambiguities)
|
|
22
|
-
- Zero ambiguity execution
|
|
23
|
-
- **Best for:** Ambiguous requirements, critical work
|
|
24
|
-
|
|
25
|
-
**Parameter:** `mode` (optional, default: `interactive`)
|
|
26
|
-
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
## Task Definition (AIOS Task Format V1.0)
|
|
30
|
-
|
|
31
|
-
```yaml
|
|
32
|
-
task: analyzeFramework()
|
|
33
|
-
responsável: Aria (Visionary)
|
|
34
|
-
responsavel_type: Agente
|
|
35
|
-
atomic_layer: Strategy
|
|
36
|
-
|
|
37
|
-
**Entrada:**
|
|
38
|
-
- campo: target
|
|
39
|
-
tipo: string
|
|
40
|
-
origem: User Input
|
|
41
|
-
obrigatório: true
|
|
42
|
-
validação: Valid path or identifier
|
|
43
|
-
|
|
44
|
-
- campo: options
|
|
45
|
-
tipo: object
|
|
46
|
-
origem: config
|
|
47
|
-
obrigatório: false
|
|
48
|
-
validação: Analysis configuration
|
|
49
|
-
|
|
50
|
-
- campo: depth
|
|
51
|
-
tipo: number
|
|
52
|
-
origem: User Input
|
|
53
|
-
obrigatório: false
|
|
54
|
-
validação: Default: 1 (0-3)
|
|
55
|
-
|
|
56
|
-
**Saída:**
|
|
57
|
-
- campo: analysis_report
|
|
58
|
-
tipo: object
|
|
59
|
-
destino: File (.ai/*.json)
|
|
60
|
-
persistido: true
|
|
61
|
-
|
|
62
|
-
- campo: findings
|
|
63
|
-
tipo: array
|
|
64
|
-
destino: Memory
|
|
65
|
-
persistido: false
|
|
66
|
-
|
|
67
|
-
- campo: metrics
|
|
68
|
-
tipo: object
|
|
69
|
-
destino: Memory
|
|
70
|
-
persistido: false
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## Pre-Conditions
|
|
76
|
-
|
|
77
|
-
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
78
|
-
|
|
79
|
-
**Checklist:**
|
|
80
|
-
|
|
81
|
-
```yaml
|
|
82
|
-
pre-conditions:
|
|
83
|
-
- [ ] Target exists and is accessible; analysis tools available
|
|
84
|
-
tipo: pre-condition
|
|
85
|
-
blocker: true
|
|
86
|
-
validação: |
|
|
87
|
-
Check target exists and is accessible; analysis tools available
|
|
88
|
-
error_message: "Pre-condition failed: Target exists and is accessible; analysis tools available"
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Post-Conditions
|
|
94
|
-
|
|
95
|
-
**Purpose:** Validate execution success AFTER task completes
|
|
96
|
-
|
|
97
|
-
**Checklist:**
|
|
98
|
-
|
|
99
|
-
```yaml
|
|
100
|
-
post-conditions:
|
|
101
|
-
- [ ] Analysis complete; report generated; no critical issues
|
|
102
|
-
tipo: post-condition
|
|
103
|
-
blocker: true
|
|
104
|
-
validação: |
|
|
105
|
-
Verify analysis complete; report generated; no critical issues
|
|
106
|
-
error_message: "Post-condition failed: Analysis complete; report generated; no critical issues"
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
## Acceptance Criteria
|
|
112
|
-
|
|
113
|
-
**Purpose:** Definitive pass/fail criteria for task completion
|
|
114
|
-
|
|
115
|
-
**Checklist:**
|
|
116
|
-
|
|
117
|
-
```yaml
|
|
118
|
-
acceptance-criteria:
|
|
119
|
-
- [ ] Analysis accurate; all targets covered; report complete
|
|
120
|
-
tipo: acceptance-criterion
|
|
121
|
-
blocker: true
|
|
122
|
-
validação: |
|
|
123
|
-
Assert analysis accurate; all targets covered; report complete
|
|
124
|
-
error_message: "Acceptance criterion not met: Analysis accurate; all targets covered; report complete"
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Tools
|
|
130
|
-
|
|
131
|
-
**External/shared resources used by this task:**
|
|
132
|
-
|
|
133
|
-
- **Tool:** code-analyzer
|
|
134
|
-
- **Purpose:** Static code analysis and metrics
|
|
135
|
-
- **Source:** .aios-core/utils/code-analyzer.js
|
|
136
|
-
|
|
137
|
-
- **Tool:** file-system
|
|
138
|
-
- **Purpose:** Recursive directory traversal
|
|
139
|
-
- **Source:** Node.js fs module
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## Scripts
|
|
144
|
-
|
|
145
|
-
**Agent-specific code for this task:**
|
|
146
|
-
|
|
147
|
-
- **Script:** analyze-codebase.js
|
|
148
|
-
- **Purpose:** Codebase analysis and reporting
|
|
149
|
-
- **Language:** JavaScript
|
|
150
|
-
- **Location:** .aios-core/scripts/analyze-codebase.js
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## Error Handling
|
|
155
|
-
|
|
156
|
-
**Strategy:** fallback
|
|
157
|
-
|
|
158
|
-
**Common Errors:**
|
|
159
|
-
|
|
160
|
-
1. **Error:** Target Not Accessible
|
|
161
|
-
- **Cause:** Path does not exist or permissions denied
|
|
162
|
-
- **Resolution:** Verify path and check permissions
|
|
163
|
-
- **Recovery:** Skip inaccessible paths, continue with accessible ones
|
|
164
|
-
|
|
165
|
-
2. **Error:** Analysis Timeout
|
|
166
|
-
- **Cause:** Analysis exceeds time limit for large codebases
|
|
167
|
-
- **Resolution:** Reduce analysis depth or scope
|
|
168
|
-
- **Recovery:** Return partial results with timeout warning
|
|
169
|
-
|
|
170
|
-
3. **Error:** Memory Limit Exceeded
|
|
171
|
-
- **Cause:** Large codebase exceeds memory allocation
|
|
172
|
-
- **Resolution:** Process in batches or increase memory limit
|
|
173
|
-
- **Recovery:** Graceful degradation to summary analysis
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
## Performance
|
|
178
|
-
|
|
179
|
-
**Expected Metrics:**
|
|
180
|
-
|
|
181
|
-
```yaml
|
|
182
|
-
duration_expected: 5-20 min (estimated)
|
|
183
|
-
cost_estimated: $0.003-0.015
|
|
184
|
-
token_usage: ~2,000-8,000 tokens
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
**Optimization Notes:**
|
|
188
|
-
- Iterative analysis with depth limits; cache intermediate results; batch similar operations
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## Metadata
|
|
193
|
-
|
|
194
|
-
```yaml
|
|
195
|
-
story: N/A
|
|
196
|
-
version: 1.0.0
|
|
197
|
-
dependencies:
|
|
198
|
-
- N/A
|
|
199
|
-
tags:
|
|
200
|
-
- analysis
|
|
201
|
-
- metrics
|
|
202
|
-
updated_at: 2025-11-17
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
## Type
|
|
209
|
-
Analysis Task
|
|
210
|
-
|
|
211
|
-
## Complexity
|
|
212
|
-
High
|
|
213
|
-
|
|
214
|
-
## Categories
|
|
215
|
-
- framework-analysis
|
|
216
|
-
- performance-optimization
|
|
217
|
-
- code-quality
|
|
218
|
-
|
|
219
|
-
## Dependencies
|
|
220
|
-
- component-search.js (for component discovery)
|
|
221
|
-
- usage-analytics.js (for usage pattern analysis)
|
|
222
|
-
- performance-analyzer.js (for bottleneck detection)
|
|
223
|
-
- redundancy-analyzer.js (for overlap detection)
|
|
224
|
-
- improvement-engine.js (for suggestion generation)
|
|
225
|
-
|
|
226
|
-
## Parameters
|
|
227
|
-
- `scope` (string, optional): Analysis scope - 'full', 'agents', 'tasks', 'workflows', 'utils' (default: 'full')
|
|
228
|
-
- `output_format` (string, optional): Output format - 'detailed', 'summary', 'json' (default: 'detailed')
|
|
229
|
-
- `include_metrics` (boolean, optional): Include performance metrics (default: true)
|
|
230
|
-
- `include_suggestions` (boolean, optional): Include improvement suggestions (default: true)
|
|
231
|
-
- `save_report` (boolean, optional): Save report to file (default: true)
|
|
232
|
-
|
|
233
|
-
## Implementation
|
|
234
|
-
|
|
235
|
-
```javascript
|
|
236
|
-
const FrameworkAnalyzer = require('../scripts/framework-analyzer');
|
|
237
|
-
const UsageAnalytics = require('../scripts/usage-analytics');
|
|
238
|
-
const PerformanceAnalyzer = require('../scripts/performance-analyzer');
|
|
239
|
-
// const RedundancyAnalyzer = require('../scripts/redundancy-analyzer'); // Archived - Story 3.1.4
|
|
240
|
-
const ImprovementEngine = require('../scripts/improvement-engine');
|
|
241
|
-
const fs = require('fs').promises;
|
|
242
|
-
const path = require('path');
|
|
243
|
-
const chalk = require('chalk');
|
|
244
|
-
|
|
245
|
-
module.exports = {
|
|
246
|
-
name: 'analyze-framework',
|
|
247
|
-
description: 'Performs comprehensive framework analysis with improvement recommendations',
|
|
248
|
-
|
|
249
|
-
async execute(params) {
|
|
250
|
-
const {
|
|
251
|
-
scope = 'full',
|
|
252
|
-
output_format = 'detailed',
|
|
253
|
-
include_metrics = true,
|
|
254
|
-
include_suggestions = true,
|
|
255
|
-
save_report = true
|
|
256
|
-
} = params;
|
|
257
|
-
|
|
258
|
-
console.log(chalk.blue('🔍 Starting framework analysis...'));
|
|
259
|
-
console.log(chalk.gray(` Scope: ${scope}`));
|
|
260
|
-
console.log(chalk.gray(` Format: ${output_format}`));
|
|
261
|
-
|
|
262
|
-
const analysis = {
|
|
263
|
-
timestamp: new Date().toISOString(),
|
|
264
|
-
scope,
|
|
265
|
-
framework_info: {},
|
|
266
|
-
component_analysis: {},
|
|
267
|
-
usage_analytics: {},
|
|
268
|
-
performance_analysis: {},
|
|
269
|
-
redundancy_analysis: {},
|
|
270
|
-
improvement_suggestions: [],
|
|
271
|
-
summary: {}
|
|
272
|
-
};
|
|
273
|
-
|
|
274
|
-
try {
|
|
275
|
-
// Initialize analyzers
|
|
276
|
-
const frameworkAnalyzer = new FrameworkAnalyzer({ rootPath: process.cwd() });
|
|
277
|
-
const usageAnalytics = new UsageAnalytics({ rootPath: process.cwd() });
|
|
278
|
-
const performanceAnalyzer = new PerformanceAnalyzer({ rootPath: process.cwd() });
|
|
279
|
-
// const redundancyAnalyzer = new RedundancyAnalyzer({ rootPath: process.cwd() }); // Archived - Story 3.1.4
|
|
280
|
-
const improvementEngine = new ImprovementEngine({ rootPath: process.cwd() });
|
|
281
|
-
|
|
282
|
-
// Step 1: Discover and catalog framework components
|
|
283
|
-
console.log(chalk.blue('📊 Discovering framework components...'));
|
|
284
|
-
analysis.framework_info = await frameworkAnalyzer.analyzeFrameworkStructure(scope);
|
|
285
|
-
|
|
286
|
-
console.log(chalk.gray(` Found: ${analysis.framework_info.total_components} components`));
|
|
287
|
-
console.log(chalk.gray(` Agents: ${analysis.framework_info.agents?.length || 0}`));
|
|
288
|
-
console.log(chalk.gray(` Tasks: ${analysis.framework_info.tasks?.length || 0}`));
|
|
289
|
-
console.log(chalk.gray(` Workflows: ${analysis.framework_info.workflows?.length || 0}`));
|
|
290
|
-
console.log(chalk.gray(` Utils: ${analysis.framework_info.utils?.length || 0}`));
|
|
291
|
-
|
|
292
|
-
// Step 2: Analyze component usage patterns
|
|
293
|
-
console.log(chalk.blue('📈 Analyzing usage patterns...'));
|
|
294
|
-
analysis.usage_analytics = await usageAnalytics.analyzeUsagePatterns(
|
|
295
|
-
analysis.framework_info.components
|
|
296
|
-
);
|
|
297
|
-
|
|
298
|
-
// Step 3: Performance bottleneck detection
|
|
299
|
-
if (include_metrics) {
|
|
300
|
-
console.log(chalk.blue('⚡ Detecting performance bottlenecks...'));
|
|
301
|
-
analysis.performance_analysis = await performanceAnalyzer.analyzePerformance(
|
|
302
|
-
analysis.framework_info.components
|
|
303
|
-
);
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
// Step 4: Redundancy and overlap analysis
|
|
307
|
-
// console.log(chalk.blue('🔄 Analyzing redundancies and overlaps...'));
|
|
308
|
-
// analysis.redundancy_analysis = await redundancyAnalyzer.analyzeRedundancy(
|
|
309
|
-
// analysis.framework_info.components
|
|
310
|
-
// ); // Archived - Story 3.1.4
|
|
311
|
-
|
|
312
|
-
// Step 5: Generate improvement suggestions
|
|
313
|
-
if (include_suggestions) {
|
|
314
|
-
console.log(chalk.blue('💡 Generating improvement suggestions...'));
|
|
315
|
-
analysis.improvement_suggestions = await improvementEngine.generateSuggestions({
|
|
316
|
-
components: analysis.framework_info.components,
|
|
317
|
-
usage: analysis.usage_analytics,
|
|
318
|
-
performance: analysis.performance_analysis
|
|
319
|
-
// redundancy: analysis.redundancy_analysis // Archived - Story 3.1.4
|
|
320
|
-
});
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
// Step 6: Generate summary
|
|
324
|
-
analysis.summary = this.generateSummary(analysis);
|
|
325
|
-
|
|
326
|
-
// Step 7: Format and display results
|
|
327
|
-
await this.displayResults(analysis, output_format);
|
|
328
|
-
|
|
329
|
-
// Step 8: Save report
|
|
330
|
-
if (save_report) {
|
|
331
|
-
const reportPath = await this.saveReport(analysis);
|
|
332
|
-
console.log(chalk.green(`📋 Report saved: ${reportPath}`));
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
console.log(chalk.green('✅ Framework analysis completed'));
|
|
336
|
-
|
|
337
|
-
return {
|
|
338
|
-
success: true,
|
|
339
|
-
analysis,
|
|
340
|
-
suggestions_count: analysis.improvement_suggestions.length,
|
|
341
|
-
critical_issues: analysis.summary.critical_issues || 0,
|
|
342
|
-
performance_score: analysis.summary.performance_score || 'N/A'
|
|
343
|
-
};
|
|
344
|
-
|
|
345
|
-
} catch (error) {
|
|
346
|
-
console.error(chalk.red(`Framework analysis failed: ${error.message}`));
|
|
347
|
-
|
|
348
|
-
return {
|
|
349
|
-
success: false,
|
|
350
|
-
error: error.message,
|
|
351
|
-
partial_analysis: analysis
|
|
352
|
-
};
|
|
353
|
-
}
|
|
354
|
-
},
|
|
355
|
-
|
|
356
|
-
/**
|
|
357
|
-
* Generate analysis summary
|
|
358
|
-
*/
|
|
359
|
-
generateSummary(analysis) {
|
|
360
|
-
const summary = {
|
|
361
|
-
total_components: analysis.framework_info.total_components || 0,
|
|
362
|
-
health_score: 0,
|
|
363
|
-
critical_issues: 0,
|
|
364
|
-
warnings: 0,
|
|
365
|
-
recommendations: 0,
|
|
366
|
-
performance_score: 'N/A',
|
|
367
|
-
redundancy_level: 'low',
|
|
368
|
-
usage_efficiency: 0,
|
|
369
|
-
top_concerns: [],
|
|
370
|
-
strengths: []
|
|
371
|
-
};
|
|
372
|
-
|
|
373
|
-
// Calculate health score
|
|
374
|
-
let healthPoints = 100;
|
|
375
|
-
|
|
376
|
-
if (analysis.redundancy_analysis.redundant_components) {
|
|
377
|
-
const redundancyPenalty = analysis.redundancy_analysis.redundant_components.length * 5;
|
|
378
|
-
healthPoints -= redundancyPenalty;
|
|
379
|
-
summary.critical_issues += analysis.redundancy_analysis.redundant_components.length;
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
if (analysis.performance_analysis.bottlenecks) {
|
|
383
|
-
const performancePenalty = analysis.performance_analysis.bottlenecks.length * 10;
|
|
384
|
-
healthPoints -= performancePenalty;
|
|
385
|
-
summary.critical_issues += analysis.performance_analysis.bottlenecks.length;
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
if (analysis.usage_analytics.unused_components) {
|
|
389
|
-
const unusedPenalty = analysis.usage_analytics.unused_components.length * 3;
|
|
390
|
-
healthPoints -= unusedPenalty;
|
|
391
|
-
summary.warnings += analysis.usage_analytics.unused_components.length;
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
summary.health_score = Math.max(0, Math.min(100, healthPoints));
|
|
395
|
-
summary.recommendations = analysis.improvement_suggestions.length;
|
|
396
|
-
|
|
397
|
-
// Performance score
|
|
398
|
-
if (analysis.performance_analysis.overall_score) {
|
|
399
|
-
summary.performance_score = analysis.performance_analysis.overall_score;
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
// Usage efficiency
|
|
403
|
-
if (analysis.usage_analytics.efficiency_score) {
|
|
404
|
-
summary.usage_efficiency = analysis.usage_analytics.efficiency_score;
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
// Redundancy level
|
|
408
|
-
if (analysis.redundancy_analysis.redundancy_level) {
|
|
409
|
-
summary.redundancy_level = analysis.redundancy_analysis.redundancy_level;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
// Top concerns
|
|
413
|
-
if (analysis.performance_analysis.bottlenecks?.length > 0) {
|
|
414
|
-
summary.top_concerns.push('Performance bottlenecks detected');
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
if (analysis.redundancy_analysis.redundant_components?.length > 0) {
|
|
418
|
-
summary.top_concerns.push('Code redundancy found');
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
if (analysis.usage_analytics.unused_components?.length > 0) {
|
|
422
|
-
summary.top_concerns.push('Unused components detected');
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
// Strengths
|
|
426
|
-
if (summary.health_score >= 90) {
|
|
427
|
-
summary.strengths.push('Overall framework health excellent');
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
if (summary.performance_score >= 8) {
|
|
431
|
-
summary.strengths.push('Good performance characteristics');
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
if (summary.usage_efficiency >= 85) {
|
|
435
|
-
summary.strengths.push('High component utilization');
|
|
436
|
-
}
|
|
437
|
-
|
|
438
|
-
return summary;
|
|
439
|
-
},
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* Display analysis results
|
|
443
|
-
*/
|
|
444
|
-
async displayResults(analysis, format) {
|
|
445
|
-
switch (format) {
|
|
446
|
-
case 'summary':
|
|
447
|
-
this.displaySummary(analysis);
|
|
448
|
-
break;
|
|
449
|
-
case 'json':
|
|
450
|
-
console.log(JSON.stringify(analysis, null, 2));
|
|
451
|
-
break;
|
|
452
|
-
case 'detailed':
|
|
453
|
-
default:
|
|
454
|
-
this.displayDetailed(analysis);
|
|
455
|
-
break;
|
|
456
|
-
}
|
|
457
|
-
},
|
|
458
|
-
|
|
459
|
-
/**
|
|
460
|
-
* Display summary format
|
|
461
|
-
*/
|
|
462
|
-
displaySummary(analysis) {
|
|
463
|
-
const { summary } = analysis;
|
|
464
|
-
|
|
465
|
-
console.log(chalk.bold('\n📊 Framework Analysis Summary'));
|
|
466
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
467
|
-
|
|
468
|
-
// Health score with color coding
|
|
469
|
-
const healthColor = summary.health_score >= 80 ? 'green' :
|
|
470
|
-
summary.health_score >= 60 ? 'yellow' : 'red';
|
|
471
|
-
console.log(`Health Score: ${chalk[healthColor](summary.health_score + '/100')}`);
|
|
472
|
-
|
|
473
|
-
console.log(`Components: ${summary.total_components}`);
|
|
474
|
-
console.log(`Critical Issues: ${chalk.red(summary.critical_issues)}`);
|
|
475
|
-
console.log(`Warnings: ${chalk.yellow(summary.warnings)}`);
|
|
476
|
-
console.log(`Recommendations: ${chalk.blue(summary.recommendations)}`);
|
|
477
|
-
|
|
478
|
-
if (summary.performance_score !== 'N/A') {
|
|
479
|
-
console.log(`Performance: ${chalk.cyan(summary.performance_score + '/10')}`);
|
|
480
|
-
}
|
|
481
|
-
|
|
482
|
-
console.log(`Usage Efficiency: ${chalk.cyan(summary.usage_efficiency + '%')}`);
|
|
483
|
-
console.log(`Redundancy Level: ${chalk.magenta(summary.redundancy_level)}`);
|
|
484
|
-
|
|
485
|
-
// Top concerns
|
|
486
|
-
if (summary.top_concerns.length > 0) {
|
|
487
|
-
console.log('\n🚨 Top Concerns:');
|
|
488
|
-
summary.top_concerns.forEach(concern => {
|
|
489
|
-
console.log(` • ${chalk.red(concern)}`);
|
|
490
|
-
});
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
// Strengths
|
|
494
|
-
if (summary.strengths.length > 0) {
|
|
495
|
-
console.log('\n✅ Strengths:');
|
|
496
|
-
summary.strengths.forEach(strength => {
|
|
497
|
-
console.log(` • ${chalk.green(strength)}`);
|
|
498
|
-
});
|
|
499
|
-
}
|
|
500
|
-
},
|
|
501
|
-
|
|
502
|
-
/**
|
|
503
|
-
* Display detailed format
|
|
504
|
-
*/
|
|
505
|
-
displayDetailed(analysis) {
|
|
506
|
-
this.displaySummary(analysis);
|
|
507
|
-
|
|
508
|
-
// Component breakdown
|
|
509
|
-
console.log(chalk.bold('\n📋 Component Analysis'));
|
|
510
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
511
|
-
|
|
512
|
-
if (analysis.framework_info.agents) {
|
|
513
|
-
console.log(`Agents (${analysis.framework_info.agents.length}):`);
|
|
514
|
-
analysis.framework_info.agents.slice(0, 5).forEach(agent => {
|
|
515
|
-
console.log(` • ${chalk.cyan(agent.name)} - ${agent.description || 'No description'}`);
|
|
516
|
-
});
|
|
517
|
-
if (analysis.framework_info.agents.length > 5) {
|
|
518
|
-
console.log(` ... and ${analysis.framework_info.agents.length - 5} more`);
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
// Performance issues
|
|
523
|
-
if (analysis.performance_analysis.bottlenecks?.length > 0) {
|
|
524
|
-
console.log(chalk.bold('\n⚡ Performance Bottlenecks'));
|
|
525
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
526
|
-
|
|
527
|
-
analysis.performance_analysis.bottlenecks.slice(0, 3).forEach(bottleneck => {
|
|
528
|
-
console.log(` • ${chalk.red(bottleneck.component)}: ${bottleneck.issue}`);
|
|
529
|
-
console.log(` Impact: ${chalk.yellow(bottleneck.impact)} | Effort: ${bottleneck.effort}`);
|
|
530
|
-
});
|
|
531
|
-
}
|
|
532
|
-
|
|
533
|
-
// Redundancy issues
|
|
534
|
-
if (analysis.redundancy_analysis.redundant_components?.length > 0) {
|
|
535
|
-
console.log(chalk.bold('\n🔄 Redundant Components'));
|
|
536
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
537
|
-
|
|
538
|
-
analysis.redundancy_analysis.redundant_components.slice(0, 3).forEach(redundancy => {
|
|
539
|
-
console.log(` • ${chalk.red(redundancy.component1)} ↔️ ${redundancy.component2}`);
|
|
540
|
-
console.log(` Similarity: ${chalk.yellow(redundancy.similarity + '%')} | Type: ${redundancy.type}`);
|
|
541
|
-
});
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
// Top suggestions
|
|
545
|
-
if (analysis.improvement_suggestions.length > 0) {
|
|
546
|
-
console.log(chalk.bold('\n💡 Top Improvement Suggestions'));
|
|
547
|
-
console.log(chalk.gray('─'.repeat(50)));
|
|
548
|
-
|
|
549
|
-
analysis.improvement_suggestions
|
|
550
|
-
.sort((a, b) => (b.priority_score || 0) - (a.priority_score || 0))
|
|
551
|
-
.slice(0, 5)
|
|
552
|
-
.forEach((suggestion, index) => {
|
|
553
|
-
const priorityColor = suggestion.priority === 'high' ? 'red' :
|
|
554
|
-
suggestion.priority === 'medium' ? 'yellow' : 'gray';
|
|
555
|
-
console.log(` ${index + 1}. ${chalk[priorityColor](suggestion.title)}`);
|
|
556
|
-
console.log(` ${suggestion.description}`);
|
|
557
|
-
console.log(` Impact: ${chalk.cyan(suggestion.impact)} | Effort: ${suggestion.effort}`);
|
|
558
|
-
});
|
|
559
|
-
}
|
|
560
|
-
},
|
|
561
|
-
|
|
562
|
-
/**
|
|
563
|
-
* Save analysis report
|
|
564
|
-
*/
|
|
565
|
-
async saveReport(analysis) {
|
|
566
|
-
const reportsDir = path.join(process.cwd(), '.aios', 'reports');
|
|
567
|
-
await fs.mkdir(reportsDir, { recursive: true });
|
|
568
|
-
|
|
569
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
570
|
-
const reportPath = path.join(reportsDir, `framework-analysis-${timestamp}.json`);
|
|
571
|
-
|
|
572
|
-
await fs.writeFile(reportPath, JSON.stringify(analysis, null, 2));
|
|
573
|
-
|
|
574
|
-
// Also save a human-readable summary
|
|
575
|
-
const summaryPath = path.join(reportsDir, `framework-analysis-summary-${timestamp}.md`);
|
|
576
|
-
const summaryContent = this.generateMarkdownSummary(analysis);
|
|
577
|
-
await fs.writeFile(summaryPath, summaryContent);
|
|
578
|
-
|
|
579
|
-
return reportPath;
|
|
580
|
-
},
|
|
581
|
-
|
|
582
|
-
/**
|
|
583
|
-
* Generate markdown summary
|
|
584
|
-
*/
|
|
585
|
-
generateMarkdownSummary(analysis) {
|
|
586
|
-
const { summary } = analysis;
|
|
587
|
-
|
|
588
|
-
return `# Framework Analysis Report
|
|
589
|
-
|
|
590
|
-
**Generated:** ${new Date(analysis.timestamp).toLocaleString()}
|
|
591
|
-
**Scope:** ${analysis.scope}
|
|
592
|
-
|
|
593
|
-
## Summary
|
|
594
|
-
|
|
595
|
-
- **Health Score:** ${summary.health_score}/100
|
|
596
|
-
- **Components:** ${summary.total_components}
|
|
597
|
-
- **Critical Issues:** ${summary.critical_issues}
|
|
598
|
-
- **Warnings:** ${summary.warnings}
|
|
599
|
-
- **Recommendations:** ${summary.recommendations}
|
|
600
|
-
- **Performance Score:** ${summary.performance_score}
|
|
601
|
-
- **Usage Efficiency:** ${summary.usage_efficiency}%
|
|
602
|
-
- **Redundancy Level:** ${summary.redundancy_level}
|
|
603
|
-
|
|
604
|
-
## Top Concerns
|
|
605
|
-
|
|
606
|
-
${summary.top_concerns.map(concern => `- ${concern}`).join('\n') || 'None identified'}
|
|
607
|
-
|
|
608
|
-
## Strengths
|
|
609
|
-
|
|
610
|
-
${summary.strengths.map(strength => `- ${strength}`).join('\n') || 'None identified'}
|
|
611
|
-
|
|
612
|
-
## Key Metrics
|
|
613
|
-
|
|
614
|
-
### Component Distribution
|
|
615
|
-
- Agents: ${analysis.framework_info.agents?.length || 0}
|
|
616
|
-
- Tasks: ${analysis.framework_info.tasks?.length || 0}
|
|
617
|
-
- Workflows: ${analysis.framework_info.workflows?.length || 0}
|
|
618
|
-
- Utils: ${analysis.framework_info.utils?.length || 0}
|
|
619
|
-
|
|
620
|
-
### Performance Analysis
|
|
621
|
-
${analysis.performance_analysis.bottlenecks?.length > 0 ?
|
|
622
|
-
`**Bottlenecks Found:** ${analysis.performance_analysis.bottlenecks.length}\n\n` +
|
|
623
|
-
analysis.performance_analysis.bottlenecks.slice(0, 3).map(b =>
|
|
624
|
-
`- **${b.component}:** ${b.issue} (Impact: ${b.impact})`
|
|
625
|
-
).join('\n') : 'No significant bottlenecks detected'}
|
|
626
|
-
|
|
627
|
-
### Redundancy Analysis
|
|
628
|
-
${analysis.redundancy_analysis.redundant_components?.length > 0 ?
|
|
629
|
-
`**Redundant Components:** ${analysis.redundancy_analysis.redundant_components.length}\n\n` +
|
|
630
|
-
analysis.redundancy_analysis.redundant_components.slice(0, 3).map(r =>
|
|
631
|
-
`- **${r.component1}** ↔️ **${r.component2}** (${r.similarity}% similar)`
|
|
632
|
-
).join('\n') : 'No significant redundancy detected'}
|
|
633
|
-
|
|
634
|
-
## Top Improvement Suggestions
|
|
635
|
-
|
|
636
|
-
${analysis.improvement_suggestions.slice(0, 5).map((suggestion, index) =>
|
|
637
|
-
`${index + 1}. **${suggestion.title}** (${suggestion.priority})
|
|
638
|
-
- ${suggestion.description}
|
|
639
|
-
- Impact: ${suggestion.impact} | Effort: ${suggestion.effort}`
|
|
640
|
-
).join('\n\n') || 'No suggestions generated'}
|
|
641
|
-
|
|
642
|
-
---
|
|
643
|
-
*Report generated by AIOS Framework Analyzer*
|
|
644
|
-
`;
|
|
645
|
-
}
|
|
646
|
-
};
|
|
647
|
-
```
|
|
648
|
-
|
|
649
|
-
## Usage Examples
|
|
650
|
-
|
|
651
|
-
### Basic Analysis
|
|
652
|
-
```bash
|
|
653
|
-
*analyze-framework
|
|
654
|
-
```
|
|
655
|
-
|
|
656
|
-
### Scope-specific Analysis
|
|
657
|
-
```bash
|
|
658
|
-
*analyze-framework scope=agents
|
|
659
|
-
*analyze-framework scope=utils include_suggestions=false
|
|
660
|
-
```
|
|
661
|
-
|
|
662
|
-
### Summary Output
|
|
663
|
-
```bash
|
|
664
|
-
*analyze-framework output_format=summary
|
|
665
|
-
```
|
|
666
|
-
|
|
667
|
-
### Performance-focused Analysis
|
|
668
|
-
```bash
|
|
669
|
-
*analyze-framework include_metrics=true output_format=detailed
|
|
670
|
-
```
|
|
671
|
-
|
|
672
|
-
## Expected Output
|
|
673
|
-
|
|
674
|
-
The analysis provides:
|
|
675
|
-
|
|
676
|
-
1. **Framework Structure Overview**: Complete inventory of components
|
|
677
|
-
2. **Usage Analytics**: Pattern analysis and utilization metrics
|
|
678
|
-
3. **Performance Analysis**: Bottleneck identification and recommendations
|
|
679
|
-
4. **Redundancy Detection**: Overlapping functionality identification
|
|
680
|
-
5. **Improvement Suggestions**: Prioritized recommendations for enhancement
|
|
681
|
-
6. **Health Score**: Overall framework quality assessment
|
|
682
|
-
7. **Detailed Reports**: JSON and Markdown formats for future reference
|
|
683
|
-
|
|
684
|
-
## Security Considerations
|
|
685
|
-
|
|
686
|
-
- Read-only analysis - no modifications made to framework
|
|
687
|
-
- Safe file system scanning with permission checks
|
|
688
|
-
- Memory usage monitoring for large codebases
|
|
689
|
-
- Configurable analysis depth to prevent performance issues
|
|
690
|
-
|
|
691
|
-
## Integration
|
|
692
|
-
|
|
693
|
-
Works seamlessly with:
|
|
694
|
-
- `*improve-self` command for implementing suggestions
|
|
695
|
-
- Memory layer for storing analysis history
|
|
696
|
-
- Version control for tracking improvements
|
|
1
|
+
# Task: Analyze Framework
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
Performs comprehensive analysis of the Synkra AIOS framework to identify improvement opportunities, performance bottlenecks, component redundancies, and usage patterns.
|
|
5
|
+
|
|
6
|
+
## Execution Modes
|
|
7
|
+
|
|
8
|
+
**Choose your execution mode:**
|
|
9
|
+
|
|
10
|
+
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
11
|
+
- Autonomous decision making with logging
|
|
12
|
+
- Minimal user interaction
|
|
13
|
+
- **Best for:** Simple, deterministic tasks
|
|
14
|
+
|
|
15
|
+
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
16
|
+
- Explicit decision checkpoints
|
|
17
|
+
- Educational explanations
|
|
18
|
+
- **Best for:** Learning, complex decisions
|
|
19
|
+
|
|
20
|
+
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
21
|
+
- Task analysis phase (identify all ambiguities)
|
|
22
|
+
- Zero ambiguity execution
|
|
23
|
+
- **Best for:** Ambiguous requirements, critical work
|
|
24
|
+
|
|
25
|
+
**Parameter:** `mode` (optional, default: `interactive`)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Task Definition (AIOS Task Format V1.0)
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
task: analyzeFramework()
|
|
33
|
+
responsável: Aria (Visionary)
|
|
34
|
+
responsavel_type: Agente
|
|
35
|
+
atomic_layer: Strategy
|
|
36
|
+
|
|
37
|
+
**Entrada:**
|
|
38
|
+
- campo: target
|
|
39
|
+
tipo: string
|
|
40
|
+
origem: User Input
|
|
41
|
+
obrigatório: true
|
|
42
|
+
validação: Valid path or identifier
|
|
43
|
+
|
|
44
|
+
- campo: options
|
|
45
|
+
tipo: object
|
|
46
|
+
origem: config
|
|
47
|
+
obrigatório: false
|
|
48
|
+
validação: Analysis configuration
|
|
49
|
+
|
|
50
|
+
- campo: depth
|
|
51
|
+
tipo: number
|
|
52
|
+
origem: User Input
|
|
53
|
+
obrigatório: false
|
|
54
|
+
validação: Default: 1 (0-3)
|
|
55
|
+
|
|
56
|
+
**Saída:**
|
|
57
|
+
- campo: analysis_report
|
|
58
|
+
tipo: object
|
|
59
|
+
destino: File (.ai/*.json)
|
|
60
|
+
persistido: true
|
|
61
|
+
|
|
62
|
+
- campo: findings
|
|
63
|
+
tipo: array
|
|
64
|
+
destino: Memory
|
|
65
|
+
persistido: false
|
|
66
|
+
|
|
67
|
+
- campo: metrics
|
|
68
|
+
tipo: object
|
|
69
|
+
destino: Memory
|
|
70
|
+
persistido: false
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Pre-Conditions
|
|
76
|
+
|
|
77
|
+
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
78
|
+
|
|
79
|
+
**Checklist:**
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
pre-conditions:
|
|
83
|
+
- [ ] Target exists and is accessible; analysis tools available
|
|
84
|
+
tipo: pre-condition
|
|
85
|
+
blocker: true
|
|
86
|
+
validação: |
|
|
87
|
+
Check target exists and is accessible; analysis tools available
|
|
88
|
+
error_message: "Pre-condition failed: Target exists and is accessible; analysis tools available"
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Post-Conditions
|
|
94
|
+
|
|
95
|
+
**Purpose:** Validate execution success AFTER task completes
|
|
96
|
+
|
|
97
|
+
**Checklist:**
|
|
98
|
+
|
|
99
|
+
```yaml
|
|
100
|
+
post-conditions:
|
|
101
|
+
- [ ] Analysis complete; report generated; no critical issues
|
|
102
|
+
tipo: post-condition
|
|
103
|
+
blocker: true
|
|
104
|
+
validação: |
|
|
105
|
+
Verify analysis complete; report generated; no critical issues
|
|
106
|
+
error_message: "Post-condition failed: Analysis complete; report generated; no critical issues"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Acceptance Criteria
|
|
112
|
+
|
|
113
|
+
**Purpose:** Definitive pass/fail criteria for task completion
|
|
114
|
+
|
|
115
|
+
**Checklist:**
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
acceptance-criteria:
|
|
119
|
+
- [ ] Analysis accurate; all targets covered; report complete
|
|
120
|
+
tipo: acceptance-criterion
|
|
121
|
+
blocker: true
|
|
122
|
+
validação: |
|
|
123
|
+
Assert analysis accurate; all targets covered; report complete
|
|
124
|
+
error_message: "Acceptance criterion not met: Analysis accurate; all targets covered; report complete"
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Tools
|
|
130
|
+
|
|
131
|
+
**External/shared resources used by this task:**
|
|
132
|
+
|
|
133
|
+
- **Tool:** code-analyzer
|
|
134
|
+
- **Purpose:** Static code analysis and metrics
|
|
135
|
+
- **Source:** .aios-core/utils/code-analyzer.js
|
|
136
|
+
|
|
137
|
+
- **Tool:** file-system
|
|
138
|
+
- **Purpose:** Recursive directory traversal
|
|
139
|
+
- **Source:** Node.js fs module
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Scripts
|
|
144
|
+
|
|
145
|
+
**Agent-specific code for this task:**
|
|
146
|
+
|
|
147
|
+
- **Script:** analyze-codebase.js
|
|
148
|
+
- **Purpose:** Codebase analysis and reporting
|
|
149
|
+
- **Language:** JavaScript
|
|
150
|
+
- **Location:** .aios-core/scripts/analyze-codebase.js
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Error Handling
|
|
155
|
+
|
|
156
|
+
**Strategy:** fallback
|
|
157
|
+
|
|
158
|
+
**Common Errors:**
|
|
159
|
+
|
|
160
|
+
1. **Error:** Target Not Accessible
|
|
161
|
+
- **Cause:** Path does not exist or permissions denied
|
|
162
|
+
- **Resolution:** Verify path and check permissions
|
|
163
|
+
- **Recovery:** Skip inaccessible paths, continue with accessible ones
|
|
164
|
+
|
|
165
|
+
2. **Error:** Analysis Timeout
|
|
166
|
+
- **Cause:** Analysis exceeds time limit for large codebases
|
|
167
|
+
- **Resolution:** Reduce analysis depth or scope
|
|
168
|
+
- **Recovery:** Return partial results with timeout warning
|
|
169
|
+
|
|
170
|
+
3. **Error:** Memory Limit Exceeded
|
|
171
|
+
- **Cause:** Large codebase exceeds memory allocation
|
|
172
|
+
- **Resolution:** Process in batches or increase memory limit
|
|
173
|
+
- **Recovery:** Graceful degradation to summary analysis
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Performance
|
|
178
|
+
|
|
179
|
+
**Expected Metrics:**
|
|
180
|
+
|
|
181
|
+
```yaml
|
|
182
|
+
duration_expected: 5-20 min (estimated)
|
|
183
|
+
cost_estimated: $0.003-0.015
|
|
184
|
+
token_usage: ~2,000-8,000 tokens
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
**Optimization Notes:**
|
|
188
|
+
- Iterative analysis with depth limits; cache intermediate results; batch similar operations
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Metadata
|
|
193
|
+
|
|
194
|
+
```yaml
|
|
195
|
+
story: N/A
|
|
196
|
+
version: 1.0.0
|
|
197
|
+
dependencies:
|
|
198
|
+
- N/A
|
|
199
|
+
tags:
|
|
200
|
+
- analysis
|
|
201
|
+
- metrics
|
|
202
|
+
updated_at: 2025-11-17
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
## Type
|
|
209
|
+
Analysis Task
|
|
210
|
+
|
|
211
|
+
## Complexity
|
|
212
|
+
High
|
|
213
|
+
|
|
214
|
+
## Categories
|
|
215
|
+
- framework-analysis
|
|
216
|
+
- performance-optimization
|
|
217
|
+
- code-quality
|
|
218
|
+
|
|
219
|
+
## Dependencies
|
|
220
|
+
- component-search.js (for component discovery)
|
|
221
|
+
- usage-analytics.js (for usage pattern analysis)
|
|
222
|
+
- performance-analyzer.js (for bottleneck detection)
|
|
223
|
+
- redundancy-analyzer.js (for overlap detection)
|
|
224
|
+
- improvement-engine.js (for suggestion generation)
|
|
225
|
+
|
|
226
|
+
## Parameters
|
|
227
|
+
- `scope` (string, optional): Analysis scope - 'full', 'agents', 'tasks', 'workflows', 'utils' (default: 'full')
|
|
228
|
+
- `output_format` (string, optional): Output format - 'detailed', 'summary', 'json' (default: 'detailed')
|
|
229
|
+
- `include_metrics` (boolean, optional): Include performance metrics (default: true)
|
|
230
|
+
- `include_suggestions` (boolean, optional): Include improvement suggestions (default: true)
|
|
231
|
+
- `save_report` (boolean, optional): Save report to file (default: true)
|
|
232
|
+
|
|
233
|
+
## Implementation
|
|
234
|
+
|
|
235
|
+
```javascript
|
|
236
|
+
const FrameworkAnalyzer = require('../scripts/framework-analyzer');
|
|
237
|
+
const UsageAnalytics = require('../scripts/usage-analytics');
|
|
238
|
+
const PerformanceAnalyzer = require('../scripts/performance-analyzer');
|
|
239
|
+
// const RedundancyAnalyzer = require('../scripts/redundancy-analyzer'); // Archived - Story 3.1.4
|
|
240
|
+
const ImprovementEngine = require('../scripts/improvement-engine');
|
|
241
|
+
const fs = require('fs').promises;
|
|
242
|
+
const path = require('path');
|
|
243
|
+
const chalk = require('chalk');
|
|
244
|
+
|
|
245
|
+
module.exports = {
|
|
246
|
+
name: 'analyze-framework',
|
|
247
|
+
description: 'Performs comprehensive framework analysis with improvement recommendations',
|
|
248
|
+
|
|
249
|
+
async execute(params) {
|
|
250
|
+
const {
|
|
251
|
+
scope = 'full',
|
|
252
|
+
output_format = 'detailed',
|
|
253
|
+
include_metrics = true,
|
|
254
|
+
include_suggestions = true,
|
|
255
|
+
save_report = true
|
|
256
|
+
} = params;
|
|
257
|
+
|
|
258
|
+
console.log(chalk.blue('🔍 Starting framework analysis...'));
|
|
259
|
+
console.log(chalk.gray(` Scope: ${scope}`));
|
|
260
|
+
console.log(chalk.gray(` Format: ${output_format}`));
|
|
261
|
+
|
|
262
|
+
const analysis = {
|
|
263
|
+
timestamp: new Date().toISOString(),
|
|
264
|
+
scope,
|
|
265
|
+
framework_info: {},
|
|
266
|
+
component_analysis: {},
|
|
267
|
+
usage_analytics: {},
|
|
268
|
+
performance_analysis: {},
|
|
269
|
+
redundancy_analysis: {},
|
|
270
|
+
improvement_suggestions: [],
|
|
271
|
+
summary: {}
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
try {
|
|
275
|
+
// Initialize analyzers
|
|
276
|
+
const frameworkAnalyzer = new FrameworkAnalyzer({ rootPath: process.cwd() });
|
|
277
|
+
const usageAnalytics = new UsageAnalytics({ rootPath: process.cwd() });
|
|
278
|
+
const performanceAnalyzer = new PerformanceAnalyzer({ rootPath: process.cwd() });
|
|
279
|
+
// const redundancyAnalyzer = new RedundancyAnalyzer({ rootPath: process.cwd() }); // Archived - Story 3.1.4
|
|
280
|
+
const improvementEngine = new ImprovementEngine({ rootPath: process.cwd() });
|
|
281
|
+
|
|
282
|
+
// Step 1: Discover and catalog framework components
|
|
283
|
+
console.log(chalk.blue('📊 Discovering framework components...'));
|
|
284
|
+
analysis.framework_info = await frameworkAnalyzer.analyzeFrameworkStructure(scope);
|
|
285
|
+
|
|
286
|
+
console.log(chalk.gray(` Found: ${analysis.framework_info.total_components} components`));
|
|
287
|
+
console.log(chalk.gray(` Agents: ${analysis.framework_info.agents?.length || 0}`));
|
|
288
|
+
console.log(chalk.gray(` Tasks: ${analysis.framework_info.tasks?.length || 0}`));
|
|
289
|
+
console.log(chalk.gray(` Workflows: ${analysis.framework_info.workflows?.length || 0}`));
|
|
290
|
+
console.log(chalk.gray(` Utils: ${analysis.framework_info.utils?.length || 0}`));
|
|
291
|
+
|
|
292
|
+
// Step 2: Analyze component usage patterns
|
|
293
|
+
console.log(chalk.blue('📈 Analyzing usage patterns...'));
|
|
294
|
+
analysis.usage_analytics = await usageAnalytics.analyzeUsagePatterns(
|
|
295
|
+
analysis.framework_info.components
|
|
296
|
+
);
|
|
297
|
+
|
|
298
|
+
// Step 3: Performance bottleneck detection
|
|
299
|
+
if (include_metrics) {
|
|
300
|
+
console.log(chalk.blue('⚡ Detecting performance bottlenecks...'));
|
|
301
|
+
analysis.performance_analysis = await performanceAnalyzer.analyzePerformance(
|
|
302
|
+
analysis.framework_info.components
|
|
303
|
+
);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
// Step 4: Redundancy and overlap analysis
|
|
307
|
+
// console.log(chalk.blue('🔄 Analyzing redundancies and overlaps...'));
|
|
308
|
+
// analysis.redundancy_analysis = await redundancyAnalyzer.analyzeRedundancy(
|
|
309
|
+
// analysis.framework_info.components
|
|
310
|
+
// ); // Archived - Story 3.1.4
|
|
311
|
+
|
|
312
|
+
// Step 5: Generate improvement suggestions
|
|
313
|
+
if (include_suggestions) {
|
|
314
|
+
console.log(chalk.blue('💡 Generating improvement suggestions...'));
|
|
315
|
+
analysis.improvement_suggestions = await improvementEngine.generateSuggestions({
|
|
316
|
+
components: analysis.framework_info.components,
|
|
317
|
+
usage: analysis.usage_analytics,
|
|
318
|
+
performance: analysis.performance_analysis
|
|
319
|
+
// redundancy: analysis.redundancy_analysis // Archived - Story 3.1.4
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
// Step 6: Generate summary
|
|
324
|
+
analysis.summary = this.generateSummary(analysis);
|
|
325
|
+
|
|
326
|
+
// Step 7: Format and display results
|
|
327
|
+
await this.displayResults(analysis, output_format);
|
|
328
|
+
|
|
329
|
+
// Step 8: Save report
|
|
330
|
+
if (save_report) {
|
|
331
|
+
const reportPath = await this.saveReport(analysis);
|
|
332
|
+
console.log(chalk.green(`📋 Report saved: ${reportPath}`));
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
console.log(chalk.green('✅ Framework analysis completed'));
|
|
336
|
+
|
|
337
|
+
return {
|
|
338
|
+
success: true,
|
|
339
|
+
analysis,
|
|
340
|
+
suggestions_count: analysis.improvement_suggestions.length,
|
|
341
|
+
critical_issues: analysis.summary.critical_issues || 0,
|
|
342
|
+
performance_score: analysis.summary.performance_score || 'N/A'
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
} catch (error) {
|
|
346
|
+
console.error(chalk.red(`Framework analysis failed: ${error.message}`));
|
|
347
|
+
|
|
348
|
+
return {
|
|
349
|
+
success: false,
|
|
350
|
+
error: error.message,
|
|
351
|
+
partial_analysis: analysis
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
},
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Generate analysis summary
|
|
358
|
+
*/
|
|
359
|
+
generateSummary(analysis) {
|
|
360
|
+
const summary = {
|
|
361
|
+
total_components: analysis.framework_info.total_components || 0,
|
|
362
|
+
health_score: 0,
|
|
363
|
+
critical_issues: 0,
|
|
364
|
+
warnings: 0,
|
|
365
|
+
recommendations: 0,
|
|
366
|
+
performance_score: 'N/A',
|
|
367
|
+
redundancy_level: 'low',
|
|
368
|
+
usage_efficiency: 0,
|
|
369
|
+
top_concerns: [],
|
|
370
|
+
strengths: []
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
// Calculate health score
|
|
374
|
+
let healthPoints = 100;
|
|
375
|
+
|
|
376
|
+
if (analysis.redundancy_analysis.redundant_components) {
|
|
377
|
+
const redundancyPenalty = analysis.redundancy_analysis.redundant_components.length * 5;
|
|
378
|
+
healthPoints -= redundancyPenalty;
|
|
379
|
+
summary.critical_issues += analysis.redundancy_analysis.redundant_components.length;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
if (analysis.performance_analysis.bottlenecks) {
|
|
383
|
+
const performancePenalty = analysis.performance_analysis.bottlenecks.length * 10;
|
|
384
|
+
healthPoints -= performancePenalty;
|
|
385
|
+
summary.critical_issues += analysis.performance_analysis.bottlenecks.length;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
if (analysis.usage_analytics.unused_components) {
|
|
389
|
+
const unusedPenalty = analysis.usage_analytics.unused_components.length * 3;
|
|
390
|
+
healthPoints -= unusedPenalty;
|
|
391
|
+
summary.warnings += analysis.usage_analytics.unused_components.length;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
summary.health_score = Math.max(0, Math.min(100, healthPoints));
|
|
395
|
+
summary.recommendations = analysis.improvement_suggestions.length;
|
|
396
|
+
|
|
397
|
+
// Performance score
|
|
398
|
+
if (analysis.performance_analysis.overall_score) {
|
|
399
|
+
summary.performance_score = analysis.performance_analysis.overall_score;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
// Usage efficiency
|
|
403
|
+
if (analysis.usage_analytics.efficiency_score) {
|
|
404
|
+
summary.usage_efficiency = analysis.usage_analytics.efficiency_score;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// Redundancy level
|
|
408
|
+
if (analysis.redundancy_analysis.redundancy_level) {
|
|
409
|
+
summary.redundancy_level = analysis.redundancy_analysis.redundancy_level;
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
// Top concerns
|
|
413
|
+
if (analysis.performance_analysis.bottlenecks?.length > 0) {
|
|
414
|
+
summary.top_concerns.push('Performance bottlenecks detected');
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
if (analysis.redundancy_analysis.redundant_components?.length > 0) {
|
|
418
|
+
summary.top_concerns.push('Code redundancy found');
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
if (analysis.usage_analytics.unused_components?.length > 0) {
|
|
422
|
+
summary.top_concerns.push('Unused components detected');
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// Strengths
|
|
426
|
+
if (summary.health_score >= 90) {
|
|
427
|
+
summary.strengths.push('Overall framework health excellent');
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
if (summary.performance_score >= 8) {
|
|
431
|
+
summary.strengths.push('Good performance characteristics');
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
if (summary.usage_efficiency >= 85) {
|
|
435
|
+
summary.strengths.push('High component utilization');
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
return summary;
|
|
439
|
+
},
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* Display analysis results
|
|
443
|
+
*/
|
|
444
|
+
async displayResults(analysis, format) {
|
|
445
|
+
switch (format) {
|
|
446
|
+
case 'summary':
|
|
447
|
+
this.displaySummary(analysis);
|
|
448
|
+
break;
|
|
449
|
+
case 'json':
|
|
450
|
+
console.log(JSON.stringify(analysis, null, 2));
|
|
451
|
+
break;
|
|
452
|
+
case 'detailed':
|
|
453
|
+
default:
|
|
454
|
+
this.displayDetailed(analysis);
|
|
455
|
+
break;
|
|
456
|
+
}
|
|
457
|
+
},
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* Display summary format
|
|
461
|
+
*/
|
|
462
|
+
displaySummary(analysis) {
|
|
463
|
+
const { summary } = analysis;
|
|
464
|
+
|
|
465
|
+
console.log(chalk.bold('\n📊 Framework Analysis Summary'));
|
|
466
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
467
|
+
|
|
468
|
+
// Health score with color coding
|
|
469
|
+
const healthColor = summary.health_score >= 80 ? 'green' :
|
|
470
|
+
summary.health_score >= 60 ? 'yellow' : 'red';
|
|
471
|
+
console.log(`Health Score: ${chalk[healthColor](summary.health_score + '/100')}`);
|
|
472
|
+
|
|
473
|
+
console.log(`Components: ${summary.total_components}`);
|
|
474
|
+
console.log(`Critical Issues: ${chalk.red(summary.critical_issues)}`);
|
|
475
|
+
console.log(`Warnings: ${chalk.yellow(summary.warnings)}`);
|
|
476
|
+
console.log(`Recommendations: ${chalk.blue(summary.recommendations)}`);
|
|
477
|
+
|
|
478
|
+
if (summary.performance_score !== 'N/A') {
|
|
479
|
+
console.log(`Performance: ${chalk.cyan(summary.performance_score + '/10')}`);
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
console.log(`Usage Efficiency: ${chalk.cyan(summary.usage_efficiency + '%')}`);
|
|
483
|
+
console.log(`Redundancy Level: ${chalk.magenta(summary.redundancy_level)}`);
|
|
484
|
+
|
|
485
|
+
// Top concerns
|
|
486
|
+
if (summary.top_concerns.length > 0) {
|
|
487
|
+
console.log('\n🚨 Top Concerns:');
|
|
488
|
+
summary.top_concerns.forEach(concern => {
|
|
489
|
+
console.log(` • ${chalk.red(concern)}`);
|
|
490
|
+
});
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
// Strengths
|
|
494
|
+
if (summary.strengths.length > 0) {
|
|
495
|
+
console.log('\n✅ Strengths:');
|
|
496
|
+
summary.strengths.forEach(strength => {
|
|
497
|
+
console.log(` • ${chalk.green(strength)}`);
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
},
|
|
501
|
+
|
|
502
|
+
/**
|
|
503
|
+
* Display detailed format
|
|
504
|
+
*/
|
|
505
|
+
displayDetailed(analysis) {
|
|
506
|
+
this.displaySummary(analysis);
|
|
507
|
+
|
|
508
|
+
// Component breakdown
|
|
509
|
+
console.log(chalk.bold('\n📋 Component Analysis'));
|
|
510
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
511
|
+
|
|
512
|
+
if (analysis.framework_info.agents) {
|
|
513
|
+
console.log(`Agents (${analysis.framework_info.agents.length}):`);
|
|
514
|
+
analysis.framework_info.agents.slice(0, 5).forEach(agent => {
|
|
515
|
+
console.log(` • ${chalk.cyan(agent.name)} - ${agent.description || 'No description'}`);
|
|
516
|
+
});
|
|
517
|
+
if (analysis.framework_info.agents.length > 5) {
|
|
518
|
+
console.log(` ... and ${analysis.framework_info.agents.length - 5} more`);
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
// Performance issues
|
|
523
|
+
if (analysis.performance_analysis.bottlenecks?.length > 0) {
|
|
524
|
+
console.log(chalk.bold('\n⚡ Performance Bottlenecks'));
|
|
525
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
526
|
+
|
|
527
|
+
analysis.performance_analysis.bottlenecks.slice(0, 3).forEach(bottleneck => {
|
|
528
|
+
console.log(` • ${chalk.red(bottleneck.component)}: ${bottleneck.issue}`);
|
|
529
|
+
console.log(` Impact: ${chalk.yellow(bottleneck.impact)} | Effort: ${bottleneck.effort}`);
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
// Redundancy issues
|
|
534
|
+
if (analysis.redundancy_analysis.redundant_components?.length > 0) {
|
|
535
|
+
console.log(chalk.bold('\n🔄 Redundant Components'));
|
|
536
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
537
|
+
|
|
538
|
+
analysis.redundancy_analysis.redundant_components.slice(0, 3).forEach(redundancy => {
|
|
539
|
+
console.log(` • ${chalk.red(redundancy.component1)} ↔️ ${redundancy.component2}`);
|
|
540
|
+
console.log(` Similarity: ${chalk.yellow(redundancy.similarity + '%')} | Type: ${redundancy.type}`);
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
// Top suggestions
|
|
545
|
+
if (analysis.improvement_suggestions.length > 0) {
|
|
546
|
+
console.log(chalk.bold('\n💡 Top Improvement Suggestions'));
|
|
547
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
548
|
+
|
|
549
|
+
analysis.improvement_suggestions
|
|
550
|
+
.sort((a, b) => (b.priority_score || 0) - (a.priority_score || 0))
|
|
551
|
+
.slice(0, 5)
|
|
552
|
+
.forEach((suggestion, index) => {
|
|
553
|
+
const priorityColor = suggestion.priority === 'high' ? 'red' :
|
|
554
|
+
suggestion.priority === 'medium' ? 'yellow' : 'gray';
|
|
555
|
+
console.log(` ${index + 1}. ${chalk[priorityColor](suggestion.title)}`);
|
|
556
|
+
console.log(` ${suggestion.description}`);
|
|
557
|
+
console.log(` Impact: ${chalk.cyan(suggestion.impact)} | Effort: ${suggestion.effort}`);
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
},
|
|
561
|
+
|
|
562
|
+
/**
|
|
563
|
+
* Save analysis report
|
|
564
|
+
*/
|
|
565
|
+
async saveReport(analysis) {
|
|
566
|
+
const reportsDir = path.join(process.cwd(), '.aios', 'reports');
|
|
567
|
+
await fs.mkdir(reportsDir, { recursive: true });
|
|
568
|
+
|
|
569
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
570
|
+
const reportPath = path.join(reportsDir, `framework-analysis-${timestamp}.json`);
|
|
571
|
+
|
|
572
|
+
await fs.writeFile(reportPath, JSON.stringify(analysis, null, 2));
|
|
573
|
+
|
|
574
|
+
// Also save a human-readable summary
|
|
575
|
+
const summaryPath = path.join(reportsDir, `framework-analysis-summary-${timestamp}.md`);
|
|
576
|
+
const summaryContent = this.generateMarkdownSummary(analysis);
|
|
577
|
+
await fs.writeFile(summaryPath, summaryContent);
|
|
578
|
+
|
|
579
|
+
return reportPath;
|
|
580
|
+
},
|
|
581
|
+
|
|
582
|
+
/**
|
|
583
|
+
* Generate markdown summary
|
|
584
|
+
*/
|
|
585
|
+
generateMarkdownSummary(analysis) {
|
|
586
|
+
const { summary } = analysis;
|
|
587
|
+
|
|
588
|
+
return `# Framework Analysis Report
|
|
589
|
+
|
|
590
|
+
**Generated:** ${new Date(analysis.timestamp).toLocaleString()}
|
|
591
|
+
**Scope:** ${analysis.scope}
|
|
592
|
+
|
|
593
|
+
## Summary
|
|
594
|
+
|
|
595
|
+
- **Health Score:** ${summary.health_score}/100
|
|
596
|
+
- **Components:** ${summary.total_components}
|
|
597
|
+
- **Critical Issues:** ${summary.critical_issues}
|
|
598
|
+
- **Warnings:** ${summary.warnings}
|
|
599
|
+
- **Recommendations:** ${summary.recommendations}
|
|
600
|
+
- **Performance Score:** ${summary.performance_score}
|
|
601
|
+
- **Usage Efficiency:** ${summary.usage_efficiency}%
|
|
602
|
+
- **Redundancy Level:** ${summary.redundancy_level}
|
|
603
|
+
|
|
604
|
+
## Top Concerns
|
|
605
|
+
|
|
606
|
+
${summary.top_concerns.map(concern => `- ${concern}`).join('\n') || 'None identified'}
|
|
607
|
+
|
|
608
|
+
## Strengths
|
|
609
|
+
|
|
610
|
+
${summary.strengths.map(strength => `- ${strength}`).join('\n') || 'None identified'}
|
|
611
|
+
|
|
612
|
+
## Key Metrics
|
|
613
|
+
|
|
614
|
+
### Component Distribution
|
|
615
|
+
- Agents: ${analysis.framework_info.agents?.length || 0}
|
|
616
|
+
- Tasks: ${analysis.framework_info.tasks?.length || 0}
|
|
617
|
+
- Workflows: ${analysis.framework_info.workflows?.length || 0}
|
|
618
|
+
- Utils: ${analysis.framework_info.utils?.length || 0}
|
|
619
|
+
|
|
620
|
+
### Performance Analysis
|
|
621
|
+
${analysis.performance_analysis.bottlenecks?.length > 0 ?
|
|
622
|
+
`**Bottlenecks Found:** ${analysis.performance_analysis.bottlenecks.length}\n\n` +
|
|
623
|
+
analysis.performance_analysis.bottlenecks.slice(0, 3).map(b =>
|
|
624
|
+
`- **${b.component}:** ${b.issue} (Impact: ${b.impact})`
|
|
625
|
+
).join('\n') : 'No significant bottlenecks detected'}
|
|
626
|
+
|
|
627
|
+
### Redundancy Analysis
|
|
628
|
+
${analysis.redundancy_analysis.redundant_components?.length > 0 ?
|
|
629
|
+
`**Redundant Components:** ${analysis.redundancy_analysis.redundant_components.length}\n\n` +
|
|
630
|
+
analysis.redundancy_analysis.redundant_components.slice(0, 3).map(r =>
|
|
631
|
+
`- **${r.component1}** ↔️ **${r.component2}** (${r.similarity}% similar)`
|
|
632
|
+
).join('\n') : 'No significant redundancy detected'}
|
|
633
|
+
|
|
634
|
+
## Top Improvement Suggestions
|
|
635
|
+
|
|
636
|
+
${analysis.improvement_suggestions.slice(0, 5).map((suggestion, index) =>
|
|
637
|
+
`${index + 1}. **${suggestion.title}** (${suggestion.priority})
|
|
638
|
+
- ${suggestion.description}
|
|
639
|
+
- Impact: ${suggestion.impact} | Effort: ${suggestion.effort}`
|
|
640
|
+
).join('\n\n') || 'No suggestions generated'}
|
|
641
|
+
|
|
642
|
+
---
|
|
643
|
+
*Report generated by AIOS Framework Analyzer*
|
|
644
|
+
`;
|
|
645
|
+
}
|
|
646
|
+
};
|
|
647
|
+
```
|
|
648
|
+
|
|
649
|
+
## Usage Examples
|
|
650
|
+
|
|
651
|
+
### Basic Analysis
|
|
652
|
+
```bash
|
|
653
|
+
*analyze-framework
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
### Scope-specific Analysis
|
|
657
|
+
```bash
|
|
658
|
+
*analyze-framework scope=agents
|
|
659
|
+
*analyze-framework scope=utils include_suggestions=false
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
### Summary Output
|
|
663
|
+
```bash
|
|
664
|
+
*analyze-framework output_format=summary
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
### Performance-focused Analysis
|
|
668
|
+
```bash
|
|
669
|
+
*analyze-framework include_metrics=true output_format=detailed
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
## Expected Output
|
|
673
|
+
|
|
674
|
+
The analysis provides:
|
|
675
|
+
|
|
676
|
+
1. **Framework Structure Overview**: Complete inventory of components
|
|
677
|
+
2. **Usage Analytics**: Pattern analysis and utilization metrics
|
|
678
|
+
3. **Performance Analysis**: Bottleneck identification and recommendations
|
|
679
|
+
4. **Redundancy Detection**: Overlapping functionality identification
|
|
680
|
+
5. **Improvement Suggestions**: Prioritized recommendations for enhancement
|
|
681
|
+
6. **Health Score**: Overall framework quality assessment
|
|
682
|
+
7. **Detailed Reports**: JSON and Markdown formats for future reference
|
|
683
|
+
|
|
684
|
+
## Security Considerations
|
|
685
|
+
|
|
686
|
+
- Read-only analysis - no modifications made to framework
|
|
687
|
+
- Safe file system scanning with permission checks
|
|
688
|
+
- Memory usage monitoring for large codebases
|
|
689
|
+
- Configurable analysis depth to prevent performance issues
|
|
690
|
+
|
|
691
|
+
## Integration
|
|
692
|
+
|
|
693
|
+
Works seamlessly with:
|
|
694
|
+
- `*improve-self` command for implementing suggestions
|
|
695
|
+
- Memory layer for storing analysis history
|
|
696
|
+
- Version control for tracking improvements
|
|
697
697
|
- Component modification tools for applying changes
|