aios-core 2.1.5 ā 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-brownfield.md +456 -0
- 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 +440 -0
- 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/documentation-integrity/brownfield-analyzer.js +501 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/config-generator.js +368 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +308 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/gitignore-generator.js +312 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/index.js +74 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/mode-detector.js +389 -0
- 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/core-config/core-config-brownfield.tmpl.yaml +176 -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 -109
- 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/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/src/wizard/wizard.js +185 -34
- package/packages/installer/tests/integration/environment-configuration.test.js +2 -1
- package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
- package/packages/installer/tests/unit/env-template.test.js +11 -10
- 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/development/tasks/validate-structure.md +0 -243
- 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/infrastructure/scripts/source-tree-guardian/index.js +0 -375
- package/.aios-core/infrastructure/scripts/source-tree-guardian/manifest-generator.js +0 -410
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/naming-rules.yaml +0 -285
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/placement-rules.yaml +0 -262
- package/.aios-core/infrastructure/scripts/source-tree-guardian/validator.js +0 -468
- 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,381 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Phase 3: Tools/Scripts/Validation Logic Resolution Script
|
|
5
|
-
* Story 6.1.7.1 - Task Content Completion
|
|
6
|
-
*
|
|
7
|
-
* Purpose: Resolve ~1,375 TODOs for:
|
|
8
|
-
* - Task 3.1: Tools descriptions (~685 TODOs)
|
|
9
|
-
* - Task 3.2: Scripts descriptions (~690 TODOs)
|
|
10
|
-
* - Task 3.3: Pre/Post-condition validation logic (~690 TODOs)
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
const fs = require('fs');
|
|
14
|
-
const path = require('path');
|
|
15
|
-
|
|
16
|
-
const TASKS_DIR = path.join(process.cwd(), '.aios-core', 'tasks');
|
|
17
|
-
const REPORT_FILE = path.join(process.cwd(), '.ai', 'task-3.1-3.2-3.3-phase3-report.json');
|
|
18
|
-
|
|
19
|
-
// Tools templates by task category
|
|
20
|
-
const TOOLS_BY_CATEGORY = {
|
|
21
|
-
CREATE: [
|
|
22
|
-
{ tool: 'component-generator', purpose: 'Generate new components from templates', source: '.aios-core/scripts/component-generator.js' },
|
|
23
|
-
{ tool: 'file-system', purpose: 'File creation and validation', source: 'Node.js fs module' },
|
|
24
|
-
],
|
|
25
|
-
MODIFY: [
|
|
26
|
-
{ tool: 'file-system', purpose: 'File reading, modification, and backup', source: 'Node.js fs module' },
|
|
27
|
-
{ tool: 'ast-parser', purpose: 'Parse and modify code safely', source: '.aios-core/utils/ast-parser.js' },
|
|
28
|
-
],
|
|
29
|
-
ANALYZE: [
|
|
30
|
-
{ tool: 'code-analyzer', purpose: 'Static code analysis and metrics', source: '.aios-core/utils/code-analyzer.js' },
|
|
31
|
-
{ tool: 'file-system', purpose: 'Recursive directory traversal', source: 'Node.js fs module' },
|
|
32
|
-
],
|
|
33
|
-
VALIDATE: [
|
|
34
|
-
{ tool: 'validation-engine', purpose: 'Rule-based validation and reporting', source: '.aios-core/utils/validation-engine.js' },
|
|
35
|
-
{ tool: 'schema-validator', purpose: 'JSON/YAML schema validation', source: 'ajv or similar' },
|
|
36
|
-
],
|
|
37
|
-
EXECUTE: [
|
|
38
|
-
{ tool: 'task-runner', purpose: 'Task execution and orchestration', source: '.aios-core/core/task-runner.js' },
|
|
39
|
-
{ tool: 'logger', purpose: 'Execution logging and error tracking', source: '.aios-core/utils/logger.js' },
|
|
40
|
-
],
|
|
41
|
-
DATABASE: [
|
|
42
|
-
{ tool: 'neo4j-driver', purpose: 'Neo4j database connection and query execution', source: 'npm: neo4j-driver' },
|
|
43
|
-
{ tool: 'query-validator', purpose: 'Cypher query syntax validation', source: '.aios-core/utils/db-query-validator.js' },
|
|
44
|
-
],
|
|
45
|
-
DOCUMENTATION: [
|
|
46
|
-
{ tool: 'markdown-renderer', purpose: 'Markdown parsing and rendering', source: 'npm: marked or similar' },
|
|
47
|
-
{ tool: 'template-engine', purpose: 'Document template processing', source: '.aios-core/product/templates/' },
|
|
48
|
-
],
|
|
49
|
-
SECURITY: [
|
|
50
|
-
{ tool: 'security-scanner', purpose: 'Static security analysis and vulnerability detection', source: 'npm: eslint-plugin-security or similar' },
|
|
51
|
-
{ tool: 'dependency-checker', purpose: 'Check for vulnerable dependencies', source: 'npm audit or snyk' },
|
|
52
|
-
],
|
|
53
|
-
INIT: [
|
|
54
|
-
{ tool: 'project-scaffolder', purpose: 'Generate project structure and config', source: '.aios-core/scripts/project-scaffolder.js' },
|
|
55
|
-
{ tool: 'config-manager', purpose: 'Initialize configuration files', source: '.aios-core/utils/config-manager.js' },
|
|
56
|
-
],
|
|
57
|
-
ROLLBACK: [
|
|
58
|
-
{ tool: 'backup-manager', purpose: 'Backup and restore operations', source: '.aios-core/utils/backup-manager.js' },
|
|
59
|
-
{ tool: 'version-control', purpose: 'Git operations for rollback', source: 'npm: simple-git' },
|
|
60
|
-
],
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
// Scripts templates by task category
|
|
64
|
-
const SCRIPTS_BY_CATEGORY = {
|
|
65
|
-
CREATE: [
|
|
66
|
-
{ script: 'create-component.js', purpose: 'Component creation workflow', language: 'JavaScript', location: '.aios-core/scripts/create-component.js' },
|
|
67
|
-
],
|
|
68
|
-
MODIFY: [
|
|
69
|
-
{ script: 'modify-file.js', purpose: 'Safe file modification with backup', language: 'JavaScript', location: '.aios-core/scripts/modify-file.js' },
|
|
70
|
-
],
|
|
71
|
-
ANALYZE: [
|
|
72
|
-
{ script: 'analyze-codebase.js', purpose: 'Codebase analysis and reporting', language: 'JavaScript', location: '.aios-core/scripts/analyze-codebase.js' },
|
|
73
|
-
],
|
|
74
|
-
VALIDATE: [
|
|
75
|
-
{ script: 'run-validation.js', purpose: 'Execute validation rules and generate report', language: 'JavaScript', location: '.aios-core/scripts/run-validation.js' },
|
|
76
|
-
],
|
|
77
|
-
EXECUTE: [
|
|
78
|
-
{ script: 'execute-task.js', purpose: 'Generic task execution wrapper', language: 'JavaScript', location: '.aios-core/scripts/execute-task.js' },
|
|
79
|
-
],
|
|
80
|
-
DATABASE: [
|
|
81
|
-
{ script: 'db-query.js', purpose: 'Execute Neo4j queries with error handling', language: 'JavaScript', location: '.aios-core/scripts/db-query.js' },
|
|
82
|
-
],
|
|
83
|
-
DOCUMENTATION: [
|
|
84
|
-
{ script: 'generate-docs.js', purpose: 'Documentation generation from templates', language: 'JavaScript', location: '.aios-core/scripts/generate-docs.js' },
|
|
85
|
-
],
|
|
86
|
-
SECURITY: [
|
|
87
|
-
{ script: 'security-scan.js', purpose: 'Run security scans and generate reports', language: 'JavaScript', location: '.aios-core/scripts/security-scan.js' },
|
|
88
|
-
],
|
|
89
|
-
INIT: [
|
|
90
|
-
{ script: 'init-project.js', purpose: 'Project initialization workflow', language: 'JavaScript', location: '.aios-core/scripts/init-project.js' },
|
|
91
|
-
],
|
|
92
|
-
ROLLBACK: [
|
|
93
|
-
{ script: 'rollback-changes.js', purpose: 'Rollback to previous state', language: 'JavaScript', location: '.aios-core/scripts/rollback-changes.js' },
|
|
94
|
-
],
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
// Validation logic templates by task category
|
|
98
|
-
const VALIDATION_TEMPLATES = {
|
|
99
|
-
preCondition: {
|
|
100
|
-
CREATE: 'Target does not already exist; required inputs provided; permissions granted',
|
|
101
|
-
MODIFY: 'Target exists; backup created; valid modification parameters',
|
|
102
|
-
ANALYZE: 'Target exists and is accessible; analysis tools available',
|
|
103
|
-
VALIDATE: 'Validation rules loaded; target available for validation',
|
|
104
|
-
EXECUTE: 'Task is registered; required parameters provided; dependencies met',
|
|
105
|
-
DATABASE: 'Database connection established; query syntax valid',
|
|
106
|
-
DOCUMENTATION: 'Template exists; source data available',
|
|
107
|
-
SECURITY: 'Scanner available; target accessible; rules configured',
|
|
108
|
-
INIT: 'Directory is empty or force flag set; config valid',
|
|
109
|
-
ROLLBACK: 'Backup exists; rollback target valid',
|
|
110
|
-
},
|
|
111
|
-
postCondition: {
|
|
112
|
-
CREATE: 'Resource created successfully; validation passed; no errors logged',
|
|
113
|
-
MODIFY: 'Modification applied; backup preserved; integrity verified',
|
|
114
|
-
ANALYZE: 'Analysis complete; report generated; no critical issues',
|
|
115
|
-
VALIDATE: 'Validation executed; results accurate; report generated',
|
|
116
|
-
EXECUTE: 'Task completed; exit code 0; expected outputs created',
|
|
117
|
-
DATABASE: 'Query executed; results returned; transaction committed',
|
|
118
|
-
DOCUMENTATION: 'Documentation generated; format valid; links working',
|
|
119
|
-
SECURITY: 'Scan completed; vulnerabilities reported; no scan errors',
|
|
120
|
-
INIT: 'Project initialized; config files created; structure valid',
|
|
121
|
-
ROLLBACK: 'State restored; integrity verified; no data loss',
|
|
122
|
-
},
|
|
123
|
-
acceptanceCriterion: {
|
|
124
|
-
CREATE: 'Resource exists and is valid; no duplicate resources created',
|
|
125
|
-
MODIFY: 'Changes applied correctly; original backed up; rollback possible',
|
|
126
|
-
ANALYZE: 'Analysis accurate; all targets covered; report complete',
|
|
127
|
-
VALIDATE: 'Validation rules applied; pass/fail accurate; actionable feedback',
|
|
128
|
-
EXECUTE: 'Task completed as expected; side effects documented',
|
|
129
|
-
DATABASE: 'Data persisted correctly; constraints respected; no orphaned data',
|
|
130
|
-
DOCUMENTATION: 'Documentation readable; examples work; links valid',
|
|
131
|
-
SECURITY: 'No critical vulnerabilities; all checks passed',
|
|
132
|
-
INIT: 'Project structure correct; all config files valid',
|
|
133
|
-
ROLLBACK: 'Original state restored; no residual changes',
|
|
134
|
-
},
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
// Determine task category from filename
|
|
138
|
-
function getTaskCategory(filename) {
|
|
139
|
-
const categories = {
|
|
140
|
-
CREATE: ['create-', 'compose-', 'build-', 'generate-'],
|
|
141
|
-
MODIFY: ['modify-', 'update-', 'extend-', 'edit-'],
|
|
142
|
-
ANALYZE: ['analyze-', 'audit-', 'review-', 'risk-'],
|
|
143
|
-
VALIDATE: ['validate-', 'qa-', 'gate-', 'check-'],
|
|
144
|
-
EXECUTE: ['execute-', 'run-', 'apply-', 'deploy-'],
|
|
145
|
-
DATABASE: ['db-'],
|
|
146
|
-
DOCUMENTATION: ['doc-', 'index-'],
|
|
147
|
-
SECURITY: ['security-'],
|
|
148
|
-
INIT: ['init-', 'setup-'],
|
|
149
|
-
ROLLBACK: ['undo-', 'rollback-'],
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
for (const [category, prefixes] of Object.entries(categories)) {
|
|
153
|
-
for (const prefix of prefixes) {
|
|
154
|
-
if (filename.startsWith(prefix)) {
|
|
155
|
-
return category;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return 'EXECUTE'; // Default
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
// Format Tools section
|
|
163
|
-
function formatToolsSection(tools) {
|
|
164
|
-
if (tools.length === 0) {
|
|
165
|
-
return `- **Tool:** N/A
|
|
166
|
-
- **Purpose:** No external tools required
|
|
167
|
-
- **Source:** N/A`;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
return tools.map(t => `- **Tool:** ${t.tool}
|
|
171
|
-
- **Purpose:** ${t.purpose}
|
|
172
|
-
- **Source:** ${t.source}`).join('\n\n');
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// Format Scripts section
|
|
176
|
-
function formatScriptsSection(scripts) {
|
|
177
|
-
if (scripts.length === 0) {
|
|
178
|
-
return `- **Script:** N/A
|
|
179
|
-
- **Purpose:** No agent-specific scripts
|
|
180
|
-
- **Language:** N/A
|
|
181
|
-
- **Location:** N/A`;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
return scripts.map(s => `- **Script:** ${s.script}
|
|
185
|
-
- **Purpose:** ${s.purpose}
|
|
186
|
-
- **Language:** ${s.language}
|
|
187
|
-
- **Location:** ${s.location}`).join('\n\n');
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// Process single task file
|
|
191
|
-
function processTaskFile(filename) {
|
|
192
|
-
const filePath = path.join(TASKS_DIR, filename);
|
|
193
|
-
|
|
194
|
-
// Skip backup files
|
|
195
|
-
if (filename.includes('.pre-task-id-fix') || filename.includes('.v1-backup')) {
|
|
196
|
-
return { skipped: true, reason: 'backup file' };
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
let content = fs.readFileSync(filePath, 'utf8');
|
|
200
|
-
let modified = false;
|
|
201
|
-
const todosResolved = { tools: 0, scripts: 0, validation: 0 };
|
|
202
|
-
|
|
203
|
-
// Determine task category
|
|
204
|
-
const category = getTaskCategory(filename);
|
|
205
|
-
const tools = TOOLS_BY_CATEGORY[category] || [];
|
|
206
|
-
const scripts = SCRIPTS_BY_CATEGORY[category] || [];
|
|
207
|
-
|
|
208
|
-
// Task 3.1: Resolve Tools section
|
|
209
|
-
const toolsPattern = /- \*\*Tool:\*\* N\/A\n {2}- \*\*Purpose:\*\* \{TODO: what this tool does\}\n {2}- \*\*Source:\*\* \{TODO: where to find it\}/;
|
|
210
|
-
if (toolsPattern.test(content)) {
|
|
211
|
-
content = content.replace(toolsPattern, formatToolsSection(tools));
|
|
212
|
-
modified = true;
|
|
213
|
-
todosResolved.tools += 2; // Purpose + Source
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
// Task 3.2: Resolve Scripts section
|
|
217
|
-
const scriptsPattern = /- \*\*Script:\*\* N\/A\n {2}- \*\*Purpose:\*\* \{TODO: what this script does\}\n {2}- \*\*Language:\*\* \{TODO: JavaScript \| Python \| Bash\}\n {2}- \*\*Location:\*\* \{TODO: file path\}/;
|
|
218
|
-
if (scriptsPattern.test(content)) {
|
|
219
|
-
content = content.replace(scriptsPattern, formatScriptsSection(scripts));
|
|
220
|
-
modified = true;
|
|
221
|
-
todosResolved.scripts += 3; // Purpose + Language + Location
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
// Task 3.3: Resolve Pre-Conditions validation
|
|
225
|
-
const preCondPattern = /- \[ \] \{TODO: condition description\}\n {4}tipo: pre-condition\n {4}blocker: true\n {4}validação: \|\n {6}\{TODO: validation logic\}\n {4}error_message: "\{TODO: error message\}"/g;
|
|
226
|
-
const preCondValidation = VALIDATION_TEMPLATES.preCondition[category] || 'Prerequisites validated';
|
|
227
|
-
const preCondReplacement = `- [ ] ${preCondValidation}
|
|
228
|
-
tipo: pre-condition
|
|
229
|
-
blocker: true
|
|
230
|
-
validação: |
|
|
231
|
-
Check ${preCondValidation.toLowerCase()}
|
|
232
|
-
error_message: "Pre-condition failed: ${preCondValidation}"`;
|
|
233
|
-
|
|
234
|
-
const preCondMatches = content.match(preCondPattern);
|
|
235
|
-
if (preCondMatches) {
|
|
236
|
-
content = content.replace(preCondPattern, preCondReplacement);
|
|
237
|
-
modified = true;
|
|
238
|
-
todosResolved.validation += preCondMatches.length * 3; // condition + validation + error_message
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
// Task 3.3: Resolve Post-Conditions validation
|
|
242
|
-
const postCondPattern = /- \[ \] \{TODO: verification step\}\n {4}tipo: post-condition\n {4}blocker: true\n {4}validação: \|\n {6}\{TODO: validation logic\}\n {4}error_message: "\{TODO: error message\}"/g;
|
|
243
|
-
const postCondValidation = VALIDATION_TEMPLATES.postCondition[category] || 'Task completed successfully';
|
|
244
|
-
const postCondReplacement = `- [ ] ${postCondValidation}
|
|
245
|
-
tipo: post-condition
|
|
246
|
-
blocker: true
|
|
247
|
-
validação: |
|
|
248
|
-
Verify ${postCondValidation.toLowerCase()}
|
|
249
|
-
error_message: "Post-condition failed: ${postCondValidation}"`;
|
|
250
|
-
|
|
251
|
-
const postCondMatches = content.match(postCondPattern);
|
|
252
|
-
if (postCondMatches) {
|
|
253
|
-
content = content.replace(postCondPattern, postCondReplacement);
|
|
254
|
-
modified = true;
|
|
255
|
-
todosResolved.validation += postCondMatches.length * 3;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
// Task 3.3: Resolve Acceptance Criteria validation
|
|
259
|
-
const acceptancePattern = /- \[ \] \{TODO: acceptance criterion\}\n {4}tipo: acceptance-criterion\n {4}blocker: true\n {4}validação: \|\n {6}\{TODO: validation logic\}\n {4}error_message: "\{TODO: error message\}"/g;
|
|
260
|
-
const acceptanceValidation = VALIDATION_TEMPLATES.acceptanceCriterion[category] || 'Acceptance criteria met';
|
|
261
|
-
const acceptanceReplacement = `- [ ] ${acceptanceValidation}
|
|
262
|
-
tipo: acceptance-criterion
|
|
263
|
-
blocker: true
|
|
264
|
-
validação: |
|
|
265
|
-
Assert ${acceptanceValidation.toLowerCase()}
|
|
266
|
-
error_message: "Acceptance criterion not met: ${acceptanceValidation}"`;
|
|
267
|
-
|
|
268
|
-
const acceptanceMatches = content.match(acceptancePattern);
|
|
269
|
-
if (acceptanceMatches) {
|
|
270
|
-
content = content.replace(acceptancePattern, acceptanceReplacement);
|
|
271
|
-
modified = true;
|
|
272
|
-
todosResolved.validation += acceptanceMatches.length * 3;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
// Write back if modified
|
|
276
|
-
if (modified) {
|
|
277
|
-
fs.writeFileSync(filePath, content, 'utf8');
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
return {
|
|
281
|
-
skipped: false,
|
|
282
|
-
modified,
|
|
283
|
-
category,
|
|
284
|
-
todosResolved,
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
// Main execution
|
|
289
|
-
function main() {
|
|
290
|
-
console.log('š Phase 3: Tools/Scripts/Validation Resolution');
|
|
291
|
-
console.log('=================================================\n');
|
|
292
|
-
|
|
293
|
-
// Ensure report directory exists
|
|
294
|
-
const reportDir = path.dirname(REPORT_FILE);
|
|
295
|
-
if (!fs.existsSync(reportDir)) {
|
|
296
|
-
fs.mkdirSync(reportDir, { recursive: true });
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
// Get all task files
|
|
300
|
-
const files = fs.readdirSync(TASKS_DIR).filter(f => f.endsWith('.md'));
|
|
301
|
-
console.log(`š Found ${files.length} task files\n`);
|
|
302
|
-
|
|
303
|
-
const results = {
|
|
304
|
-
timestamp: new Date().toISOString(),
|
|
305
|
-
totalFiles: files.length,
|
|
306
|
-
processed: 0,
|
|
307
|
-
skipped: 0,
|
|
308
|
-
modified: 0,
|
|
309
|
-
todosCounts: {
|
|
310
|
-
tools: 0,
|
|
311
|
-
scripts: 0,
|
|
312
|
-
validation: 0,
|
|
313
|
-
total: 0,
|
|
314
|
-
},
|
|
315
|
-
tasksByCategory: {},
|
|
316
|
-
details: [],
|
|
317
|
-
};
|
|
318
|
-
|
|
319
|
-
// Process each file
|
|
320
|
-
files.forEach((filename, index) => {
|
|
321
|
-
const result = processTaskFile(filename);
|
|
322
|
-
|
|
323
|
-
if (result.skipped) {
|
|
324
|
-
results.skipped++;
|
|
325
|
-
console.log(`āļø [${index + 1}/${files.length}] Skipped: ${filename} (${result.reason})`);
|
|
326
|
-
} else {
|
|
327
|
-
results.processed++;
|
|
328
|
-
if (result.modified) {
|
|
329
|
-
results.modified++;
|
|
330
|
-
const totalTodos = result.todosResolved.tools + result.todosResolved.scripts + result.todosResolved.validation;
|
|
331
|
-
results.todosCounts.tools += result.todosResolved.tools;
|
|
332
|
-
results.todosCounts.scripts += result.todosResolved.scripts;
|
|
333
|
-
results.todosCounts.validation += result.todosResolved.validation;
|
|
334
|
-
results.todosCounts.total += totalTodos;
|
|
335
|
-
|
|
336
|
-
// Track by category
|
|
337
|
-
if (!results.tasksByCategory[result.category]) {
|
|
338
|
-
results.tasksByCategory[result.category] = 0;
|
|
339
|
-
}
|
|
340
|
-
results.tasksByCategory[result.category]++;
|
|
341
|
-
|
|
342
|
-
console.log(`ā
[${index + 1}/${files.length}] ${filename} (${result.category}): ${totalTodos} TODOs resolved`);
|
|
343
|
-
} else {
|
|
344
|
-
console.log(`āŖ [${index + 1}/${files.length}] ${filename}: No changes needed`);
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
results.details.push({
|
|
348
|
-
filename,
|
|
349
|
-
...result,
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
});
|
|
353
|
-
|
|
354
|
-
// Summary
|
|
355
|
-
console.log('\nš Summary:');
|
|
356
|
-
console.log('===========');
|
|
357
|
-
console.log(`Total files: ${results.totalFiles}`);
|
|
358
|
-
console.log(`Processed: ${results.processed}`);
|
|
359
|
-
console.log(`Skipped: ${results.skipped}`);
|
|
360
|
-
console.log(`Modified: ${results.modified}`);
|
|
361
|
-
console.log('\nTODOs Resolved:');
|
|
362
|
-
console.log(` Tools descriptions: ${results.todosCounts.tools}`);
|
|
363
|
-
console.log(` Scripts descriptions: ${results.todosCounts.scripts}`);
|
|
364
|
-
console.log(` Validation logic: ${results.todosCounts.validation}`);
|
|
365
|
-
console.log(` TOTAL: ${results.todosCounts.total}`);
|
|
366
|
-
console.log('\nTasks by Category:');
|
|
367
|
-
Object.entries(results.tasksByCategory).forEach(([cat, count]) => {
|
|
368
|
-
console.log(` ${cat}: ${count} tasks`);
|
|
369
|
-
});
|
|
370
|
-
|
|
371
|
-
// Write report
|
|
372
|
-
fs.writeFileSync(REPORT_FILE, JSON.stringify(results, null, 2));
|
|
373
|
-
console.log(`\nā
Report saved: ${REPORT_FILE}`);
|
|
374
|
-
|
|
375
|
-
// Exit with success
|
|
376
|
-
process.exit(0);
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
// Run
|
|
380
|
-
main();
|
|
381
|
-
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Phase 4: Metadata & Performance TODOs Resolution Script
|
|
5
|
-
* Story 6.1.7.1 - Task Content Completion
|
|
6
|
-
*
|
|
7
|
-
* Resolves remaining TODOs in:
|
|
8
|
-
* - Performance section (token_usage, optimization notes)
|
|
9
|
-
* - Metadata section (story, dependencies, tags)
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
const fs = require('fs');
|
|
13
|
-
const path = require('path');
|
|
14
|
-
|
|
15
|
-
const TASKS_DIR = path.join(process.cwd(), '.aios-core', 'tasks');
|
|
16
|
-
const REPORT_FILE = path.join(process.cwd(), '.ai', 'task-phase4-metadata-performance-report.json');
|
|
17
|
-
|
|
18
|
-
// Performance token usage by atomic layer
|
|
19
|
-
const TOKEN_USAGE_BY_LAYER = {
|
|
20
|
-
Atom: '~500-1,000 tokens',
|
|
21
|
-
Molecule: '~1,000-3,000 tokens',
|
|
22
|
-
Organism: '~3,000-10,000 tokens',
|
|
23
|
-
Template: '~1,500-5,000 tokens',
|
|
24
|
-
Strategy: '~2,000-8,000 tokens',
|
|
25
|
-
Config: '~800-2,500 tokens',
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
// Optimization notes by atomic layer
|
|
29
|
-
const OPTIMIZATION_NOTES_BY_LAYER = {
|
|
30
|
-
Atom: 'Minimize external dependencies; cache results if reusable; validate inputs early',
|
|
31
|
-
Molecule: 'Parallelize independent operations; reuse atom results; implement early exits',
|
|
32
|
-
Organism: 'Break into smaller workflows; implement checkpointing; use async processing where possible',
|
|
33
|
-
Template: 'Cache template compilation; minimize data transformations; lazy load resources',
|
|
34
|
-
Strategy: 'Iterative analysis with depth limits; cache intermediate results; batch similar operations',
|
|
35
|
-
Config: 'Validate configuration early; use atomic writes; implement rollback checkpoints',
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
// Process single task file
|
|
39
|
-
function processTaskFile(filename) {
|
|
40
|
-
const filePath = path.join(TASKS_DIR, filename);
|
|
41
|
-
|
|
42
|
-
// Skip backup files
|
|
43
|
-
if (filename.includes('.pre-task-id-fix') || filename.includes('.v1-backup')) {
|
|
44
|
-
return { skipped: true, reason: 'backup file' };
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
let content = fs.readFileSync(filePath, 'utf8');
|
|
48
|
-
let modified = false;
|
|
49
|
-
let todosResolved = 0;
|
|
50
|
-
|
|
51
|
-
// Extract atomic_layer for context
|
|
52
|
-
const atomicLayerMatch = content.match(/atomic_layer: (\w+)/);
|
|
53
|
-
const atomicLayer = atomicLayerMatch ? atomicLayerMatch[1] : 'Organism';
|
|
54
|
-
|
|
55
|
-
const tokenUsage = TOKEN_USAGE_BY_LAYER[atomicLayer] || '~2,000-5,000 tokens';
|
|
56
|
-
const optimizationNotes = OPTIMIZATION_NOTES_BY_LAYER[atomicLayer] || 'Optimize based on task requirements';
|
|
57
|
-
|
|
58
|
-
// Resolve token_usage TODO
|
|
59
|
-
const tokenPattern = /token_usage: \{TODO: ~X tokens\}/g;
|
|
60
|
-
if (tokenPattern.test(content)) {
|
|
61
|
-
content = content.replace(tokenPattern, `token_usage: ${tokenUsage}`);
|
|
62
|
-
modified = true;
|
|
63
|
-
todosResolved++;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// Resolve optimization notes TODO
|
|
67
|
-
const optimizationPattern = /- \{TODO: performance tips\}/g;
|
|
68
|
-
if (optimizationPattern.test(content)) {
|
|
69
|
-
content = content.replace(optimizationPattern, `- ${optimizationNotes}`);
|
|
70
|
-
modified = true;
|
|
71
|
-
todosResolved++;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// Resolve story TODO (N/A for now, will be filled when tasks are used in stories)
|
|
75
|
-
const storyPattern = /story: \{TODO: Story ID or N\/A\}/g;
|
|
76
|
-
if (storyPattern.test(content)) {
|
|
77
|
-
content = content.replace(storyPattern, 'story: N/A');
|
|
78
|
-
modified = true;
|
|
79
|
-
todosResolved++;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// Resolve dependencies TODO
|
|
83
|
-
const dependenciesPattern = / {2}- \{TODO: dependency file or N\/A\}/g;
|
|
84
|
-
if (dependenciesPattern.test(content)) {
|
|
85
|
-
content = content.replace(dependenciesPattern, ' - N/A');
|
|
86
|
-
modified = true;
|
|
87
|
-
todosResolved++;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// Resolve tags TODO
|
|
91
|
-
const tag1Pattern = / {2}- \{TODO: tag1\}/g;
|
|
92
|
-
const tag2Pattern = / {2}- \{TODO: tag2\}/g;
|
|
93
|
-
|
|
94
|
-
// Determine appropriate tags based on task category
|
|
95
|
-
const tags = [];
|
|
96
|
-
if (filename.startsWith('dev-')) tags.push('development', 'code');
|
|
97
|
-
else if (filename.startsWith('qa-')) tags.push('quality-assurance', 'testing');
|
|
98
|
-
else if (filename.startsWith('po-')) tags.push('product-management', 'planning');
|
|
99
|
-
else if (filename.startsWith('db-')) tags.push('database', 'infrastructure');
|
|
100
|
-
else if (filename.startsWith('security-')) tags.push('security', 'audit');
|
|
101
|
-
else if (filename.includes('create-')) tags.push('creation', 'setup');
|
|
102
|
-
else if (filename.includes('analyze-')) tags.push('analysis', 'metrics');
|
|
103
|
-
else if (filename.includes('modify-')) tags.push('modification', 'update');
|
|
104
|
-
else tags.push('automation', 'workflow');
|
|
105
|
-
|
|
106
|
-
if (tag1Pattern.test(content)) {
|
|
107
|
-
content = content.replace(tag1Pattern, ` - ${tags[0] || 'automation'}`);
|
|
108
|
-
modified = true;
|
|
109
|
-
todosResolved++;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
if (tag2Pattern.test(content)) {
|
|
113
|
-
content = content.replace(tag2Pattern, ` - ${tags[1] || 'workflow'}`);
|
|
114
|
-
modified = true;
|
|
115
|
-
todosResolved++;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Write back if modified
|
|
119
|
-
if (modified) {
|
|
120
|
-
fs.writeFileSync(filePath, content, 'utf8');
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return {
|
|
124
|
-
skipped: false,
|
|
125
|
-
modified,
|
|
126
|
-
atomicLayer,
|
|
127
|
-
todosResolved,
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// Main execution
|
|
132
|
-
function main() {
|
|
133
|
-
console.log('š Phase 4: Metadata & Performance Resolution');
|
|
134
|
-
console.log('==============================================\n');
|
|
135
|
-
|
|
136
|
-
// Ensure report directory exists
|
|
137
|
-
const reportDir = path.dirname(REPORT_FILE);
|
|
138
|
-
if (!fs.existsSync(reportDir)) {
|
|
139
|
-
fs.mkdirSync(reportDir, { recursive: true });
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Get all task files
|
|
143
|
-
const files = fs.readdirSync(TASKS_DIR).filter(f => f.endsWith('.md'));
|
|
144
|
-
console.log(`š Found ${files.length} task files\n`);
|
|
145
|
-
|
|
146
|
-
const results = {
|
|
147
|
-
timestamp: new Date().toISOString(),
|
|
148
|
-
totalFiles: files.length,
|
|
149
|
-
processed: 0,
|
|
150
|
-
skipped: 0,
|
|
151
|
-
modified: 0,
|
|
152
|
-
todosResolved: 0,
|
|
153
|
-
details: [],
|
|
154
|
-
};
|
|
155
|
-
|
|
156
|
-
// Process each file
|
|
157
|
-
files.forEach((filename, index) => {
|
|
158
|
-
const result = processTaskFile(filename);
|
|
159
|
-
|
|
160
|
-
if (result.skipped) {
|
|
161
|
-
results.skipped++;
|
|
162
|
-
if (index < 10) {
|
|
163
|
-
console.log(`āļø [${index + 1}/${files.length}] Skipped: ${filename} (${result.reason})`);
|
|
164
|
-
}
|
|
165
|
-
} else {
|
|
166
|
-
results.processed++;
|
|
167
|
-
if (result.modified) {
|
|
168
|
-
results.modified++;
|
|
169
|
-
results.todosResolved += result.todosResolved;
|
|
170
|
-
console.log(`ā
[${index + 1}/${files.length}] ${filename}: ${result.todosResolved} TODOs resolved`);
|
|
171
|
-
} else {
|
|
172
|
-
if (index < 10) {
|
|
173
|
-
console.log(`āŖ [${index + 1}/${files.length}] ${filename}: No changes needed`);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
results.details.push({
|
|
178
|
-
filename,
|
|
179
|
-
...result,
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
// Summary
|
|
185
|
-
console.log('\nš Summary:');
|
|
186
|
-
console.log('===========');
|
|
187
|
-
console.log(`Total files: ${results.totalFiles}`);
|
|
188
|
-
console.log(`Processed: ${results.processed}`);
|
|
189
|
-
console.log(`Skipped: ${results.skipped}`);
|
|
190
|
-
console.log(`Modified: ${results.modified}`);
|
|
191
|
-
console.log(`TODOs Resolved: ${results.todosResolved}`);
|
|
192
|
-
|
|
193
|
-
// Write report
|
|
194
|
-
fs.writeFileSync(REPORT_FILE, JSON.stringify(results, null, 2));
|
|
195
|
-
console.log(`\nā
Report saved: ${REPORT_FILE}`);
|
|
196
|
-
|
|
197
|
-
// Exit with success
|
|
198
|
-
process.exit(0);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
// Run
|
|
202
|
-
main();
|
|
203
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const fs = require('fs');
|
|
3
|
-
const yaml = require('js-yaml');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
|
|
6
|
-
const agentPath = path.join(__dirname, '..', 'agents', 'po.md');
|
|
7
|
-
const content = fs.readFileSync(agentPath, 'utf8');
|
|
8
|
-
const yamlMatch = content.match(/```yaml([\s\S]*?)```/);
|
|
9
|
-
|
|
10
|
-
if (yamlMatch) {
|
|
11
|
-
try {
|
|
12
|
-
const agent = yaml.load(yamlMatch[1]);
|
|
13
|
-
console.log('ā
YAML parsed successfully!');
|
|
14
|
-
console.log('Agent:', agent.agent.name);
|
|
15
|
-
console.log('STEP 3 type:', typeof agent['activation-instructions'][2]);
|
|
16
|
-
console.log('STEP 3 preview:', agent['activation-instructions'][2].substring(0, 150) + '...');
|
|
17
|
-
} catch (error) {
|
|
18
|
-
console.log('ā YAML parsing failed:', error.message);
|
|
19
|
-
process.exit(1);
|
|
20
|
-
}
|
|
21
|
-
} else {
|
|
22
|
-
console.log('ā No YAML block found');
|
|
23
|
-
process.exit(1);
|
|
24
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const fs = require('fs');
|
|
3
|
-
const yaml = require('js-yaml');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
|
|
6
|
-
console.log('š Verifying YAML Fix\n');
|
|
7
|
-
|
|
8
|
-
const AGENTS = [
|
|
9
|
-
'dev.md', 'qa.md', 'po.md', 'sm.md', 'pm.md',
|
|
10
|
-
'architect.md', 'analyst.md', 'data-engineer.md',
|
|
11
|
-
'devops.md', 'aios-master.md', 'ux-design-expert.md',
|
|
12
|
-
];
|
|
13
|
-
|
|
14
|
-
let passCount = 0;
|
|
15
|
-
let failCount = 0;
|
|
16
|
-
|
|
17
|
-
for (const agentFile of AGENTS) {
|
|
18
|
-
const agentPath = path.join(__dirname, '..', 'agents', agentFile);
|
|
19
|
-
const content = fs.readFileSync(agentPath, 'utf8');
|
|
20
|
-
const yamlMatch = content.match(/```yaml([\s\S]*?)```/);
|
|
21
|
-
|
|
22
|
-
try {
|
|
23
|
-
const agent = yaml.load(yamlMatch[1]);
|
|
24
|
-
const step3 = agent['activation-instructions'][2];
|
|
25
|
-
|
|
26
|
-
// STEP 3 should now be an object with "STEP 3" key containing multi-line string
|
|
27
|
-
if (typeof step3 === 'object' && step3['STEP 3']) {
|
|
28
|
-
console.log(`ā
${agentFile.padEnd(25)} - YAML valid, pipe syntax working`);
|
|
29
|
-
passCount++;
|
|
30
|
-
} else if (typeof step3 === 'string' && step3.includes('Build intelligent greeting')) {
|
|
31
|
-
console.log(`ā
${agentFile.padEnd(25)} - YAML valid`);
|
|
32
|
-
passCount++;
|
|
33
|
-
} else {
|
|
34
|
-
console.log(`ā ļø ${agentFile.padEnd(25)} - Unexpected format: ${typeof step3}`);
|
|
35
|
-
failCount++;
|
|
36
|
-
}
|
|
37
|
-
} catch (error) {
|
|
38
|
-
console.log(`ā ${agentFile.padEnd(25)} - Parse error: ${error.message.substring(0, 50)}`);
|
|
39
|
-
failCount++;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
console.log(`\nš Results: ${passCount}/${AGENTS.length} agents valid`);
|
|
44
|
-
|
|
45
|
-
if (failCount === 0) {
|
|
46
|
-
console.log('ā
All agents have valid YAML!');
|
|
47
|
-
process.exit(0);
|
|
48
|
-
} else {
|
|
49
|
-
console.log(`ā ${failCount} agents have issues`);
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|