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
|
@@ -39,7 +39,8 @@ describe('Wizard Integration with Project Type Detection', () => {
|
|
|
39
39
|
|
|
40
40
|
expect(result.projectType).toBe('GREENFIELD');
|
|
41
41
|
expect(result.targetDir).toBe('/test-greenfield');
|
|
42
|
-
|
|
42
|
+
// Output uses lowercase format for display
|
|
43
|
+
expect(console.log).toHaveBeenCalledWith(expect.stringContaining('greenfield'));
|
|
43
44
|
});
|
|
44
45
|
|
|
45
46
|
test('getProjectType helper returns GREENFIELD for empty directory', () => {
|
|
@@ -79,7 +80,7 @@ describe('Wizard Integration with Project Type Detection', () => {
|
|
|
79
80
|
|
|
80
81
|
expect(result.projectType).toBe('BROWNFIELD');
|
|
81
82
|
expect(result.targetDir).toBe('/test-brownfield');
|
|
82
|
-
expect(console.log).toHaveBeenCalledWith(expect.stringContaining('
|
|
83
|
+
expect(console.log).toHaveBeenCalledWith(expect.stringContaining('brownfield'));
|
|
83
84
|
});
|
|
84
85
|
|
|
85
86
|
test('wizard correctly detects and processes BROWNFIELD project with .git', async () => {
|
|
@@ -97,7 +98,7 @@ describe('Wizard Integration with Project Type Detection', () => {
|
|
|
97
98
|
const result = await runWizard({ targetDir: '/test-git' });
|
|
98
99
|
|
|
99
100
|
expect(result.projectType).toBe('BROWNFIELD');
|
|
100
|
-
expect(console.log).toHaveBeenCalledWith(expect.stringContaining('
|
|
101
|
+
expect(console.log).toHaveBeenCalledWith(expect.stringContaining('brownfield'));
|
|
101
102
|
});
|
|
102
103
|
|
|
103
104
|
test('getProjectType helper returns BROWNFIELD for existing project', () => {
|
|
@@ -134,7 +135,8 @@ describe('Wizard Integration with Project Type Detection', () => {
|
|
|
134
135
|
|
|
135
136
|
expect(result.projectType).toBe('EXISTING_AIOS');
|
|
136
137
|
expect(result.targetDir).toBe('/test-existing');
|
|
137
|
-
|
|
138
|
+
// Output shows "brownfield" since EXISTING_AIOS is treated as brownfield update
|
|
139
|
+
expect(console.log).toHaveBeenCalledWith(expect.stringContaining('brownfield'));
|
|
138
140
|
});
|
|
139
141
|
|
|
140
142
|
test('confirmProjectType shows update/reinstall message for EXISTING_AIOS', async () => {
|
|
@@ -212,7 +214,7 @@ describe('Wizard Integration with Project Type Detection', () => {
|
|
|
212
214
|
});
|
|
213
215
|
|
|
214
216
|
await expect(runWizard({ targetDir: '/invalid' })).rejects.toThrow(
|
|
215
|
-
'
|
|
217
|
+
'Directory does not exist',
|
|
216
218
|
);
|
|
217
219
|
});
|
|
218
220
|
|
|
@@ -341,7 +343,7 @@ describe('Wizard Integration with Project Type Detection', () => {
|
|
|
341
343
|
await runWizard({ targetDir: '/test' });
|
|
342
344
|
|
|
343
345
|
expect(console.log).toHaveBeenCalledWith(
|
|
344
|
-
expect.stringContaining('
|
|
346
|
+
expect.stringContaining('Analyzing project directory'),
|
|
345
347
|
);
|
|
346
348
|
});
|
|
347
349
|
});
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
const { generateEnvContent, generateEnvExample } = require('../../src/config/templates/env-template');
|
|
9
|
+
const pkg = require('../../../../package.json');
|
|
9
10
|
|
|
10
11
|
describe('.env Template Generator', () => {
|
|
11
12
|
describe('generateEnvContent', () => {
|
|
@@ -13,10 +14,10 @@ describe('.env Template Generator', () => {
|
|
|
13
14
|
const content = generateEnvContent();
|
|
14
15
|
|
|
15
16
|
expect(content).toContain('NODE_ENV=development');
|
|
16
|
-
expect(content).toContain(
|
|
17
|
+
expect(content).toContain(`AIOS_VERSION=${pkg.version}`);
|
|
17
18
|
expect(content).toContain('OPENAI_API_KEY=');
|
|
18
19
|
expect(content).toContain('ANTHROPIC_API_KEY=');
|
|
19
|
-
expect(content).toContain('# AIOS Environment Configuration');
|
|
20
|
+
expect(content).toContain('# Synkra AIOS Environment Configuration');
|
|
20
21
|
});
|
|
21
22
|
|
|
22
23
|
it('should generate .env with provided API keys', () => {
|
|
@@ -48,9 +49,9 @@ describe('.env Template Generator', () => {
|
|
|
48
49
|
it('should include helpful comments', () => {
|
|
49
50
|
const content = generateEnvContent();
|
|
50
51
|
|
|
51
|
-
expect(content).toContain('#
|
|
52
|
-
expect(content).toContain('#
|
|
53
|
-
expect(content).toContain('
|
|
52
|
+
expect(content).toContain('# LLM Providers');
|
|
53
|
+
expect(content).toContain('# Search & Research Tools');
|
|
54
|
+
expect(content).toContain('Get your key at:');
|
|
54
55
|
});
|
|
55
56
|
|
|
56
57
|
it('should not contain sensitive data in comments', () => {
|
|
@@ -69,7 +70,7 @@ describe('.env Template Generator', () => {
|
|
|
69
70
|
const lines = content.split('\n').filter(line => !line.startsWith('#') && line.trim());
|
|
70
71
|
lines.forEach(line => {
|
|
71
72
|
if (line.includes('=')) {
|
|
72
|
-
expect(line).toMatch(/^[A-
|
|
73
|
+
expect(line).toMatch(/^[A-Z0-9_]+=.*/);
|
|
73
74
|
// Check there are NO spaces before or after the = sign
|
|
74
75
|
expect(line).not.toMatch(/\s=/); // No space before =
|
|
75
76
|
expect(line).not.toMatch(/=\s[^=]*$/); // No space after = (except in comments)
|
|
@@ -83,7 +84,7 @@ describe('.env Template Generator', () => {
|
|
|
83
84
|
const content = generateEnvExample();
|
|
84
85
|
|
|
85
86
|
expect(content).toContain('NODE_ENV=development');
|
|
86
|
-
expect(content).toContain(
|
|
87
|
+
expect(content).toContain(`AIOS_VERSION=${pkg.version}`);
|
|
87
88
|
expect(content).toContain('OPENAI_API_KEY=');
|
|
88
89
|
expect(content).toContain('ANTHROPIC_API_KEY=');
|
|
89
90
|
expect(content).toContain('CLICKUP_API_KEY=');
|
|
@@ -108,7 +109,7 @@ describe('.env Template Generator', () => {
|
|
|
108
109
|
|
|
109
110
|
expect(content).toContain('https://platform.openai.com');
|
|
110
111
|
expect(content).toContain('https://console.anthropic.com');
|
|
111
|
-
expect(content).toContain('
|
|
112
|
+
expect(content).toContain('ClickUp Settings');
|
|
112
113
|
expect(content).toContain('https://github.com/settings/tokens');
|
|
113
114
|
});
|
|
114
115
|
|
|
@@ -170,8 +171,8 @@ describe('.env Template Generator', () => {
|
|
|
170
171
|
|
|
171
172
|
// Should have clear section headers
|
|
172
173
|
expect(content).toContain('# AIOS Core Configuration');
|
|
173
|
-
expect(content).toContain('#
|
|
174
|
-
expect(content).toContain('#
|
|
174
|
+
expect(content).toContain('# LLM Providers');
|
|
175
|
+
expect(content).toContain('# Search & Research Tools');
|
|
175
176
|
});
|
|
176
177
|
|
|
177
178
|
it('should include usage instructions', () => {
|
|
@@ -25,7 +25,7 @@ const path = require('path');
|
|
|
25
25
|
/**
|
|
26
26
|
* IDE Configuration Metadata
|
|
27
27
|
*
|
|
28
|
-
* AIOS
|
|
28
|
+
* Synkra AIOS v2.1 supports 9 IDEs:
|
|
29
29
|
* - Claude Code (Anthropic's official CLI)
|
|
30
30
|
* - Cursor (AI-first code editor)
|
|
31
31
|
* - Windsurf (AI-powered development)
|
package/src/wizard/feedback.js
CHANGED
|
@@ -112,7 +112,7 @@ function completeProgress(progressBar) {
|
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
/**
|
|
115
|
-
* ASCII Art Banner for AIOS
|
|
115
|
+
* ASCII Art Banner for Synkra AIOS
|
|
116
116
|
*/
|
|
117
117
|
const BANNER = `
|
|
118
118
|
āāāāāā āāā āāāāāāā āāāāāāāā āāāāāāāāāāā āāāāāā āāā āāāāāāāāāāāāāāāāā āāāāāā āāāāāāāāāā āāā
|
|
@@ -171,7 +171,7 @@ function showSection(title) {
|
|
|
171
171
|
*/
|
|
172
172
|
function showCancellation() {
|
|
173
173
|
console.log('\n' + colors.warning('Installation cancelled.'));
|
|
174
|
-
console.log(colors.info('Run `npx aios-
|
|
174
|
+
console.log(colors.info('Run `npx @synkra/aios-core@latest init` to try again.\n'));
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
/**
|
package/src/wizard/index.js
CHANGED
|
@@ -180,7 +180,7 @@ async function runWizard() {
|
|
|
180
180
|
const possibleSourceDirs = [
|
|
181
181
|
path.join(__dirname, '..', '..', 'expansion-packs'),
|
|
182
182
|
path.join(__dirname, '..', '..', '..', 'expansion-packs'),
|
|
183
|
-
path.join(process.cwd(), 'node_modules', 'aios-
|
|
183
|
+
path.join(process.cwd(), 'node_modules', '@synkra/aios-core', 'expansion-packs'),
|
|
184
184
|
];
|
|
185
185
|
|
|
186
186
|
let sourceExpansionDir = null;
|
|
@@ -92,7 +92,7 @@ async function generateReport(validationResults) {
|
|
|
92
92
|
lines.push(chalk.bold.red('ā Next Steps:'));
|
|
93
93
|
lines.push(chalk.red(' 1. Review errors above'));
|
|
94
94
|
lines.push(chalk.red(' 2. Fix critical issues'));
|
|
95
|
-
lines.push(chalk.red(' 3. Re-run installation: npx @
|
|
95
|
+
lines.push(chalk.red(' 3. Re-run installation: npx @SynkraAI/aios@latest init'));
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
lines.push('');
|
|
@@ -21,11 +21,11 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
21
21
|
'.env accidentally deleted',
|
|
22
22
|
],
|
|
23
23
|
solutions: [
|
|
24
|
-
'Re-run wizard: npx @
|
|
24
|
+
'Re-run wizard: npx @SynkraAI/aios@latest init',
|
|
25
25
|
'Manually create .env from template: cp .env.example .env',
|
|
26
26
|
'Check file permissions in project directory',
|
|
27
27
|
],
|
|
28
|
-
docs: 'https://docs.
|
|
28
|
+
docs: 'https://docs.SynkraAI.com/installation/environment',
|
|
29
29
|
priority: 'critical',
|
|
30
30
|
},
|
|
31
31
|
|
|
@@ -37,11 +37,11 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
37
37
|
'File creation failed',
|
|
38
38
|
],
|
|
39
39
|
solutions: [
|
|
40
|
-
'Re-run wizard: npx @
|
|
40
|
+
'Re-run wizard: npx @SynkraAI/aios@latest init',
|
|
41
41
|
'Check .aios-core directory exists',
|
|
42
42
|
'Manually create from template',
|
|
43
43
|
],
|
|
44
|
-
docs: 'https://docs.
|
|
44
|
+
docs: 'https://docs.SynkraAI.com/configuration/core-config',
|
|
45
45
|
priority: 'high',
|
|
46
46
|
},
|
|
47
47
|
|
|
@@ -60,7 +60,7 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
60
60
|
'Check MCP service status',
|
|
61
61
|
'Verify npx can access package: npx -y [package-name] --version',
|
|
62
62
|
],
|
|
63
|
-
docs: 'https://docs.
|
|
63
|
+
docs: 'https://docs.SynkraAI.com/mcps/troubleshooting',
|
|
64
64
|
priority: 'medium',
|
|
65
65
|
},
|
|
66
66
|
|
|
@@ -79,7 +79,7 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
79
79
|
'Configure API keys in .env',
|
|
80
80
|
'Delete .mcp.json and reinstall',
|
|
81
81
|
],
|
|
82
|
-
docs: 'https://docs.
|
|
82
|
+
docs: 'https://docs.SynkraAI.com/mcps/troubleshooting',
|
|
83
83
|
priority: 'high',
|
|
84
84
|
},
|
|
85
85
|
|
|
@@ -95,7 +95,7 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
95
95
|
'Copy from template: .env, node_modules, *.key, *.pem',
|
|
96
96
|
'Initialize git if needed: git init',
|
|
97
97
|
],
|
|
98
|
-
docs: 'https://docs.
|
|
98
|
+
docs: 'https://docs.SynkraAI.com/security/gitignore',
|
|
99
99
|
priority: 'high',
|
|
100
100
|
},
|
|
101
101
|
|
|
@@ -114,7 +114,7 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
114
114
|
'Try different package manager: yarn or pnpm',
|
|
115
115
|
'Check disk space: df -h (Unix) or dir (Windows)',
|
|
116
116
|
],
|
|
117
|
-
docs: 'https://docs.
|
|
117
|
+
docs: 'https://docs.SynkraAI.com/installation/dependencies',
|
|
118
118
|
priority: 'critical',
|
|
119
119
|
},
|
|
120
120
|
|
|
@@ -131,7 +131,7 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
131
131
|
'Reinstall: npm install',
|
|
132
132
|
'Try clean install: npm ci',
|
|
133
133
|
],
|
|
134
|
-
docs: 'https://docs.
|
|
134
|
+
docs: 'https://docs.SynkraAI.com/installation/dependencies',
|
|
135
135
|
priority: 'high',
|
|
136
136
|
},
|
|
137
137
|
|
|
@@ -161,7 +161,7 @@ const TROUBLESHOOTING_DATABASE = {
|
|
|
161
161
|
'Run: chmod 600 .env',
|
|
162
162
|
'Verify: ls -la .env',
|
|
163
163
|
],
|
|
164
|
-
docs: 'https://docs.
|
|
164
|
+
docs: 'https://docs.SynkraAI.com/security/file-permissions',
|
|
165
165
|
priority: 'medium',
|
|
166
166
|
},
|
|
167
167
|
};
|
|
@@ -244,15 +244,15 @@ async function offerTroubleshooting(errors) {
|
|
|
244
244
|
if (openDocs) {
|
|
245
245
|
console.log('');
|
|
246
246
|
console.log(chalk.green('š Documentation:'));
|
|
247
|
-
console.log(chalk.green(' https://docs.
|
|
247
|
+
console.log(chalk.green(' https://docs.SynkraAI.com/troubleshooting'));
|
|
248
248
|
console.log('');
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
// Offer support contact
|
|
252
252
|
console.log('');
|
|
253
253
|
console.log(chalk.bold('š¬ Need Help?'));
|
|
254
|
-
console.log(chalk.dim(' - GitHub Issues: https://github.com/
|
|
255
|
-
console.log(chalk.dim(' - Documentation: https://docs.
|
|
254
|
+
console.log(chalk.dim(' - GitHub Issues: https://github.com/SynkraAI/aios/issues'));
|
|
255
|
+
console.log(chalk.dim(' - Documentation: https://docs.SynkraAI.com'));
|
|
256
256
|
console.log('');
|
|
257
257
|
}
|
|
258
258
|
|
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
# validate-structure
|
|
2
|
-
|
|
3
|
-
**Task ID:** validate-structure
|
|
4
|
-
**Version:** 1.0.0
|
|
5
|
-
**Agent:** @architect (Aria)
|
|
6
|
-
**Story:** 6.8 - Source-Tree Guardian
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
Validate file placement decisions against AIOS source-tree standards before implementation begins.
|
|
13
|
-
|
|
14
|
-
**This task is MANDATORY for all stories that create new files.**
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## When to Use
|
|
19
|
-
|
|
20
|
-
- Before starting implementation of any story
|
|
21
|
-
- When planning new modules or features
|
|
22
|
-
- During architecture review
|
|
23
|
-
- Before PR submission
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
## Prerequisites
|
|
28
|
-
|
|
29
|
-
- Story file exists with implementation plan
|
|
30
|
-
- Source-tree-guardian module installed
|
|
31
|
-
- Access to `docs/architecture/source-tree.md`
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Execution
|
|
36
|
-
|
|
37
|
-
### Step 1: List New Files
|
|
38
|
-
|
|
39
|
-
List all files that will be created in this story:
|
|
40
|
-
|
|
41
|
-
| File | Purpose | Category |
|
|
42
|
-
|------|---------|----------|
|
|
43
|
-
| {path} | {purpose} | {agent/task/script/test/etc} |
|
|
44
|
-
|
|
45
|
-
### Step 2: Validate Each File
|
|
46
|
-
|
|
47
|
-
For each file, run placement validation:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
npm run validate:structure -- --check "{file_path}"
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Or validate all planned files at once:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
npm run validate:structure -- --files "{glob_pattern}"
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
### Step 3: Document Decisions
|
|
60
|
-
|
|
61
|
-
Add the following section to the story file:
|
|
62
|
-
|
|
63
|
-
```markdown
|
|
64
|
-
## Structure Validation
|
|
65
|
-
|
|
66
|
-
| File | Validated Location | Approved |
|
|
67
|
-
|------|-------------------|----------|
|
|
68
|
-
| {file} | {location} | ā
/ā |
|
|
69
|
-
|
|
70
|
-
**Validated by:** @architect (Aria)
|
|
71
|
-
**Date:** {YYYY-MM-DD}
|
|
72
|
-
**Violations:** {count}
|
|
73
|
-
**Notes:** {any special decisions}
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Step 4: Handle Violations
|
|
77
|
-
|
|
78
|
-
If violations exist:
|
|
79
|
-
|
|
80
|
-
1. **Review the violation message** - Understand why the location is flagged
|
|
81
|
-
2. **Propose correct location** - Use suggested location or justify alternative
|
|
82
|
-
3. **Get PO approval** - If deviation from standard is needed
|
|
83
|
-
4. **Document reasoning** - Create ADR if significant deviation
|
|
84
|
-
5. **Update story** - Mark as resolved or approved exception
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Task Definition (YAML)
|
|
89
|
-
|
|
90
|
-
```yaml
|
|
91
|
-
task: validateStructure()
|
|
92
|
-
responsƔvel: Aria (Architect)
|
|
93
|
-
responsavel_type: Agente
|
|
94
|
-
atomic_layer: Molecule
|
|
95
|
-
elicit: true
|
|
96
|
-
|
|
97
|
-
Entrada:
|
|
98
|
-
- campo: story_files
|
|
99
|
-
tipo: array
|
|
100
|
-
origem: Story implementation plan
|
|
101
|
-
obrigatório: true
|
|
102
|
-
descrição: List of files to be created/modified
|
|
103
|
-
|
|
104
|
-
- campo: story_path
|
|
105
|
-
tipo: string
|
|
106
|
-
origem: User input or context
|
|
107
|
-
obrigatório: true
|
|
108
|
-
descrição: Path to the story file
|
|
109
|
-
|
|
110
|
-
SaĆda:
|
|
111
|
-
- campo: placement_report
|
|
112
|
-
tipo: object
|
|
113
|
-
destino: Story file (## Structure Validation section)
|
|
114
|
-
persistido: true
|
|
115
|
-
|
|
116
|
-
- campo: violations
|
|
117
|
-
tipo: array
|
|
118
|
-
destino: Console output
|
|
119
|
-
persistido: false
|
|
120
|
-
|
|
121
|
-
Elicitation:
|
|
122
|
-
- prompt: "What files will be created in this story?"
|
|
123
|
-
type: list
|
|
124
|
-
required: true
|
|
125
|
-
help: "List each file with its full path"
|
|
126
|
-
|
|
127
|
-
- prompt: "For each file, what is its purpose?"
|
|
128
|
-
type: text
|
|
129
|
-
required: true
|
|
130
|
-
help: "Brief description of what each file does"
|
|
131
|
-
|
|
132
|
-
- prompt: "What category does each file belong to?"
|
|
133
|
-
type: select
|
|
134
|
-
options:
|
|
135
|
-
- agent
|
|
136
|
-
- task
|
|
137
|
-
- script
|
|
138
|
-
- template
|
|
139
|
-
- checklist
|
|
140
|
-
- test
|
|
141
|
-
- documentation
|
|
142
|
-
- configuration
|
|
143
|
-
- other
|
|
144
|
-
required: true
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## Checklist
|
|
150
|
-
|
|
151
|
-
Use this checklist to ensure complete validation:
|
|
152
|
-
|
|
153
|
-
- [ ] All new files have been listed
|
|
154
|
-
- [ ] Each file has been validated against source-tree.md
|
|
155
|
-
- [ ] Placement decisions are documented in story
|
|
156
|
-
- [ ] Any violations have been resolved or approved
|
|
157
|
-
- [ ] @architect sign-off is complete
|
|
158
|
-
- [ ] Story "Structure Validation" section is populated
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## CLI Commands Reference
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
# Full validation
|
|
166
|
-
npm run validate:structure
|
|
167
|
-
|
|
168
|
-
# Check single file
|
|
169
|
-
npm run validate:structure -- --check "path/to/file.js"
|
|
170
|
-
|
|
171
|
-
# Check multiple files with glob
|
|
172
|
-
npm run validate:structure -- --files "src/**/*.js"
|
|
173
|
-
|
|
174
|
-
# Generate manifest
|
|
175
|
-
npm run validate:structure -- --generate-manifest
|
|
176
|
-
|
|
177
|
-
# Show suggestions for violations
|
|
178
|
-
npm run validate:structure -- --fix
|
|
179
|
-
|
|
180
|
-
# JSON output for automation
|
|
181
|
-
npm run validate:structure -- --json
|
|
182
|
-
|
|
183
|
-
# Verbose output
|
|
184
|
-
npm run validate:structure -- --verbose
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Common Violations & Resolutions
|
|
190
|
-
|
|
191
|
-
### Scripts at Root Level
|
|
192
|
-
|
|
193
|
-
**Violation:** `Scripts at root level are not allowed`
|
|
194
|
-
|
|
195
|
-
**Resolution:**
|
|
196
|
-
- Move to `.aios-core/infrastructure/scripts/{category}/`
|
|
197
|
-
- Example: `scripts/foo.js` ā `.aios-core/infrastructure/scripts/foo.js`
|
|
198
|
-
|
|
199
|
-
### Tools at Root Level
|
|
200
|
-
|
|
201
|
-
**Violation:** `Tool definitions at root level are not allowed`
|
|
202
|
-
|
|
203
|
-
**Resolution:**
|
|
204
|
-
- Move to `.aios-core/infrastructure/tools/cli/` for CLI tools
|
|
205
|
-
- Move to `.aios-core/infrastructure/tools/mcp/` for MCP tools
|
|
206
|
-
|
|
207
|
-
### Agents in Wrong Location
|
|
208
|
-
|
|
209
|
-
**Violation:** `Agent files at root level are not allowed`
|
|
210
|
-
|
|
211
|
-
**Resolution:**
|
|
212
|
-
- Move to `.aios-core/development/agents/`
|
|
213
|
-
- Ensure naming follows kebab-case: `{agent-name}.md`
|
|
214
|
-
|
|
215
|
-
### Tasks in Wrong Location
|
|
216
|
-
|
|
217
|
-
**Violation:** `Task files at root level are not allowed`
|
|
218
|
-
|
|
219
|
-
**Resolution:**
|
|
220
|
-
- Move to `.aios-core/development/tasks/`
|
|
221
|
-
- Ensure naming follows kebab-case: `{task-name}.md`
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
|
|
225
|
-
## Integration Points
|
|
226
|
-
|
|
227
|
-
- **Pre-commit Hook:** Runs automatically on `git commit`
|
|
228
|
-
- **CI/CD Pipeline:** Can be integrated with `npm run validate:structure -- --json`
|
|
229
|
-
- **Story Workflow:** Executed by @architect before @dev implementation
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## Related Resources
|
|
234
|
-
|
|
235
|
-
- [Source Tree Structure](../../docs/architecture/source-tree.md)
|
|
236
|
-
- [Coding Standards](../../docs/architecture/coding-standards.md)
|
|
237
|
-
- [Story 6.8: Source-Tree Guardian](../../docs/stories/v2.1/sprint-6/story-6.8-source-tree-guardian.md)
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
**Created:** 2025-12-14
|
|
242
|
-
**Author:** @architect (Aria)
|
|
243
|
-
**Story:** 6.8 - Source-Tree Guardian
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Final TODO Count Script
|
|
5
|
-
* Story 6.1.7.1 - Task Content Completion
|
|
6
|
-
*
|
|
7
|
-
* Counts all remaining TODOs in task files
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
const fs = require('fs');
|
|
11
|
-
const path = require('path');
|
|
12
|
-
|
|
13
|
-
const TASKS_DIR = path.join(process.cwd(), '.aios-core', 'tasks');
|
|
14
|
-
const REPORT_FILE = path.join(process.cwd(), '.ai', 'final-todo-count-report.json');
|
|
15
|
-
|
|
16
|
-
// All TODO patterns to search for
|
|
17
|
-
const TODO_PATTERNS = [
|
|
18
|
-
{ pattern: /\{TODO:/g, description: 'Generic TODO placeholder' },
|
|
19
|
-
{ pattern: /todo:/gi, description: 'Lowercase todo' },
|
|
20
|
-
];
|
|
21
|
-
|
|
22
|
-
// Get all task files
|
|
23
|
-
function getAllTaskFiles() {
|
|
24
|
-
return fs.readdirSync(TASKS_DIR)
|
|
25
|
-
.filter(f => f.endsWith('.md') && !f.includes('.pre-task-id-fix') && !f.includes('.v1-backup'));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// Count TODOs in a file
|
|
29
|
-
function countTodosInFile(filename) {
|
|
30
|
-
const filePath = path.join(TASKS_DIR, filename);
|
|
31
|
-
const content = fs.readFileSync(filePath, 'utf8');
|
|
32
|
-
|
|
33
|
-
let todoCount = 0;
|
|
34
|
-
const todos = [];
|
|
35
|
-
|
|
36
|
-
TODO_PATTERNS.forEach(({ pattern, description }) => {
|
|
37
|
-
const matches = content.match(pattern);
|
|
38
|
-
if (matches) {
|
|
39
|
-
todoCount += matches.length;
|
|
40
|
-
matches.forEach((match, idx) => {
|
|
41
|
-
// Find the line number
|
|
42
|
-
const lines = content.split('\n');
|
|
43
|
-
let lineNum = 0;
|
|
44
|
-
let charCount = 0;
|
|
45
|
-
for (let i = 0; i < lines.length; i++) {
|
|
46
|
-
charCount += lines[i].length + 1; // +1 for newline
|
|
47
|
-
if (content.indexOf(match, charCount - lines[i].length - 1) < charCount) {
|
|
48
|
-
lineNum = i + 1;
|
|
49
|
-
const contextStart = Math.max(0, lines[i].indexOf(match) - 20);
|
|
50
|
-
const contextEnd = Math.min(lines[i].length, lines[i].indexOf(match) + match.length + 50);
|
|
51
|
-
const context = lines[i].substring(contextStart, contextEnd);
|
|
52
|
-
todos.push({
|
|
53
|
-
line: lineNum,
|
|
54
|
-
match: match,
|
|
55
|
-
context: context.trim(),
|
|
56
|
-
});
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
return {
|
|
65
|
-
filename,
|
|
66
|
-
todoCount,
|
|
67
|
-
todos: todos.slice(0, 10), // Limit to first 10 for report brevity
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// Main execution
|
|
72
|
-
function main() {
|
|
73
|
-
console.log('š Final TODO Count');
|
|
74
|
-
console.log('===================\n');
|
|
75
|
-
|
|
76
|
-
const allFiles = getAllTaskFiles();
|
|
77
|
-
console.log(`š Scanning ${allFiles.length} task files...\n`);
|
|
78
|
-
|
|
79
|
-
const results = {
|
|
80
|
-
timestamp: new Date().toISOString(),
|
|
81
|
-
totalFiles: allFiles.length,
|
|
82
|
-
filesWithTodos: 0,
|
|
83
|
-
totalTodos: 0,
|
|
84
|
-
details: [],
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
allFiles.forEach((filename, index) => {
|
|
88
|
-
const fileResults = countTodosInFile(filename);
|
|
89
|
-
|
|
90
|
-
if (fileResults.todoCount > 0) {
|
|
91
|
-
results.filesWithTodos++;
|
|
92
|
-
results.totalTodos += fileResults.todoCount;
|
|
93
|
-
results.details.push(fileResults);
|
|
94
|
-
console.log(`ā ļø [${index + 1}/${allFiles.length}] ${filename}: ${fileResults.todoCount} TODOs remaining`);
|
|
95
|
-
} else {
|
|
96
|
-
if (index < 10) {
|
|
97
|
-
console.log(`ā
[${index + 1}/${allFiles.length}] ${filename}: No TODOs`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
console.log('\nš Summary:');
|
|
103
|
-
console.log('===========');
|
|
104
|
-
console.log(`Total files scanned: ${results.totalFiles}`);
|
|
105
|
-
console.log(`Files with TODOs: ${results.filesWithTodos}`);
|
|
106
|
-
console.log(`Total TODOs remaining: ${results.totalTodos}`);
|
|
107
|
-
|
|
108
|
-
if (results.totalTodos === 0) {
|
|
109
|
-
console.log('\nš SUCCESS: All TODOs resolved! ā
');
|
|
110
|
-
} else {
|
|
111
|
-
console.log(`\nā ļø WARNING: ${results.totalTodos} TODOs still need resolution`);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// Write report
|
|
115
|
-
fs.writeFileSync(REPORT_FILE, JSON.stringify(results, null, 2));
|
|
116
|
-
console.log(`\nā
Report saved: ${REPORT_FILE}`);
|
|
117
|
-
|
|
118
|
-
process.exit(results.totalTodos > 0 ? 1 : 0);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
main();
|
|
122
|
-
|