aios-core 2.1.6 ā 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aios-core/core/README.md +229 -229
- package/.aios-core/core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/core/data/aios-kb.md +923 -923
- package/.aios-core/core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/core/docs/component-creation-guide.md +457 -457
- package/.aios-core/core/docs/session-update-pattern.md +307 -307
- package/.aios-core/core/docs/template-syntax.md +266 -266
- package/.aios-core/core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/core/elicitation/elicitation-engine.js +1 -1
- package/.aios-core/core/index.esm.js +42 -42
- package/.aios-core/core/index.js +1 -1
- package/.aios-core/core/migration/migration-config.yaml +83 -83
- package/.aios-core/core/migration/module-mapping.yaml +89 -89
- package/.aios-core/core/quality-gates/layer2-pr-automation.js +1 -1
- package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -86
- package/.aios-core/core/registry/README.md +179 -179
- package/.aios-core/core/utils/security-utils.js +1 -1
- package/.aios-core/core-config.yaml +391 -382
- package/.aios-core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/data/aios-kb.md +923 -923
- package/.aios-core/data/technical-preferences.md +3 -3
- package/.aios-core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/development/README.md +142 -142
- package/.aios-core/development/agent-teams/team-all.yaml +15 -15
- package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -18
- package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -10
- package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -13
- package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -155
- package/.aios-core/development/agents/aios-master.md +339 -339
- package/.aios-core/development/agents/analyst.md +195 -195
- package/.aios-core/development/agents/architect.md +359 -359
- package/.aios-core/development/agents/data-engineer.md +468 -468
- package/.aios-core/development/agents/dev.md +390 -390
- package/.aios-core/development/agents/devops.md +398 -398
- package/.aios-core/development/agents/pm.md +198 -198
- package/.aios-core/development/agents/po.md +256 -256
- package/.aios-core/development/agents/qa.md +312 -312
- package/.aios-core/development/agents/sm.md +220 -220
- package/.aios-core/development/agents/ux-design-expert.md +451 -451
- package/.aios-core/development/scripts/greeting-config-cli.js +85 -85
- package/.aios-core/development/tasks/add-mcp.md +319 -319
- package/.aios-core/development/tasks/advanced-elicitation.md +318 -318
- package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +341 -341
- package/.aios-core/development/tasks/analyze-framework.md +696 -696
- package/.aios-core/development/tasks/analyze-performance.md +637 -637
- package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
- package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
- package/.aios-core/development/tasks/audit-codebase.md +429 -429
- package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
- package/.aios-core/development/tasks/audit-utilities.md +358 -358
- package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
- package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
- package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
- package/.aios-core/development/tasks/build-component.md +478 -478
- package/.aios-core/development/tasks/calculate-roi.md +455 -455
- package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
- package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
- package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
- package/.aios-core/development/tasks/compose-molecule.md +284 -284
- package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
- package/.aios-core/development/tasks/correct-course.md +279 -279
- package/.aios-core/development/tasks/create-agent.md +321 -321
- package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
- package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
- package/.aios-core/development/tasks/create-doc.md +316 -316
- package/.aios-core/development/tasks/create-next-story.md +774 -774
- package/.aios-core/development/tasks/create-suite.md +283 -283
- package/.aios-core/development/tasks/create-task.md +371 -371
- package/.aios-core/development/tasks/create-workflow.md +370 -370
- package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
- package/.aios-core/development/tasks/db-apply-migration.md +381 -381
- package/.aios-core/development/tasks/db-bootstrap.md +642 -642
- package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
- package/.aios-core/development/tasks/db-dry-run.md +293 -293
- package/.aios-core/development/tasks/db-env-check.md +260 -260
- package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
- package/.aios-core/development/tasks/db-explain.md +631 -631
- package/.aios-core/development/tasks/db-impersonate.md +495 -495
- package/.aios-core/development/tasks/db-load-csv.md +593 -593
- package/.aios-core/development/tasks/db-policy-apply.md +653 -653
- package/.aios-core/development/tasks/db-rls-audit.md +411 -411
- package/.aios-core/development/tasks/db-rollback.md +739 -739
- package/.aios-core/development/tasks/db-run-sql.md +613 -613
- package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
- package/.aios-core/development/tasks/db-seed.md +390 -390
- package/.aios-core/development/tasks/db-smoke-test.md +351 -351
- package/.aios-core/development/tasks/db-snapshot.md +569 -569
- package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
- package/.aios-core/development/tasks/db-verify-order.md +515 -515
- package/.aios-core/development/tasks/deprecate-component.md +956 -956
- package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
- package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
- package/.aios-core/development/tasks/dev-develop-story.md +846 -846
- package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
- package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
- package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
- package/.aios-core/development/tasks/document-project.md +552 -552
- package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
- package/.aios-core/development/tasks/execute-checklist.md +301 -301
- package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
- package/.aios-core/development/tasks/extend-pattern.md +269 -269
- package/.aios-core/development/tasks/extract-tokens.md +467 -467
- package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
- package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
- package/.aios-core/development/tasks/generate-documentation.md +284 -284
- package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
- package/.aios-core/development/tasks/generate-shock-report.md +501 -501
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
- package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
- package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
- package/.aios-core/development/tasks/improve-self.md +822 -822
- package/.aios-core/development/tasks/index-docs.md +387 -387
- package/.aios-core/development/tasks/init-project-status.md +506 -506
- package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
- package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
- package/.aios-core/development/tasks/learn-patterns.md +900 -900
- package/.aios-core/development/tasks/mcp-workflow.md +437 -437
- package/.aios-core/development/tasks/modify-agent.md +381 -381
- package/.aios-core/development/tasks/modify-task.md +424 -424
- package/.aios-core/development/tasks/modify-workflow.md +465 -465
- package/.aios-core/development/tasks/po-backlog-add.md +370 -370
- package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
- package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
- package/.aios-core/development/tasks/po-pull-story.md +316 -316
- package/.aios-core/development/tasks/po-stories-index.md +351 -351
- package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
- package/.aios-core/development/tasks/po-sync-story.md +303 -303
- package/.aios-core/development/tasks/pr-automation.md +701 -701
- package/.aios-core/development/tasks/propose-modification.md +842 -842
- package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
- package/.aios-core/development/tasks/qa-gate.md +373 -373
- package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
- package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
- package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
- package/.aios-core/development/tasks/qa-review-story.md +682 -682
- package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
- package/.aios-core/development/tasks/qa-run-tests.md +277 -277
- package/.aios-core/development/tasks/qa-test-design.md +387 -387
- package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
- package/.aios-core/development/tasks/release-management.md +723 -723
- package/.aios-core/development/tasks/security-audit.md +554 -554
- package/.aios-core/development/tasks/security-scan.md +790 -790
- package/.aios-core/development/tasks/setup-database.md +741 -741
- package/.aios-core/development/tasks/setup-design-system.md +462 -462
- package/.aios-core/development/tasks/setup-github.md +874 -874
- package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
- package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
- package/.aios-core/development/tasks/setup-project-docs.md +1 -1
- package/.aios-core/development/tasks/shard-doc.md +537 -537
- package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
- package/.aios-core/development/tasks/sync-documentation.md +864 -864
- package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
- package/.aios-core/development/tasks/test-as-user.md +621 -621
- package/.aios-core/development/tasks/test-validation-task.md +171 -171
- package/.aios-core/development/tasks/undo-last.md +346 -346
- package/.aios-core/development/tasks/update-manifest.md +409 -409
- package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
- package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
- package/.aios-core/development/tasks/ux-user-research.md +559 -559
- package/.aios-core/development/tasks/validate-next-story.md +422 -422
- package/.aios-core/development/workflows/README.md +83 -83
- package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
- package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
- package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
- package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
- package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
- package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/docs/component-creation-guide.md +457 -457
- package/.aios-core/docs/session-update-pattern.md +307 -307
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
- package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
- package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
- package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
- package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
- package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
- package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
- package/.aios-core/docs/template-syntax.md +266 -266
- package/.aios-core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/index.esm.js +15 -15
- package/.aios-core/index.js +1 -1
- package/.aios-core/infrastructure/README.md +126 -126
- package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
- package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
- package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
- package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
- package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
- package/.aios-core/infrastructure/scripts/component-search.js +1 -1
- package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
- package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
- package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
- package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
- package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
- package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
- package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
- package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
- package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
- package/.aios-core/infrastructure/tools/README.md +222 -222
- package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
- package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
- package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
- package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
- package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
- package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
- package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
- package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
- package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
- package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
- package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
- package/.aios-core/install-manifest.yaml +347 -347
- package/.aios-core/product/README.md +56 -56
- package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
- package/.aios-core/product/checklists/architect-checklist.md +443 -443
- package/.aios-core/product/checklists/change-checklist.md +182 -182
- package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
- package/.aios-core/product/checklists/database-design-checklist.md +119 -119
- package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
- package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
- package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
- package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
- package/.aios-core/product/checklists/pm-checklist.md +375 -375
- package/.aios-core/product/checklists/po-master-checklist.md +441 -441
- package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
- package/.aios-core/product/checklists/release-checklist.md +122 -122
- package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
- package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
- package/.aios-core/product/data/atomic-design-principles.md +108 -0
- package/.aios-core/product/data/brainstorming-techniques.md +36 -36
- package/.aios-core/product/data/consolidation-algorithms.md +142 -0
- package/.aios-core/product/data/database-best-practices.md +182 -0
- package/.aios-core/product/data/design-token-best-practices.md +107 -0
- package/.aios-core/product/data/elicitation-methods.md +134 -134
- package/.aios-core/product/data/integration-patterns.md +207 -0
- package/.aios-core/product/data/migration-safety-guide.md +329 -0
- package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
- package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
- package/.aios-core/product/data/rls-security-patterns.md +333 -0
- package/.aios-core/product/data/roi-calculation-guide.md +142 -0
- package/.aios-core/product/data/supabase-patterns.md +330 -0
- package/.aios-core/product/data/test-levels-framework.md +148 -148
- package/.aios-core/product/data/test-priorities-matrix.md +174 -174
- package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
- package/.aios-core/product/templates/1mcp-config.yaml +225 -225
- package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
- package/.aios-core/product/templates/activation-instructions-template.md +258 -258
- package/.aios-core/product/templates/agent-template.yaml +120 -120
- package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
- package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
- package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
- package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
- package/.aios-core/product/templates/changelog-template.md +134 -134
- package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
- package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
- package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
- package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
- package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
- package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
- package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
- package/.aios-core/product/templates/github-pr-template.md +67 -67
- package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
- package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
- package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
- package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
- package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
- package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
- package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
- package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
- package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
- package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
- package/.aios-core/product/templates/mcp-workflow.js +271 -271
- package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
- package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
- package/.aios-core/product/templates/personalized-agent-template.md +258 -258
- package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
- package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
- package/.aios-core/product/templates/personalized-task-template.md +344 -344
- package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
- package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
- package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
- package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
- package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
- package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
- package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
- package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
- package/.aios-core/product/templates/story-tmpl.yaml +331 -331
- package/.aios-core/product/templates/task-execution-report.md +495 -495
- package/.aios-core/product/templates/task-template.md +122 -122
- package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
- package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
- package/.aios-core/product/templates/workflow-template.yaml +133 -133
- package/.aios-core/scripts/README.md +354 -354
- package/.aios-core/scripts/aios-doc-template.md +325 -325
- package/.aios-core/scripts/elicitation-engine.js +1 -1
- package/.aios-core/scripts/test-template-system.js +1 -1
- package/.aios-core/scripts/workflow-management.md +69 -69
- package/.aios-core/user-guide.md +1413 -1413
- package/.aios-core/working-in-the-brownfield.md +361 -361
- package/LICENSE +1 -1
- package/README.md +704 -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 -11
- package/packages/installer/src/config/templates/env-template.js +27 -4
- package/packages/installer/src/detection/detect-project-type.js +81 -81
- package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
- package/packages/installer/tests/unit/env-template.test.js +8 -8
- package/src/config/ide-configs.js +1 -1
- package/src/wizard/feedback.js +2 -2
- package/src/wizard/index.js +1 -1
- package/src/wizard/validation/report-generator.js +1 -1
- package/src/wizard/validation/troubleshooting-system.js +13 -13
- package/tools/diagnose-installation.js +266 -0
- package/tools/diagnose-npx-issue.ps1 +96 -0
- package/tools/quick-diagnose.cmd +85 -0
- package/tools/quick-diagnose.ps1 +117 -0
- package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
- package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
- package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
- package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
- package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
- package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
- package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
- package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
- package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
- package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
- package/.aios-core/tasks/find-component.md.legacy +0 -391
- package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
- package/.aios-core/tasks/generate-migration.md.legacy +0 -382
- package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
- package/.aios-core/tasks/update-tests.md.legacy +0 -283
|
@@ -1,483 +1,483 @@
|
|
|
1
|
-
# version-management.md
|
|
2
|
-
|
|
3
|
-
**Task**: Semantic Version Management (Repository-Agnostic)
|
|
4
|
-
|
|
5
|
-
**Purpose**: Analyze changes, recommend version bumps, and manage semantic versioning for ANY repository using AIOS.
|
|
6
|
-
|
|
7
|
-
**When to use**: Before creating a release, to determine appropriate version number based on changes.
|
|
8
|
-
|
|
9
|
-
## Execution Modes
|
|
10
|
-
|
|
11
|
-
**Choose your execution mode:**
|
|
12
|
-
|
|
13
|
-
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
14
|
-
- Autonomous decision making with logging
|
|
15
|
-
- Minimal user interaction
|
|
16
|
-
- **Best for:** Simple, deterministic tasks
|
|
17
|
-
|
|
18
|
-
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
19
|
-
- Explicit decision checkpoints
|
|
20
|
-
- Educational explanations
|
|
21
|
-
- **Best for:** Learning, complex decisions
|
|
22
|
-
|
|
23
|
-
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
24
|
-
- Task analysis phase (identify all ambiguities)
|
|
25
|
-
- Zero ambiguity execution
|
|
26
|
-
- **Best for:** Ambiguous requirements, critical work
|
|
27
|
-
|
|
28
|
-
**Parameter:** `mode` (optional, default: `interactive`)
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
## Task Definition (AIOS Task Format V1.0)
|
|
33
|
-
|
|
34
|
-
```yaml
|
|
35
|
-
task: githubDevopsVersionManagement()
|
|
36
|
-
responsƔvel: Gage (Automator)
|
|
37
|
-
responsavel_type: Agente
|
|
38
|
-
atomic_layer: Organism
|
|
39
|
-
|
|
40
|
-
**Entrada:**
|
|
41
|
-
- campo: task
|
|
42
|
-
tipo: string
|
|
43
|
-
origem: User Input
|
|
44
|
-
obrigatório: true
|
|
45
|
-
validação: Must be registered task
|
|
46
|
-
|
|
47
|
-
- campo: parameters
|
|
48
|
-
tipo: object
|
|
49
|
-
origem: User Input
|
|
50
|
-
obrigatório: false
|
|
51
|
-
validação: Valid task parameters
|
|
52
|
-
|
|
53
|
-
- campo: mode
|
|
54
|
-
tipo: string
|
|
55
|
-
origem: User Input
|
|
56
|
-
obrigatório: false
|
|
57
|
-
validação: yolo|interactive|pre-flight
|
|
58
|
-
|
|
59
|
-
**SaĆda:**
|
|
60
|
-
- campo: execution_result
|
|
61
|
-
tipo: object
|
|
62
|
-
destino: Memory
|
|
63
|
-
persistido: false
|
|
64
|
-
|
|
65
|
-
- campo: logs
|
|
66
|
-
tipo: array
|
|
67
|
-
destino: File (.ai/logs/*)
|
|
68
|
-
persistido: true
|
|
69
|
-
|
|
70
|
-
- campo: state
|
|
71
|
-
tipo: object
|
|
72
|
-
destino: State management
|
|
73
|
-
persistido: true
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Pre-Conditions
|
|
79
|
-
|
|
80
|
-
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
81
|
-
|
|
82
|
-
**Checklist:**
|
|
83
|
-
|
|
84
|
-
```yaml
|
|
85
|
-
pre-conditions:
|
|
86
|
-
- [ ] Task is registered; required parameters provided; dependencies met
|
|
87
|
-
tipo: pre-condition
|
|
88
|
-
blocker: true
|
|
89
|
-
validação: |
|
|
90
|
-
Check task is registered; required parameters provided; dependencies met
|
|
91
|
-
error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Post-Conditions
|
|
97
|
-
|
|
98
|
-
**Purpose:** Validate execution success AFTER task completes
|
|
99
|
-
|
|
100
|
-
**Checklist:**
|
|
101
|
-
|
|
102
|
-
```yaml
|
|
103
|
-
post-conditions:
|
|
104
|
-
- [ ] Task completed; exit code 0; expected outputs created
|
|
105
|
-
tipo: post-condition
|
|
106
|
-
blocker: true
|
|
107
|
-
validação: |
|
|
108
|
-
Verify task completed; exit code 0; expected outputs created
|
|
109
|
-
error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Acceptance Criteria
|
|
115
|
-
|
|
116
|
-
**Purpose:** Definitive pass/fail criteria for task completion
|
|
117
|
-
|
|
118
|
-
**Checklist:**
|
|
119
|
-
|
|
120
|
-
```yaml
|
|
121
|
-
acceptance-criteria:
|
|
122
|
-
- [ ] Task completed as expected; side effects documented
|
|
123
|
-
tipo: acceptance-criterion
|
|
124
|
-
blocker: true
|
|
125
|
-
validação: |
|
|
126
|
-
Assert task completed as expected; side effects documented
|
|
127
|
-
error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## Tools
|
|
133
|
-
|
|
134
|
-
**External/shared resources used by this task:**
|
|
135
|
-
|
|
136
|
-
- **Tool:** task-runner
|
|
137
|
-
- **Purpose:** Task execution and orchestration
|
|
138
|
-
- **Source:** .aios-core/core/task-runner.js
|
|
139
|
-
|
|
140
|
-
- **Tool:** logger
|
|
141
|
-
- **Purpose:** Execution logging and error tracking
|
|
142
|
-
- **Source:** .aios-core/utils/logger.js
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## Scripts
|
|
147
|
-
|
|
148
|
-
**Agent-specific code for this task:**
|
|
149
|
-
|
|
150
|
-
- **Script:** execute-task.js
|
|
151
|
-
- **Purpose:** Generic task execution wrapper
|
|
152
|
-
- **Language:** JavaScript
|
|
153
|
-
- **Location:** .aios-core/scripts/execute-task.js
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## Error Handling
|
|
158
|
-
|
|
159
|
-
**Strategy:** retry
|
|
160
|
-
|
|
161
|
-
**Common Errors:**
|
|
162
|
-
|
|
163
|
-
1. **Error:** Task Not Found
|
|
164
|
-
- **Cause:** Specified task not registered in system
|
|
165
|
-
- **Resolution:** Verify task name and registration
|
|
166
|
-
- **Recovery:** List available tasks, suggest similar
|
|
167
|
-
|
|
168
|
-
2. **Error:** Invalid Parameters
|
|
169
|
-
- **Cause:** Task parameters do not match expected schema
|
|
170
|
-
- **Resolution:** Validate parameters against task definition
|
|
171
|
-
- **Recovery:** Provide parameter template, reject execution
|
|
172
|
-
|
|
173
|
-
3. **Error:** Execution Timeout
|
|
174
|
-
- **Cause:** Task exceeds maximum execution time
|
|
175
|
-
- **Resolution:** Optimize task or increase timeout
|
|
176
|
-
- **Recovery:** Kill task, cleanup resources, log state
|
|
177
|
-
|
|
178
|
-
---
|
|
179
|
-
|
|
180
|
-
## Performance
|
|
181
|
-
|
|
182
|
-
**Expected Metrics:**
|
|
183
|
-
|
|
184
|
-
```yaml
|
|
185
|
-
duration_expected: 5-15 min (estimated)
|
|
186
|
-
cost_estimated: $0.003-0.010
|
|
187
|
-
token_usage: ~3,000-10,000 tokens
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
**Optimization Notes:**
|
|
191
|
-
- Break into smaller workflows; implement checkpointing; use async processing where possible
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## Metadata
|
|
196
|
-
|
|
197
|
-
```yaml
|
|
198
|
-
story: N/A
|
|
199
|
-
version: 1.0.0
|
|
200
|
-
dependencies:
|
|
201
|
-
- N/A
|
|
202
|
-
tags:
|
|
203
|
-
- automation
|
|
204
|
-
- workflow
|
|
205
|
-
updated_at: 2025-11-17
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
## Prerequisites
|
|
212
|
-
- Git repository with commit history
|
|
213
|
-
- package.json with current version
|
|
214
|
-
- Understanding of semantic versioning (MAJOR.MINOR.PATCH)
|
|
215
|
-
|
|
216
|
-
## Semantic Versioning Rules
|
|
217
|
-
|
|
218
|
-
- **MAJOR** (v4.0.0 ā v5.0.0): Breaking changes, API redesign
|
|
219
|
-
- **MINOR** (v4.31.0 ā v4.32.0): New features, backward compatible
|
|
220
|
-
- **PATCH** (v4.31.0 ā v4.31.1): Bug fixes only
|
|
221
|
-
|
|
222
|
-
## Keywords for Detection
|
|
223
|
-
|
|
224
|
-
**Breaking Changes** (MAJOR):
|
|
225
|
-
- `BREAKING CHANGE:`
|
|
226
|
-
- `BREAKING:`
|
|
227
|
-
- `!` in commit type (e.g., `feat!:`)
|
|
228
|
-
- API redesign
|
|
229
|
-
- Removed functionality
|
|
230
|
-
- Incompatible changes
|
|
231
|
-
|
|
232
|
-
**New Features** (MINOR):
|
|
233
|
-
- `feat:`
|
|
234
|
-
- `feature:`
|
|
235
|
-
- New capability
|
|
236
|
-
- Enhancement
|
|
237
|
-
|
|
238
|
-
**Bug Fixes** (PATCH):
|
|
239
|
-
- `fix:`
|
|
240
|
-
- `bugfix:`
|
|
241
|
-
- `hotfix:`
|
|
242
|
-
- Patch
|
|
243
|
-
|
|
244
|
-
## Workflow Steps
|
|
245
|
-
|
|
246
|
-
### Step 1: Detect Repository Context
|
|
247
|
-
|
|
248
|
-
```javascript
|
|
249
|
-
const { detectRepositoryContext } = require('./../scripts/repository-detector');
|
|
250
|
-
const context = detectRepositoryContext();
|
|
251
|
-
|
|
252
|
-
if (!context) {
|
|
253
|
-
throw new Error('Unable to detect repository context. Run "aios init" first.');
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
console.log(`š¦ Analyzing version for: ${context.packageName}`);
|
|
257
|
-
console.log(`Current version: ${context.packageVersion}`);
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
### Step 2: Get Last Git Tag
|
|
261
|
-
|
|
262
|
-
```bash
|
|
263
|
-
git describe --tags --abbrev=0
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
If no tags exist, use `v0.0.0` as baseline.
|
|
267
|
-
|
|
268
|
-
### Step 3: Analyze Commits Since Last Tag
|
|
269
|
-
|
|
270
|
-
```bash
|
|
271
|
-
git log <last-tag>..HEAD --oneline
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
Parse each commit message:
|
|
275
|
-
- Count breaking changes
|
|
276
|
-
- Count features
|
|
277
|
-
- Count fixes
|
|
278
|
-
|
|
279
|
-
### Step 4: Recommend Version Bump
|
|
280
|
-
|
|
281
|
-
**Logic**:
|
|
282
|
-
1. If `breakingChanges > 0` ā MAJOR bump
|
|
283
|
-
2. Else if `features > 0` ā MINOR bump
|
|
284
|
-
3. Else if `fixes > 0` ā PATCH bump
|
|
285
|
-
4. Else ā No version bump needed
|
|
286
|
-
|
|
287
|
-
### Step 5: User Confirmation
|
|
288
|
-
|
|
289
|
-
Present recommendation:
|
|
290
|
-
|
|
291
|
-
```
|
|
292
|
-
š Version Analysis
|
|
293
|
-
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
294
|
-
Current version: v4.31.0
|
|
295
|
-
Recommended: v4.32.0 (MINOR)
|
|
296
|
-
|
|
297
|
-
Changes since v4.31.0:
|
|
298
|
-
Breaking changes: 0
|
|
299
|
-
New features: 3
|
|
300
|
-
Bug fixes: 2
|
|
301
|
-
|
|
302
|
-
Reason: New features detected (backward compatible)
|
|
303
|
-
|
|
304
|
-
Proceed with version v4.32.0? (Y/n)
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
### Step 6: Update package.json
|
|
308
|
-
|
|
309
|
-
```javascript
|
|
310
|
-
const fs = require('fs');
|
|
311
|
-
const path = require('path');
|
|
312
|
-
|
|
313
|
-
const packageJsonPath = path.join(context.projectRoot, 'package.json');
|
|
314
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
315
|
-
|
|
316
|
-
packageJson.version = newVersion;
|
|
317
|
-
|
|
318
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
|
|
319
|
-
console.log(`ā Updated package.json to ${newVersion}`);
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
### Step 7: Create Git Tag
|
|
323
|
-
|
|
324
|
-
```bash
|
|
325
|
-
git tag -a v<newVersion> -m "Release v<newVersion>"
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
### Step 8: Generate Changelog
|
|
329
|
-
|
|
330
|
-
Extract commits since last tag and format:
|
|
331
|
-
|
|
332
|
-
```markdown
|
|
333
|
-
## [4.32.0] - 2025-10-25
|
|
334
|
-
|
|
335
|
-
### Added
|
|
336
|
-
- New feature A
|
|
337
|
-
- New feature B
|
|
338
|
-
- New feature C
|
|
339
|
-
|
|
340
|
-
### Fixed
|
|
341
|
-
- Bug fix 1
|
|
342
|
-
- Bug fix 2
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
## Example Implementation
|
|
346
|
-
|
|
347
|
-
```javascript
|
|
348
|
-
const { execSync } = require('child_process');
|
|
349
|
-
const fs = require('fs');
|
|
350
|
-
const path = require('path');
|
|
351
|
-
const inquirer = require('inquirer');
|
|
352
|
-
const semver = require('semver');
|
|
353
|
-
|
|
354
|
-
async function manageVersion() {
|
|
355
|
-
// Step 1: Detect context
|
|
356
|
-
const { detectRepositoryContext } = require('./../scripts/repository-detector');
|
|
357
|
-
const context = detectRepositoryContext();
|
|
358
|
-
|
|
359
|
-
if (!context) {
|
|
360
|
-
console.error('ā Unable to detect repository context');
|
|
361
|
-
process.exit(1);
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
console.log(`\nš¦ Version Management for ${context.packageName}`);
|
|
365
|
-
console.log(`Current version: ${context.packageVersion}\n`);
|
|
366
|
-
|
|
367
|
-
// Step 2: Get last tag
|
|
368
|
-
let lastTag;
|
|
369
|
-
try {
|
|
370
|
-
lastTag = execSync('git describe --tags --abbrev=0', {
|
|
371
|
-
cwd: context.projectRoot
|
|
372
|
-
}).toString().trim();
|
|
373
|
-
} catch (error) {
|
|
374
|
-
lastTag = 'v0.0.0';
|
|
375
|
-
console.log('ā ļø No tags found, using v0.0.0 as baseline');
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
console.log(`Last tag: ${lastTag}\n`);
|
|
379
|
-
|
|
380
|
-
// Step 3: Analyze commits
|
|
381
|
-
const commits = execSync(`git log ${lastTag}..HEAD --oneline`, {
|
|
382
|
-
cwd: context.projectRoot
|
|
383
|
-
}).toString().trim().split('\n').filter(Boolean);
|
|
384
|
-
|
|
385
|
-
let breakingChanges = 0;
|
|
386
|
-
let features = 0;
|
|
387
|
-
let fixes = 0;
|
|
388
|
-
|
|
389
|
-
const breakingPattern = /BREAKING CHANGE:|BREAKING:|^\w+!:/;
|
|
390
|
-
const featurePattern = /^feat:|^feature:/;
|
|
391
|
-
const fixPattern = /^fix:|^bugfix:|^hotfix:/;
|
|
392
|
-
|
|
393
|
-
commits.forEach(commit => {
|
|
394
|
-
if (breakingPattern.test(commit)) breakingChanges++;
|
|
395
|
-
else if (featurePattern.test(commit)) features++;
|
|
396
|
-
else if (fixPattern.test(commit)) fixes++;
|
|
397
|
-
});
|
|
398
|
-
|
|
399
|
-
// Step 4: Recommend version
|
|
400
|
-
const currentVersion = context.packageVersion.replace(/^v/, '');
|
|
401
|
-
let newVersion;
|
|
402
|
-
let bumpType;
|
|
403
|
-
|
|
404
|
-
if (breakingChanges > 0) {
|
|
405
|
-
newVersion = semver.inc(currentVersion, 'major');
|
|
406
|
-
bumpType = 'MAJOR';
|
|
407
|
-
} else if (features > 0) {
|
|
408
|
-
newVersion = semver.inc(currentVersion, 'minor');
|
|
409
|
-
bumpType = 'MINOR';
|
|
410
|
-
} else if (fixes > 0) {
|
|
411
|
-
newVersion = semver.inc(currentVersion, 'patch');
|
|
412
|
-
bumpType = 'PATCH';
|
|
413
|
-
} else {
|
|
414
|
-
console.log('ā¹ļø No version bump needed (no changes detected)');
|
|
415
|
-
process.exit(0);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
|
-
// Step 5: User confirmation
|
|
419
|
-
console.log('š Version Analysis');
|
|
420
|
-
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
421
|
-
console.log(`Current version: v${currentVersion}`);
|
|
422
|
-
console.log(`Recommended: v${newVersion} (${bumpType})`);
|
|
423
|
-
console.log('');
|
|
424
|
-
console.log(`Changes since ${lastTag}:`);
|
|
425
|
-
console.log(` Breaking changes: ${breakingChanges}`);
|
|
426
|
-
console.log(` New features: ${features}`);
|
|
427
|
-
console.log(` Bug fixes: ${fixes}`);
|
|
428
|
-
console.log('');
|
|
429
|
-
|
|
430
|
-
const { confirm } = await inquirer.prompt([
|
|
431
|
-
{
|
|
432
|
-
type: 'confirm',
|
|
433
|
-
name: 'confirm',
|
|
434
|
-
message: `Proceed with version v${newVersion}?`,
|
|
435
|
-
default: true
|
|
436
|
-
}
|
|
437
|
-
]);
|
|
438
|
-
|
|
439
|
-
if (!confirm) {
|
|
440
|
-
console.log('ā Version update cancelled');
|
|
441
|
-
process.exit(0);
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
// Step 6: Update package.json
|
|
445
|
-
const packageJsonPath = path.join(context.projectRoot, 'package.json');
|
|
446
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
447
|
-
packageJson.version = newVersion;
|
|
448
|
-
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
|
|
449
|
-
console.log(`\nā Updated package.json to v${newVersion}`);
|
|
450
|
-
|
|
451
|
-
// Step 7: Create git tag
|
|
452
|
-
execSync(`git tag -a v${newVersion} -m "Release v${newVersion}"`, {
|
|
453
|
-
cwd: context.projectRoot
|
|
454
|
-
});
|
|
455
|
-
console.log(`ā Created git tag v${newVersion}`);
|
|
456
|
-
|
|
457
|
-
console.log('\nā
Version management complete!');
|
|
458
|
-
console.log(`\nNext steps:`);
|
|
459
|
-
console.log(` - Review changes: git show v${newVersion}`);
|
|
460
|
-
console.log(` - Push tag: git push origin v${newVersion}`);
|
|
461
|
-
console.log(` - Create release with @github-devops *release`);
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
module.exports = { manageVersion };
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
## Usage
|
|
468
|
-
|
|
469
|
-
Called by `@github-devops` agent via `*version-check` command.
|
|
470
|
-
|
|
471
|
-
## Validation
|
|
472
|
-
|
|
473
|
-
- Version bump follows semantic versioning rules
|
|
474
|
-
- User confirms version change
|
|
475
|
-
- Git tag created successfully
|
|
476
|
-
- package.json updated correctly
|
|
477
|
-
|
|
478
|
-
## Notes
|
|
479
|
-
|
|
480
|
-
- Works with ANY repository (framework or project)
|
|
481
|
-
- Respects conventional commits format
|
|
482
|
-
- User always has final approval
|
|
483
|
-
- Does NOT push to remote (that's done by *push command)
|
|
1
|
+
# version-management.md
|
|
2
|
+
|
|
3
|
+
**Task**: Semantic Version Management (Repository-Agnostic)
|
|
4
|
+
|
|
5
|
+
**Purpose**: Analyze changes, recommend version bumps, and manage semantic versioning for ANY repository using AIOS.
|
|
6
|
+
|
|
7
|
+
**When to use**: Before creating a release, to determine appropriate version number based on changes.
|
|
8
|
+
|
|
9
|
+
## Execution Modes
|
|
10
|
+
|
|
11
|
+
**Choose your execution mode:**
|
|
12
|
+
|
|
13
|
+
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
14
|
+
- Autonomous decision making with logging
|
|
15
|
+
- Minimal user interaction
|
|
16
|
+
- **Best for:** Simple, deterministic tasks
|
|
17
|
+
|
|
18
|
+
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
19
|
+
- Explicit decision checkpoints
|
|
20
|
+
- Educational explanations
|
|
21
|
+
- **Best for:** Learning, complex decisions
|
|
22
|
+
|
|
23
|
+
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
24
|
+
- Task analysis phase (identify all ambiguities)
|
|
25
|
+
- Zero ambiguity execution
|
|
26
|
+
- **Best for:** Ambiguous requirements, critical work
|
|
27
|
+
|
|
28
|
+
**Parameter:** `mode` (optional, default: `interactive`)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Task Definition (AIOS Task Format V1.0)
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
task: githubDevopsVersionManagement()
|
|
36
|
+
responsƔvel: Gage (Automator)
|
|
37
|
+
responsavel_type: Agente
|
|
38
|
+
atomic_layer: Organism
|
|
39
|
+
|
|
40
|
+
**Entrada:**
|
|
41
|
+
- campo: task
|
|
42
|
+
tipo: string
|
|
43
|
+
origem: User Input
|
|
44
|
+
obrigatório: true
|
|
45
|
+
validação: Must be registered task
|
|
46
|
+
|
|
47
|
+
- campo: parameters
|
|
48
|
+
tipo: object
|
|
49
|
+
origem: User Input
|
|
50
|
+
obrigatório: false
|
|
51
|
+
validação: Valid task parameters
|
|
52
|
+
|
|
53
|
+
- campo: mode
|
|
54
|
+
tipo: string
|
|
55
|
+
origem: User Input
|
|
56
|
+
obrigatório: false
|
|
57
|
+
validação: yolo|interactive|pre-flight
|
|
58
|
+
|
|
59
|
+
**SaĆda:**
|
|
60
|
+
- campo: execution_result
|
|
61
|
+
tipo: object
|
|
62
|
+
destino: Memory
|
|
63
|
+
persistido: false
|
|
64
|
+
|
|
65
|
+
- campo: logs
|
|
66
|
+
tipo: array
|
|
67
|
+
destino: File (.ai/logs/*)
|
|
68
|
+
persistido: true
|
|
69
|
+
|
|
70
|
+
- campo: state
|
|
71
|
+
tipo: object
|
|
72
|
+
destino: State management
|
|
73
|
+
persistido: true
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Pre-Conditions
|
|
79
|
+
|
|
80
|
+
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
81
|
+
|
|
82
|
+
**Checklist:**
|
|
83
|
+
|
|
84
|
+
```yaml
|
|
85
|
+
pre-conditions:
|
|
86
|
+
- [ ] Task is registered; required parameters provided; dependencies met
|
|
87
|
+
tipo: pre-condition
|
|
88
|
+
blocker: true
|
|
89
|
+
validação: |
|
|
90
|
+
Check task is registered; required parameters provided; dependencies met
|
|
91
|
+
error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Post-Conditions
|
|
97
|
+
|
|
98
|
+
**Purpose:** Validate execution success AFTER task completes
|
|
99
|
+
|
|
100
|
+
**Checklist:**
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
post-conditions:
|
|
104
|
+
- [ ] Task completed; exit code 0; expected outputs created
|
|
105
|
+
tipo: post-condition
|
|
106
|
+
blocker: true
|
|
107
|
+
validação: |
|
|
108
|
+
Verify task completed; exit code 0; expected outputs created
|
|
109
|
+
error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Acceptance Criteria
|
|
115
|
+
|
|
116
|
+
**Purpose:** Definitive pass/fail criteria for task completion
|
|
117
|
+
|
|
118
|
+
**Checklist:**
|
|
119
|
+
|
|
120
|
+
```yaml
|
|
121
|
+
acceptance-criteria:
|
|
122
|
+
- [ ] Task completed as expected; side effects documented
|
|
123
|
+
tipo: acceptance-criterion
|
|
124
|
+
blocker: true
|
|
125
|
+
validação: |
|
|
126
|
+
Assert task completed as expected; side effects documented
|
|
127
|
+
error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Tools
|
|
133
|
+
|
|
134
|
+
**External/shared resources used by this task:**
|
|
135
|
+
|
|
136
|
+
- **Tool:** task-runner
|
|
137
|
+
- **Purpose:** Task execution and orchestration
|
|
138
|
+
- **Source:** .aios-core/core/task-runner.js
|
|
139
|
+
|
|
140
|
+
- **Tool:** logger
|
|
141
|
+
- **Purpose:** Execution logging and error tracking
|
|
142
|
+
- **Source:** .aios-core/utils/logger.js
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Scripts
|
|
147
|
+
|
|
148
|
+
**Agent-specific code for this task:**
|
|
149
|
+
|
|
150
|
+
- **Script:** execute-task.js
|
|
151
|
+
- **Purpose:** Generic task execution wrapper
|
|
152
|
+
- **Language:** JavaScript
|
|
153
|
+
- **Location:** .aios-core/scripts/execute-task.js
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Error Handling
|
|
158
|
+
|
|
159
|
+
**Strategy:** retry
|
|
160
|
+
|
|
161
|
+
**Common Errors:**
|
|
162
|
+
|
|
163
|
+
1. **Error:** Task Not Found
|
|
164
|
+
- **Cause:** Specified task not registered in system
|
|
165
|
+
- **Resolution:** Verify task name and registration
|
|
166
|
+
- **Recovery:** List available tasks, suggest similar
|
|
167
|
+
|
|
168
|
+
2. **Error:** Invalid Parameters
|
|
169
|
+
- **Cause:** Task parameters do not match expected schema
|
|
170
|
+
- **Resolution:** Validate parameters against task definition
|
|
171
|
+
- **Recovery:** Provide parameter template, reject execution
|
|
172
|
+
|
|
173
|
+
3. **Error:** Execution Timeout
|
|
174
|
+
- **Cause:** Task exceeds maximum execution time
|
|
175
|
+
- **Resolution:** Optimize task or increase timeout
|
|
176
|
+
- **Recovery:** Kill task, cleanup resources, log state
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Performance
|
|
181
|
+
|
|
182
|
+
**Expected Metrics:**
|
|
183
|
+
|
|
184
|
+
```yaml
|
|
185
|
+
duration_expected: 5-15 min (estimated)
|
|
186
|
+
cost_estimated: $0.003-0.010
|
|
187
|
+
token_usage: ~3,000-10,000 tokens
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**Optimization Notes:**
|
|
191
|
+
- Break into smaller workflows; implement checkpointing; use async processing where possible
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Metadata
|
|
196
|
+
|
|
197
|
+
```yaml
|
|
198
|
+
story: N/A
|
|
199
|
+
version: 1.0.0
|
|
200
|
+
dependencies:
|
|
201
|
+
- N/A
|
|
202
|
+
tags:
|
|
203
|
+
- automation
|
|
204
|
+
- workflow
|
|
205
|
+
updated_at: 2025-11-17
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
## Prerequisites
|
|
212
|
+
- Git repository with commit history
|
|
213
|
+
- package.json with current version
|
|
214
|
+
- Understanding of semantic versioning (MAJOR.MINOR.PATCH)
|
|
215
|
+
|
|
216
|
+
## Semantic Versioning Rules
|
|
217
|
+
|
|
218
|
+
- **MAJOR** (v4.0.0 ā v5.0.0): Breaking changes, API redesign
|
|
219
|
+
- **MINOR** (v4.31.0 ā v4.32.0): New features, backward compatible
|
|
220
|
+
- **PATCH** (v4.31.0 ā v4.31.1): Bug fixes only
|
|
221
|
+
|
|
222
|
+
## Keywords for Detection
|
|
223
|
+
|
|
224
|
+
**Breaking Changes** (MAJOR):
|
|
225
|
+
- `BREAKING CHANGE:`
|
|
226
|
+
- `BREAKING:`
|
|
227
|
+
- `!` in commit type (e.g., `feat!:`)
|
|
228
|
+
- API redesign
|
|
229
|
+
- Removed functionality
|
|
230
|
+
- Incompatible changes
|
|
231
|
+
|
|
232
|
+
**New Features** (MINOR):
|
|
233
|
+
- `feat:`
|
|
234
|
+
- `feature:`
|
|
235
|
+
- New capability
|
|
236
|
+
- Enhancement
|
|
237
|
+
|
|
238
|
+
**Bug Fixes** (PATCH):
|
|
239
|
+
- `fix:`
|
|
240
|
+
- `bugfix:`
|
|
241
|
+
- `hotfix:`
|
|
242
|
+
- Patch
|
|
243
|
+
|
|
244
|
+
## Workflow Steps
|
|
245
|
+
|
|
246
|
+
### Step 1: Detect Repository Context
|
|
247
|
+
|
|
248
|
+
```javascript
|
|
249
|
+
const { detectRepositoryContext } = require('./../scripts/repository-detector');
|
|
250
|
+
const context = detectRepositoryContext();
|
|
251
|
+
|
|
252
|
+
if (!context) {
|
|
253
|
+
throw new Error('Unable to detect repository context. Run "aios init" first.');
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
console.log(`š¦ Analyzing version for: ${context.packageName}`);
|
|
257
|
+
console.log(`Current version: ${context.packageVersion}`);
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### Step 2: Get Last Git Tag
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
git describe --tags --abbrev=0
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
If no tags exist, use `v0.0.0` as baseline.
|
|
267
|
+
|
|
268
|
+
### Step 3: Analyze Commits Since Last Tag
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
git log <last-tag>..HEAD --oneline
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Parse each commit message:
|
|
275
|
+
- Count breaking changes
|
|
276
|
+
- Count features
|
|
277
|
+
- Count fixes
|
|
278
|
+
|
|
279
|
+
### Step 4: Recommend Version Bump
|
|
280
|
+
|
|
281
|
+
**Logic**:
|
|
282
|
+
1. If `breakingChanges > 0` ā MAJOR bump
|
|
283
|
+
2. Else if `features > 0` ā MINOR bump
|
|
284
|
+
3. Else if `fixes > 0` ā PATCH bump
|
|
285
|
+
4. Else ā No version bump needed
|
|
286
|
+
|
|
287
|
+
### Step 5: User Confirmation
|
|
288
|
+
|
|
289
|
+
Present recommendation:
|
|
290
|
+
|
|
291
|
+
```
|
|
292
|
+
š Version Analysis
|
|
293
|
+
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
294
|
+
Current version: v4.31.0
|
|
295
|
+
Recommended: v4.32.0 (MINOR)
|
|
296
|
+
|
|
297
|
+
Changes since v4.31.0:
|
|
298
|
+
Breaking changes: 0
|
|
299
|
+
New features: 3
|
|
300
|
+
Bug fixes: 2
|
|
301
|
+
|
|
302
|
+
Reason: New features detected (backward compatible)
|
|
303
|
+
|
|
304
|
+
Proceed with version v4.32.0? (Y/n)
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Step 6: Update package.json
|
|
308
|
+
|
|
309
|
+
```javascript
|
|
310
|
+
const fs = require('fs');
|
|
311
|
+
const path = require('path');
|
|
312
|
+
|
|
313
|
+
const packageJsonPath = path.join(context.projectRoot, 'package.json');
|
|
314
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
315
|
+
|
|
316
|
+
packageJson.version = newVersion;
|
|
317
|
+
|
|
318
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
|
|
319
|
+
console.log(`ā Updated package.json to ${newVersion}`);
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Step 7: Create Git Tag
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
git tag -a v<newVersion> -m "Release v<newVersion>"
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### Step 8: Generate Changelog
|
|
329
|
+
|
|
330
|
+
Extract commits since last tag and format:
|
|
331
|
+
|
|
332
|
+
```markdown
|
|
333
|
+
## [4.32.0] - 2025-10-25
|
|
334
|
+
|
|
335
|
+
### Added
|
|
336
|
+
- New feature A
|
|
337
|
+
- New feature B
|
|
338
|
+
- New feature C
|
|
339
|
+
|
|
340
|
+
### Fixed
|
|
341
|
+
- Bug fix 1
|
|
342
|
+
- Bug fix 2
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
## Example Implementation
|
|
346
|
+
|
|
347
|
+
```javascript
|
|
348
|
+
const { execSync } = require('child_process');
|
|
349
|
+
const fs = require('fs');
|
|
350
|
+
const path = require('path');
|
|
351
|
+
const inquirer = require('inquirer');
|
|
352
|
+
const semver = require('semver');
|
|
353
|
+
|
|
354
|
+
async function manageVersion() {
|
|
355
|
+
// Step 1: Detect context
|
|
356
|
+
const { detectRepositoryContext } = require('./../scripts/repository-detector');
|
|
357
|
+
const context = detectRepositoryContext();
|
|
358
|
+
|
|
359
|
+
if (!context) {
|
|
360
|
+
console.error('ā Unable to detect repository context');
|
|
361
|
+
process.exit(1);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
console.log(`\nš¦ Version Management for ${context.packageName}`);
|
|
365
|
+
console.log(`Current version: ${context.packageVersion}\n`);
|
|
366
|
+
|
|
367
|
+
// Step 2: Get last tag
|
|
368
|
+
let lastTag;
|
|
369
|
+
try {
|
|
370
|
+
lastTag = execSync('git describe --tags --abbrev=0', {
|
|
371
|
+
cwd: context.projectRoot
|
|
372
|
+
}).toString().trim();
|
|
373
|
+
} catch (error) {
|
|
374
|
+
lastTag = 'v0.0.0';
|
|
375
|
+
console.log('ā ļø No tags found, using v0.0.0 as baseline');
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
console.log(`Last tag: ${lastTag}\n`);
|
|
379
|
+
|
|
380
|
+
// Step 3: Analyze commits
|
|
381
|
+
const commits = execSync(`git log ${lastTag}..HEAD --oneline`, {
|
|
382
|
+
cwd: context.projectRoot
|
|
383
|
+
}).toString().trim().split('\n').filter(Boolean);
|
|
384
|
+
|
|
385
|
+
let breakingChanges = 0;
|
|
386
|
+
let features = 0;
|
|
387
|
+
let fixes = 0;
|
|
388
|
+
|
|
389
|
+
const breakingPattern = /BREAKING CHANGE:|BREAKING:|^\w+!:/;
|
|
390
|
+
const featurePattern = /^feat:|^feature:/;
|
|
391
|
+
const fixPattern = /^fix:|^bugfix:|^hotfix:/;
|
|
392
|
+
|
|
393
|
+
commits.forEach(commit => {
|
|
394
|
+
if (breakingPattern.test(commit)) breakingChanges++;
|
|
395
|
+
else if (featurePattern.test(commit)) features++;
|
|
396
|
+
else if (fixPattern.test(commit)) fixes++;
|
|
397
|
+
});
|
|
398
|
+
|
|
399
|
+
// Step 4: Recommend version
|
|
400
|
+
const currentVersion = context.packageVersion.replace(/^v/, '');
|
|
401
|
+
let newVersion;
|
|
402
|
+
let bumpType;
|
|
403
|
+
|
|
404
|
+
if (breakingChanges > 0) {
|
|
405
|
+
newVersion = semver.inc(currentVersion, 'major');
|
|
406
|
+
bumpType = 'MAJOR';
|
|
407
|
+
} else if (features > 0) {
|
|
408
|
+
newVersion = semver.inc(currentVersion, 'minor');
|
|
409
|
+
bumpType = 'MINOR';
|
|
410
|
+
} else if (fixes > 0) {
|
|
411
|
+
newVersion = semver.inc(currentVersion, 'patch');
|
|
412
|
+
bumpType = 'PATCH';
|
|
413
|
+
} else {
|
|
414
|
+
console.log('ā¹ļø No version bump needed (no changes detected)');
|
|
415
|
+
process.exit(0);
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// Step 5: User confirmation
|
|
419
|
+
console.log('š Version Analysis');
|
|
420
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
421
|
+
console.log(`Current version: v${currentVersion}`);
|
|
422
|
+
console.log(`Recommended: v${newVersion} (${bumpType})`);
|
|
423
|
+
console.log('');
|
|
424
|
+
console.log(`Changes since ${lastTag}:`);
|
|
425
|
+
console.log(` Breaking changes: ${breakingChanges}`);
|
|
426
|
+
console.log(` New features: ${features}`);
|
|
427
|
+
console.log(` Bug fixes: ${fixes}`);
|
|
428
|
+
console.log('');
|
|
429
|
+
|
|
430
|
+
const { confirm } = await inquirer.prompt([
|
|
431
|
+
{
|
|
432
|
+
type: 'confirm',
|
|
433
|
+
name: 'confirm',
|
|
434
|
+
message: `Proceed with version v${newVersion}?`,
|
|
435
|
+
default: true
|
|
436
|
+
}
|
|
437
|
+
]);
|
|
438
|
+
|
|
439
|
+
if (!confirm) {
|
|
440
|
+
console.log('ā Version update cancelled');
|
|
441
|
+
process.exit(0);
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// Step 6: Update package.json
|
|
445
|
+
const packageJsonPath = path.join(context.projectRoot, 'package.json');
|
|
446
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
447
|
+
packageJson.version = newVersion;
|
|
448
|
+
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n');
|
|
449
|
+
console.log(`\nā Updated package.json to v${newVersion}`);
|
|
450
|
+
|
|
451
|
+
// Step 7: Create git tag
|
|
452
|
+
execSync(`git tag -a v${newVersion} -m "Release v${newVersion}"`, {
|
|
453
|
+
cwd: context.projectRoot
|
|
454
|
+
});
|
|
455
|
+
console.log(`ā Created git tag v${newVersion}`);
|
|
456
|
+
|
|
457
|
+
console.log('\nā
Version management complete!');
|
|
458
|
+
console.log(`\nNext steps:`);
|
|
459
|
+
console.log(` - Review changes: git show v${newVersion}`);
|
|
460
|
+
console.log(` - Push tag: git push origin v${newVersion}`);
|
|
461
|
+
console.log(` - Create release with @github-devops *release`);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
module.exports = { manageVersion };
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
## Usage
|
|
468
|
+
|
|
469
|
+
Called by `@github-devops` agent via `*version-check` command.
|
|
470
|
+
|
|
471
|
+
## Validation
|
|
472
|
+
|
|
473
|
+
- Version bump follows semantic versioning rules
|
|
474
|
+
- User confirms version change
|
|
475
|
+
- Git tag created successfully
|
|
476
|
+
- package.json updated correctly
|
|
477
|
+
|
|
478
|
+
## Notes
|
|
479
|
+
|
|
480
|
+
- Works with ANY repository (framework or project)
|
|
481
|
+
- Respects conventional commits format
|
|
482
|
+
- User always has final approval
|
|
483
|
+
- Does NOT push to remote (that's done by *push command)
|