aios-core 2.1.5 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aios-core/core/README.md +229 -229
- package/.aios-core/core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/core/data/aios-kb.md +923 -923
- package/.aios-core/core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/core/docs/component-creation-guide.md +457 -457
- package/.aios-core/core/docs/session-update-pattern.md +307 -307
- package/.aios-core/core/docs/template-syntax.md +266 -266
- package/.aios-core/core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/core/elicitation/elicitation-engine.js +1 -1
- package/.aios-core/core/index.esm.js +42 -42
- package/.aios-core/core/index.js +1 -1
- package/.aios-core/core/migration/migration-config.yaml +83 -83
- package/.aios-core/core/migration/module-mapping.yaml +89 -89
- package/.aios-core/core/quality-gates/layer2-pr-automation.js +1 -1
- package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -86
- package/.aios-core/core/registry/README.md +179 -179
- package/.aios-core/core/utils/security-utils.js +1 -1
- package/.aios-core/core-config.yaml +391 -382
- package/.aios-core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/data/aios-kb.md +923 -923
- package/.aios-core/data/technical-preferences.md +3 -3
- package/.aios-core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/development/README.md +142 -142
- package/.aios-core/development/agent-teams/team-all.yaml +15 -15
- package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -18
- package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -10
- package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -13
- package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -155
- package/.aios-core/development/agents/aios-master.md +339 -339
- package/.aios-core/development/agents/analyst.md +195 -195
- package/.aios-core/development/agents/architect.md +359 -359
- package/.aios-core/development/agents/data-engineer.md +468 -468
- package/.aios-core/development/agents/dev.md +390 -390
- package/.aios-core/development/agents/devops.md +398 -398
- package/.aios-core/development/agents/pm.md +198 -198
- package/.aios-core/development/agents/po.md +256 -256
- package/.aios-core/development/agents/qa.md +312 -312
- package/.aios-core/development/agents/sm.md +220 -220
- package/.aios-core/development/agents/ux-design-expert.md +451 -451
- package/.aios-core/development/scripts/greeting-config-cli.js +85 -85
- package/.aios-core/development/tasks/add-mcp.md +319 -319
- package/.aios-core/development/tasks/advanced-elicitation.md +318 -318
- package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +341 -341
- package/.aios-core/development/tasks/analyze-brownfield.md +456 -0
- package/.aios-core/development/tasks/analyze-framework.md +696 -696
- package/.aios-core/development/tasks/analyze-performance.md +637 -637
- package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
- package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
- package/.aios-core/development/tasks/audit-codebase.md +429 -429
- package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
- package/.aios-core/development/tasks/audit-utilities.md +358 -358
- package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
- package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
- package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
- package/.aios-core/development/tasks/build-component.md +478 -478
- package/.aios-core/development/tasks/calculate-roi.md +455 -455
- package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
- package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
- package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
- package/.aios-core/development/tasks/compose-molecule.md +284 -284
- package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
- package/.aios-core/development/tasks/correct-course.md +279 -279
- package/.aios-core/development/tasks/create-agent.md +321 -321
- package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
- package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
- package/.aios-core/development/tasks/create-doc.md +316 -316
- package/.aios-core/development/tasks/create-next-story.md +774 -774
- package/.aios-core/development/tasks/create-suite.md +283 -283
- package/.aios-core/development/tasks/create-task.md +371 -371
- package/.aios-core/development/tasks/create-workflow.md +370 -370
- package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
- package/.aios-core/development/tasks/db-apply-migration.md +381 -381
- package/.aios-core/development/tasks/db-bootstrap.md +642 -642
- package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
- package/.aios-core/development/tasks/db-dry-run.md +293 -293
- package/.aios-core/development/tasks/db-env-check.md +260 -260
- package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
- package/.aios-core/development/tasks/db-explain.md +631 -631
- package/.aios-core/development/tasks/db-impersonate.md +495 -495
- package/.aios-core/development/tasks/db-load-csv.md +593 -593
- package/.aios-core/development/tasks/db-policy-apply.md +653 -653
- package/.aios-core/development/tasks/db-rls-audit.md +411 -411
- package/.aios-core/development/tasks/db-rollback.md +739 -739
- package/.aios-core/development/tasks/db-run-sql.md +613 -613
- package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
- package/.aios-core/development/tasks/db-seed.md +390 -390
- package/.aios-core/development/tasks/db-smoke-test.md +351 -351
- package/.aios-core/development/tasks/db-snapshot.md +569 -569
- package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
- package/.aios-core/development/tasks/db-verify-order.md +515 -515
- package/.aios-core/development/tasks/deprecate-component.md +956 -956
- package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
- package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
- package/.aios-core/development/tasks/dev-develop-story.md +846 -846
- package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
- package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
- package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
- package/.aios-core/development/tasks/document-project.md +552 -552
- package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
- package/.aios-core/development/tasks/execute-checklist.md +301 -301
- package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
- package/.aios-core/development/tasks/extend-pattern.md +269 -269
- package/.aios-core/development/tasks/extract-tokens.md +467 -467
- package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
- package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
- package/.aios-core/development/tasks/generate-documentation.md +284 -284
- package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
- package/.aios-core/development/tasks/generate-shock-report.md +501 -501
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
- package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
- package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
- package/.aios-core/development/tasks/improve-self.md +822 -822
- package/.aios-core/development/tasks/index-docs.md +387 -387
- package/.aios-core/development/tasks/init-project-status.md +506 -506
- package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
- package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
- package/.aios-core/development/tasks/learn-patterns.md +900 -900
- package/.aios-core/development/tasks/mcp-workflow.md +437 -437
- package/.aios-core/development/tasks/modify-agent.md +381 -381
- package/.aios-core/development/tasks/modify-task.md +424 -424
- package/.aios-core/development/tasks/modify-workflow.md +465 -465
- package/.aios-core/development/tasks/po-backlog-add.md +370 -370
- package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
- package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
- package/.aios-core/development/tasks/po-pull-story.md +316 -316
- package/.aios-core/development/tasks/po-stories-index.md +351 -351
- package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
- package/.aios-core/development/tasks/po-sync-story.md +303 -303
- package/.aios-core/development/tasks/pr-automation.md +701 -701
- package/.aios-core/development/tasks/propose-modification.md +842 -842
- package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
- package/.aios-core/development/tasks/qa-gate.md +373 -373
- package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
- package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
- package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
- package/.aios-core/development/tasks/qa-review-story.md +682 -682
- package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
- package/.aios-core/development/tasks/qa-run-tests.md +277 -277
- package/.aios-core/development/tasks/qa-test-design.md +387 -387
- package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
- package/.aios-core/development/tasks/release-management.md +723 -723
- package/.aios-core/development/tasks/security-audit.md +554 -554
- package/.aios-core/development/tasks/security-scan.md +790 -790
- package/.aios-core/development/tasks/setup-database.md +741 -741
- package/.aios-core/development/tasks/setup-design-system.md +462 -462
- package/.aios-core/development/tasks/setup-github.md +874 -874
- package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
- package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
- package/.aios-core/development/tasks/setup-project-docs.md +440 -0
- package/.aios-core/development/tasks/shard-doc.md +537 -537
- package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
- package/.aios-core/development/tasks/sync-documentation.md +864 -864
- package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
- package/.aios-core/development/tasks/test-as-user.md +621 -621
- package/.aios-core/development/tasks/test-validation-task.md +171 -171
- package/.aios-core/development/tasks/undo-last.md +346 -346
- package/.aios-core/development/tasks/update-manifest.md +409 -409
- package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
- package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
- package/.aios-core/development/tasks/ux-user-research.md +559 -559
- package/.aios-core/development/tasks/validate-next-story.md +422 -422
- package/.aios-core/development/workflows/README.md +83 -83
- package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
- package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
- package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
- package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
- package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
- package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/docs/component-creation-guide.md +457 -457
- package/.aios-core/docs/session-update-pattern.md +307 -307
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
- package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
- package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
- package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
- package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
- package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
- package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
- package/.aios-core/docs/template-syntax.md +266 -266
- package/.aios-core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/index.esm.js +15 -15
- package/.aios-core/index.js +1 -1
- package/.aios-core/infrastructure/README.md +126 -126
- package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
- package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
- package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
- package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
- package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
- package/.aios-core/infrastructure/scripts/component-search.js +1 -1
- package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/documentation-integrity/brownfield-analyzer.js +501 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/config-generator.js +368 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/deployment-config-loader.js +308 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/doc-generator.js +331 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/gitignore-generator.js +312 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/index.js +74 -0
- package/.aios-core/infrastructure/scripts/documentation-integrity/mode-detector.js +389 -0
- package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
- package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
- package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
- package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
- package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
- package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
- package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
- package/.aios-core/infrastructure/templates/core-config/core-config-brownfield.tmpl.yaml +176 -0
- package/.aios-core/infrastructure/templates/core-config/core-config-greenfield.tmpl.yaml +127 -0
- package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
- package/.aios-core/infrastructure/templates/gitignore/gitignore-aios-base.tmpl +63 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -0
- package/.aios-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -0
- package/.aios-core/infrastructure/templates/project-docs/coding-standards-tmpl.md +346 -0
- package/.aios-core/infrastructure/templates/project-docs/source-tree-tmpl.md +177 -0
- package/.aios-core/infrastructure/templates/project-docs/tech-stack-tmpl.md +267 -0
- package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
- package/.aios-core/infrastructure/tools/README.md +222 -222
- package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
- package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
- package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
- package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
- package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
- package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
- package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
- package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
- package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
- package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
- package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
- package/.aios-core/install-manifest.yaml +347 -347
- package/.aios-core/product/README.md +56 -56
- package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
- package/.aios-core/product/checklists/architect-checklist.md +443 -443
- package/.aios-core/product/checklists/change-checklist.md +182 -182
- package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
- package/.aios-core/product/checklists/database-design-checklist.md +119 -119
- package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
- package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
- package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
- package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
- package/.aios-core/product/checklists/pm-checklist.md +375 -375
- package/.aios-core/product/checklists/po-master-checklist.md +441 -441
- package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
- package/.aios-core/product/checklists/release-checklist.md +122 -122
- package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
- package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
- package/.aios-core/product/data/atomic-design-principles.md +108 -0
- package/.aios-core/product/data/brainstorming-techniques.md +36 -36
- package/.aios-core/product/data/consolidation-algorithms.md +142 -0
- package/.aios-core/product/data/database-best-practices.md +182 -0
- package/.aios-core/product/data/design-token-best-practices.md +107 -0
- package/.aios-core/product/data/elicitation-methods.md +134 -134
- package/.aios-core/product/data/integration-patterns.md +207 -0
- package/.aios-core/product/data/migration-safety-guide.md +329 -0
- package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
- package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
- package/.aios-core/product/data/rls-security-patterns.md +333 -0
- package/.aios-core/product/data/roi-calculation-guide.md +142 -0
- package/.aios-core/product/data/supabase-patterns.md +330 -0
- package/.aios-core/product/data/test-levels-framework.md +148 -148
- package/.aios-core/product/data/test-priorities-matrix.md +174 -174
- package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
- package/.aios-core/product/templates/1mcp-config.yaml +225 -225
- package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
- package/.aios-core/product/templates/activation-instructions-template.md +258 -258
- package/.aios-core/product/templates/agent-template.yaml +120 -120
- package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
- package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
- package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
- package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
- package/.aios-core/product/templates/changelog-template.md +134 -134
- package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
- package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
- package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
- package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
- package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
- package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
- package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
- package/.aios-core/product/templates/github-pr-template.md +67 -67
- package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
- package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
- package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
- package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
- package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
- package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
- package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
- package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
- package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
- package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
- package/.aios-core/product/templates/mcp-workflow.js +271 -271
- package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
- package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
- package/.aios-core/product/templates/personalized-agent-template.md +258 -258
- package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
- package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
- package/.aios-core/product/templates/personalized-task-template.md +344 -344
- package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
- package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
- package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
- package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
- package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
- package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
- package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
- package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
- package/.aios-core/product/templates/story-tmpl.yaml +331 -331
- package/.aios-core/product/templates/task-execution-report.md +495 -495
- package/.aios-core/product/templates/task-template.md +122 -122
- package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
- package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
- package/.aios-core/product/templates/workflow-template.yaml +133 -133
- package/.aios-core/scripts/README.md +354 -354
- package/.aios-core/scripts/aios-doc-template.md +325 -325
- package/.aios-core/scripts/elicitation-engine.js +1 -1
- package/.aios-core/scripts/test-template-system.js +1 -1
- package/.aios-core/scripts/workflow-management.md +69 -69
- package/.aios-core/user-guide.md +1413 -1413
- package/.aios-core/working-in-the-brownfield.md +361 -361
- package/LICENSE +1 -1
- package/README.md +702 -703
- package/bin/aios-init-old.js +3 -3
- package/bin/aios-init-v4.js +1 -1
- package/bin/aios-init.backup-v1.1.4.js +1 -1
- package/bin/aios-init.js +3 -3
- package/bin/aios.js +279 -279
- package/bin/utils/install-errors.js +339 -339
- package/bin/utils/install-transaction.js +445 -445
- package/index.d.ts +18 -18
- package/index.esm.js +20 -20
- package/index.js +6 -6
- package/package.json +8 -10
- package/packages/installer/src/config/templates/env-template.js +27 -4
- package/packages/installer/src/detection/detect-project-type.js +81 -81
- package/packages/installer/src/wizard/wizard.js +185 -34
- package/packages/installer/tests/integration/environment-configuration.test.js +2 -1
- package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
- package/packages/installer/tests/unit/env-template.test.js +11 -10
- package/src/config/ide-configs.js +1 -1
- package/src/wizard/feedback.js +2 -2
- package/src/wizard/index.js +1 -1
- package/src/wizard/validation/report-generator.js +1 -1
- package/src/wizard/validation/troubleshooting-system.js +13 -13
- package/.aios-core/development/tasks/validate-structure.md +0 -243
- package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
- package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
- package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
- package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
- package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
- package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
- package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
- package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
- package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
- package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
- package/.aios-core/infrastructure/scripts/source-tree-guardian/index.js +0 -375
- package/.aios-core/infrastructure/scripts/source-tree-guardian/manifest-generator.js +0 -410
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/naming-rules.yaml +0 -285
- package/.aios-core/infrastructure/scripts/source-tree-guardian/rules/placement-rules.yaml +0 -262
- package/.aios-core/infrastructure/scripts/source-tree-guardian/validator.js +0 -468
- package/.aios-core/tasks/find-component.md.legacy +0 -391
- package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
- package/.aios-core/tasks/generate-migration.md.legacy +0 -382
- package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
- package/.aios-core/tasks/update-tests.md.legacy +0 -283
|
@@ -1,723 +1,723 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: release-management
|
|
3
|
-
name: Manage Software Releases
|
|
4
|
-
agent: github-devops
|
|
5
|
-
category: devops
|
|
6
|
-
complexity: high
|
|
7
|
-
tools:
|
|
8
|
-
- github-cli # Create releases, tags, manage artifacts
|
|
9
|
-
- semantic-release # Automate versioning and changelog
|
|
10
|
-
checklists:
|
|
11
|
-
- github-devops-checklist.md
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Manage Software Releases
|
|
15
|
-
|
|
16
|
-
## Purpose
|
|
17
|
-
|
|
18
|
-
To automate the complete software release process, including:
|
|
19
|
-
- Semantic versioning (major.minor.patch)
|
|
20
|
-
- Changelog generation from commits
|
|
21
|
-
- Git tagging
|
|
22
|
-
- GitHub/GitLab Release creation
|
|
23
|
-
- Package publishing (npm, PyPI, Docker, etc.)
|
|
24
|
-
- Release notes generation
|
|
25
|
-
|
|
26
|
-
## Input
|
|
27
|
-
|
|
28
|
-
### Required Parameters
|
|
29
|
-
|
|
30
|
-
- **repository_path**: `string`
|
|
31
|
-
- **Description**: Local path or URL of repository
|
|
32
|
-
- **Example**: `/path/to/project` or `https://github.com/user/repo`
|
|
33
|
-
- **Validation**: Must be valid Git repository
|
|
34
|
-
|
|
35
|
-
- **release_type**: `string`
|
|
36
|
-
- **Description**: Type of release to create
|
|
37
|
-
- **Options**: `"auto"` (detect from commits), `"major"`, `"minor"`, `"patch"`, `"prerelease"`
|
|
38
|
-
- **Default**: `"auto"`
|
|
39
|
-
|
|
40
|
-
### Optional Parameters
|
|
41
|
-
|
|
42
|
-
- **release_branch**: `string`
|
|
43
|
-
- **Description**: Branch to release from
|
|
44
|
-
- **Default**: `"main"`
|
|
45
|
-
- **Note**: Must be default branch for production releases
|
|
46
|
-
|
|
47
|
-
- **changelog_format**: `string`
|
|
48
|
-
- **Description**: Changelog style
|
|
49
|
-
- **Options**: `"keep-a-changelog"`, `"angular"`, `"conventional-commits"`
|
|
50
|
-
- **Default**: `"conventional-commits"`
|
|
51
|
-
|
|
52
|
-
- **package_registry**: `array<string>`
|
|
53
|
-
- **Description**: Where to publish package
|
|
54
|
-
- **Options**: `["npm"]`, `["pypi"]`, `["docker-hub"]`, `["github-packages"]`
|
|
55
|
-
- **Default**: Auto-detect from project type
|
|
56
|
-
|
|
57
|
-
- **dry_run**: `boolean`
|
|
58
|
-
- **Description**: Test release without publishing
|
|
59
|
-
- **Default**: `false`
|
|
60
|
-
|
|
61
|
-
- **prerelease_tag**: `string`
|
|
62
|
-
- **Description**: Tag for prerelease (if release_type="prerelease")
|
|
63
|
-
- **Examples**: `"alpha"`, `"beta"`, `"rc"`
|
|
64
|
-
- **Default**: `"beta"`
|
|
65
|
-
|
|
66
|
-
- **skip_ci**: `boolean`
|
|
67
|
-
- **Description**: Skip CI checks (emergency releases only)
|
|
68
|
-
- **Default**: `false`
|
|
69
|
-
- **Warning**: Only use for critical hotfixes
|
|
70
|
-
|
|
71
|
-
## Output
|
|
72
|
-
|
|
73
|
-
- **new_version**: `string`
|
|
74
|
-
- **Description**: Version number created
|
|
75
|
-
- **Example**: `"2.1.3"`
|
|
76
|
-
|
|
77
|
-
- **git_tag**: `string`
|
|
78
|
-
- **Description**: Git tag created
|
|
79
|
-
- **Example**: `"v2.1.3"`
|
|
80
|
-
|
|
81
|
-
- **changelog**: `string`
|
|
82
|
-
- **Description**: Generated CHANGELOG.md content for this release
|
|
83
|
-
|
|
84
|
-
- **release_url**: `string`
|
|
85
|
-
- **Description**: URL to GitHub/GitLab Release
|
|
86
|
-
- **Example**: `"https://github.com/user/repo/releases/tag/v2.1.3"`
|
|
87
|
-
|
|
88
|
-
- **published_packages**: `array<object>`
|
|
89
|
-
- **Description**: Published packages with URLs
|
|
90
|
-
- **Structure**: `{ registry, package_name, version, url }`
|
|
91
|
-
- **Example**: `[{ registry: "npm", package_name: "aios-core", version: "2.1.3", url: "https://npmjs.com/package/aios-core" }]`
|
|
92
|
-
|
|
93
|
-
- **release_notes**: `string`
|
|
94
|
-
- **Description**: Formatted release notes (for announcements)
|
|
95
|
-
|
|
96
|
-
- **breaking_changes**: `array<string>`
|
|
97
|
-
- **Description**: List of breaking changes (if any)
|
|
98
|
-
- **Note**: Empty array if backward compatible
|
|
99
|
-
|
|
100
|
-
## Process
|
|
101
|
-
|
|
102
|
-
### Phase 1: Pre-Release Validation (2 min)
|
|
103
|
-
|
|
104
|
-
1. **Validate Repository State**
|
|
105
|
-
- Check if on release branch
|
|
106
|
-
- Verify no uncommitted changes
|
|
107
|
-
- Ensure branch is up-to-date with remote
|
|
108
|
-
- Check CI status (must be passing unless skip_ci=true)
|
|
109
|
-
|
|
110
|
-
2. **Analyze Commits Since Last Release**
|
|
111
|
-
- Get last version tag (e.g., `v2.1.2`)
|
|
112
|
-
- Get commits since last tag: `git log v2.1.2..HEAD`
|
|
113
|
-
- Parse commit messages (Conventional Commits)
|
|
114
|
-
|
|
115
|
-
3. **Determine Version Bump**
|
|
116
|
-
- If `release_type="auto"`:
|
|
117
|
-
- **BREAKING CHANGE** in commits → **major** bump (2.1.2 → 3.0.0)
|
|
118
|
-
- **feat:** commits → **minor** bump (2.1.2 → 2.2.0)
|
|
119
|
-
- **fix:** commits → **patch** bump (2.1.2 → 2.1.3)
|
|
120
|
-
- No eligible commits → **HALT** (nothing to release)
|
|
121
|
-
- Else: Use specified `release_type`
|
|
122
|
-
- Calculate new version: `{major}.{minor}.{patch}`
|
|
123
|
-
|
|
124
|
-
4. **Check Breaking Changes**
|
|
125
|
-
- Scan for `BREAKING CHANGE:` or `!` in commit messages
|
|
126
|
-
- Extract breaking change descriptions
|
|
127
|
-
- If found and major bump not planned → **WARN** user
|
|
128
|
-
|
|
129
|
-
### Phase 2: Changelog Generation (2 min)
|
|
130
|
-
|
|
131
|
-
5. **Generate CHANGELOG.md Updates**
|
|
132
|
-
- Group commits by type:
|
|
133
|
-
- **Breaking Changes** (⚠️)
|
|
134
|
-
- **Features** (✨ feat:)
|
|
135
|
-
- **Bug Fixes** (🐛 fix:)
|
|
136
|
-
- **Performance** (⚡ perf:)
|
|
137
|
-
- **Documentation** (📝 docs:)
|
|
138
|
-
- **Refactoring** (♻️ refactor:)
|
|
139
|
-
- **Tests** (✅ test:)
|
|
140
|
-
- **Chores** (🔧 chore:)
|
|
141
|
-
- Format according to `changelog_format`
|
|
142
|
-
- Prepend to CHANGELOG.md
|
|
143
|
-
|
|
144
|
-
**Example Output (Conventional Commits format):**
|
|
145
|
-
```markdown
|
|
146
|
-
## [2.1.3] - 2025-11-13
|
|
147
|
-
|
|
148
|
-
### ⚠️ Breaking Changes
|
|
149
|
-
|
|
150
|
-
- API endpoint `/v1/users` renamed to `/v2/users` (#42)
|
|
151
|
-
|
|
152
|
-
### ✨ Features
|
|
153
|
-
|
|
154
|
-
- Add user authentication with OAuth2 (#38)
|
|
155
|
-
- Implement rate limiting for API (#40)
|
|
156
|
-
|
|
157
|
-
### 🐛 Bug Fixes
|
|
158
|
-
|
|
159
|
-
- Fix memory leak in database connection pool (#39)
|
|
160
|
-
- Correct timezone handling in date filters (#41)
|
|
161
|
-
|
|
162
|
-
### 📝 Documentation
|
|
163
|
-
|
|
164
|
-
- Update API documentation with new endpoints (#43)
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
6. **Generate Release Notes**
|
|
168
|
-
- Extract highlights (most impactful changes)
|
|
169
|
-
- Format for social media / announcements
|
|
170
|
-
- Include contributor credits
|
|
171
|
-
- Add migration guide if breaking changes
|
|
172
|
-
|
|
173
|
-
### Phase 3: Version Bumping (1 min)
|
|
174
|
-
|
|
175
|
-
7. **Update Version Files**
|
|
176
|
-
- **Node.js**: Update `package.json` version
|
|
177
|
-
- **Python**: Update `setup.py` or `pyproject.toml` version
|
|
178
|
-
- **Rust**: Update `Cargo.toml` version
|
|
179
|
-
- **Go**: Update VERSION file or version constant
|
|
180
|
-
- **Docker**: Update Dockerfile labels
|
|
181
|
-
|
|
182
|
-
8. **Commit Version Changes**
|
|
183
|
-
- Create commit: `chore(release): bump version to {new_version}`
|
|
184
|
-
- Include updated CHANGELOG.md
|
|
185
|
-
- **DO NOT PUSH YET** (will push after tagging)
|
|
186
|
-
|
|
187
|
-
### Phase 4: Git Tagging & Release (3 min)
|
|
188
|
-
|
|
189
|
-
9. **Create Git Tag**
|
|
190
|
-
- Create annotated tag: `git tag -a v{new_version} -m "Release v{new_version}"`
|
|
191
|
-
- Include release notes in tag message
|
|
192
|
-
|
|
193
|
-
10. **Push to Remote**
|
|
194
|
-
- Push commits: `git push origin {release_branch}`
|
|
195
|
-
- Push tags: `git push origin v{new_version}`
|
|
196
|
-
- Wait for remote to accept
|
|
197
|
-
|
|
198
|
-
11. **Create GitHub/GitLab Release**
|
|
199
|
-
- Use GitHub CLI:
|
|
200
|
-
```bash
|
|
201
|
-
gh release create v{new_version} \
|
|
202
|
-
--title "Release v{new_version}" \
|
|
203
|
-
--notes-file release-notes.md \
|
|
204
|
-
--latest
|
|
205
|
-
```
|
|
206
|
-
- Attach build artifacts (if applicable):
|
|
207
|
-
- Binary executables
|
|
208
|
-
- Docker images
|
|
209
|
-
- Tarball archives
|
|
210
|
-
|
|
211
|
-
### Phase 5: Package Publishing (5 min)
|
|
212
|
-
|
|
213
|
-
12. **Publish to Package Registries** (if configured)
|
|
214
|
-
|
|
215
|
-
**npm:**
|
|
216
|
-
```bash
|
|
217
|
-
npm publish --access public
|
|
218
|
-
# Or for scoped packages:
|
|
219
|
-
npm publish @scope/package --access public
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
**PyPI:**
|
|
223
|
-
```bash
|
|
224
|
-
python -m build
|
|
225
|
-
twine upload dist/*
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
**Docker Hub:**
|
|
229
|
-
```bash
|
|
230
|
-
docker build -t user/image:{new_version} .
|
|
231
|
-
docker push user/image:{new_version}
|
|
232
|
-
docker tag user/image:{new_version} user/image:latest
|
|
233
|
-
docker push user/image:latest
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
**GitHub Packages:**
|
|
237
|
-
```bash
|
|
238
|
-
docker tag image:latest ghcr.io/user/repo:{new_version}
|
|
239
|
-
docker push ghcr.io/user/repo:{new_version}
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
13. **Verify Publication**
|
|
243
|
-
- Check package registry for new version
|
|
244
|
-
- Test installation: `npm install package@{new_version}`
|
|
245
|
-
- Confirm download count increments
|
|
246
|
-
|
|
247
|
-
### Phase 6: Post-Release Tasks (2 min)
|
|
248
|
-
|
|
249
|
-
14. **Update Documentation**
|
|
250
|
-
- If docs versioned, create new version folder
|
|
251
|
-
- Update README badges (version, downloads)
|
|
252
|
-
- Update CHANGELOG.md link in README
|
|
253
|
-
|
|
254
|
-
15. **Create Release Announcement**
|
|
255
|
-
- Generate social media posts
|
|
256
|
-
- Update project website (if applicable)
|
|
257
|
-
- Send notification to mailing list / Discord / Slack
|
|
258
|
-
|
|
259
|
-
16. **Create Post-Release Report**
|
|
260
|
-
- Summary of changes
|
|
261
|
-
- Links to release, packages, documentation
|
|
262
|
-
- Next steps or planned features
|
|
263
|
-
|
|
264
|
-
## Checklist
|
|
265
|
-
|
|
266
|
-
### Pre-conditions
|
|
267
|
-
|
|
268
|
-
- [ ] On correct release branch
|
|
269
|
-
- **Validation**: `git branch --show-current === release_branch`
|
|
270
|
-
- **Error**: "Not on release branch. Switch to {release_branch} first."
|
|
271
|
-
|
|
272
|
-
- [ ] No uncommitted changes
|
|
273
|
-
- **Validation**: `git status --porcelain` returns empty
|
|
274
|
-
- **Error**: "Uncommitted changes detected. Commit or stash before releasing."
|
|
275
|
-
|
|
276
|
-
- [ ] CI passing (unless skip_ci=true)
|
|
277
|
-
- **Validation**: GitHub API check status
|
|
278
|
-
- **Error**: "CI checks failing. Fix before releasing or use --skip-ci for emergency."
|
|
279
|
-
|
|
280
|
-
- [ ] New commits since last release
|
|
281
|
-
- **Validation**: `git log {last_tag}..HEAD` not empty
|
|
282
|
-
- **Error**: "No new commits since last release. Nothing to release."
|
|
283
|
-
|
|
284
|
-
### Post-conditions
|
|
285
|
-
|
|
286
|
-
- [ ] Git tag created and pushed
|
|
287
|
-
- **Validation**: `git tag -l v{new_version}` exists remotely
|
|
288
|
-
- **Test**: `git ls-remote --tags origin | grep v{new_version}`
|
|
289
|
-
|
|
290
|
-
- [ ] CHANGELOG.md updated
|
|
291
|
-
- **Validation**: File contains new version section
|
|
292
|
-
- **Test**: `grep "## \[{new_version}\]" CHANGELOG.md`
|
|
293
|
-
|
|
294
|
-
- [ ] GitHub Release created
|
|
295
|
-
- **Validation**: `gh release view v{new_version}` succeeds
|
|
296
|
-
- **Test**: Visit `{release_url}` and verify
|
|
297
|
-
|
|
298
|
-
- [ ] Package published (if configured)
|
|
299
|
-
- **Validation**: Package registry returns new version
|
|
300
|
-
- **Test**: `npm view package version` === `{new_version}`
|
|
301
|
-
|
|
302
|
-
### Acceptance Criteria
|
|
303
|
-
|
|
304
|
-
- [ ] Release follows semantic versioning
|
|
305
|
-
- **Type**: acceptance
|
|
306
|
-
- **Test**: Version format is `{major}.{minor}.{patch}` or `{major}.{minor}.{patch}-{prerelease}`
|
|
307
|
-
|
|
308
|
-
- [ ] Changelog is accurate and complete
|
|
309
|
-
- **Type**: acceptance
|
|
310
|
-
- **Manual Check**: true
|
|
311
|
-
- **Criteria**: All significant changes documented
|
|
312
|
-
|
|
313
|
-
- [ ] Package is installable
|
|
314
|
-
- **Type**: acceptance
|
|
315
|
-
- **Test**: Fresh install succeeds: `npm install -g package@{new_version}`
|
|
316
|
-
|
|
317
|
-
## Templates
|
|
318
|
-
|
|
319
|
-
### Release Notes Template
|
|
320
|
-
|
|
321
|
-
```markdown
|
|
322
|
-
# Release v{new_version}
|
|
323
|
-
|
|
324
|
-
**Date**: {release_date}
|
|
325
|
-
**Type**: {release_type} ({major|minor|patch})
|
|
326
|
-
|
|
327
|
-
## Highlights
|
|
328
|
-
|
|
329
|
-
{top_3_most_impactful_changes}
|
|
330
|
-
|
|
331
|
-
## What's Changed
|
|
332
|
-
|
|
333
|
-
{changelog_content}
|
|
334
|
-
|
|
335
|
-
## Breaking Changes
|
|
336
|
-
|
|
337
|
-
{breaking_changes_section if any}
|
|
338
|
-
|
|
339
|
-
### Migration Guide
|
|
340
|
-
|
|
341
|
-
{migration_steps if breaking changes}
|
|
342
|
-
|
|
343
|
-
## Contributors
|
|
344
|
-
|
|
345
|
-
Thank you to all contributors who made this release possible:
|
|
346
|
-
|
|
347
|
-
{contributor_list with GitHub handles}
|
|
348
|
-
|
|
349
|
-
## Install
|
|
350
|
-
|
|
351
|
-
\`\`\`bash
|
|
352
|
-
npm install {package_name}@{new_version}
|
|
353
|
-
# or
|
|
354
|
-
pip install {package_name}=={new_version}
|
|
355
|
-
\`\`\`
|
|
356
|
-
|
|
357
|
-
## Links
|
|
358
|
-
|
|
359
|
-
- [Full Changelog]({compare_url})
|
|
360
|
-
- [Documentation]({docs_url})
|
|
361
|
-
- [Issues]({issues_url})
|
|
362
|
-
|
|
363
|
-
---
|
|
364
|
-
|
|
365
|
-
## Execution Modes
|
|
366
|
-
|
|
367
|
-
**Choose your execution mode:**
|
|
368
|
-
|
|
369
|
-
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
370
|
-
- Autonomous decision making with logging
|
|
371
|
-
- Minimal user interaction
|
|
372
|
-
- **Best for:** Simple, deterministic tasks
|
|
373
|
-
|
|
374
|
-
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
375
|
-
- Explicit decision checkpoints
|
|
376
|
-
- Educational explanations
|
|
377
|
-
- **Best for:** Learning, complex decisions
|
|
378
|
-
|
|
379
|
-
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
380
|
-
- Task analysis phase (identify all ambiguities)
|
|
381
|
-
- Zero ambiguity execution
|
|
382
|
-
- **Best for:** Ambiguous requirements, critical work
|
|
383
|
-
|
|
384
|
-
**Parameter:** `mode` (optional, default: `interactive`)
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## Task Definition (AIOS Task Format V1.0)
|
|
389
|
-
|
|
390
|
-
```yaml
|
|
391
|
-
task: releaseManagement()
|
|
392
|
-
responsável: Gage (Automator)
|
|
393
|
-
responsavel_type: Agente
|
|
394
|
-
atomic_layer: Organism
|
|
395
|
-
|
|
396
|
-
**Entrada:**
|
|
397
|
-
- campo: task
|
|
398
|
-
tipo: string
|
|
399
|
-
origem: User Input
|
|
400
|
-
obrigatório: true
|
|
401
|
-
validação: Must be registered task
|
|
402
|
-
|
|
403
|
-
- campo: parameters
|
|
404
|
-
tipo: object
|
|
405
|
-
origem: User Input
|
|
406
|
-
obrigatório: false
|
|
407
|
-
validação: Valid task parameters
|
|
408
|
-
|
|
409
|
-
- campo: mode
|
|
410
|
-
tipo: string
|
|
411
|
-
origem: User Input
|
|
412
|
-
obrigatório: false
|
|
413
|
-
validação: yolo|interactive|pre-flight
|
|
414
|
-
|
|
415
|
-
**Saída:**
|
|
416
|
-
- campo: execution_result
|
|
417
|
-
tipo: object
|
|
418
|
-
destino: Memory
|
|
419
|
-
persistido: false
|
|
420
|
-
|
|
421
|
-
- campo: logs
|
|
422
|
-
tipo: array
|
|
423
|
-
destino: File (.ai/logs/*)
|
|
424
|
-
persistido: true
|
|
425
|
-
|
|
426
|
-
- campo: state
|
|
427
|
-
tipo: object
|
|
428
|
-
destino: State management
|
|
429
|
-
persistido: true
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
---
|
|
433
|
-
|
|
434
|
-
## Pre-Conditions
|
|
435
|
-
|
|
436
|
-
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
437
|
-
|
|
438
|
-
**Checklist:**
|
|
439
|
-
|
|
440
|
-
```yaml
|
|
441
|
-
pre-conditions:
|
|
442
|
-
- [ ] Task is registered; required parameters provided; dependencies met
|
|
443
|
-
tipo: pre-condition
|
|
444
|
-
blocker: true
|
|
445
|
-
validação: |
|
|
446
|
-
Check task is registered; required parameters provided; dependencies met
|
|
447
|
-
error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
---
|
|
451
|
-
|
|
452
|
-
## Post-Conditions
|
|
453
|
-
|
|
454
|
-
**Purpose:** Validate execution success AFTER task completes
|
|
455
|
-
|
|
456
|
-
**Checklist:**
|
|
457
|
-
|
|
458
|
-
```yaml
|
|
459
|
-
post-conditions:
|
|
460
|
-
- [ ] Task completed; exit code 0; expected outputs created
|
|
461
|
-
tipo: post-condition
|
|
462
|
-
blocker: true
|
|
463
|
-
validação: |
|
|
464
|
-
Verify task completed; exit code 0; expected outputs created
|
|
465
|
-
error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
|
|
466
|
-
```
|
|
467
|
-
|
|
468
|
-
---
|
|
469
|
-
|
|
470
|
-
## Acceptance Criteria
|
|
471
|
-
|
|
472
|
-
**Purpose:** Definitive pass/fail criteria for task completion
|
|
473
|
-
|
|
474
|
-
**Checklist:**
|
|
475
|
-
|
|
476
|
-
```yaml
|
|
477
|
-
acceptance-criteria:
|
|
478
|
-
- [ ] Task completed as expected; side effects documented
|
|
479
|
-
tipo: acceptance-criterion
|
|
480
|
-
blocker: true
|
|
481
|
-
validação: |
|
|
482
|
-
Assert task completed as expected; side effects documented
|
|
483
|
-
error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
---
|
|
487
|
-
|
|
488
|
-
## Scripts
|
|
489
|
-
|
|
490
|
-
**Agent-specific code for this task:**
|
|
491
|
-
|
|
492
|
-
- **Script:** execute-task.js
|
|
493
|
-
- **Purpose:** Generic task execution wrapper
|
|
494
|
-
- **Language:** JavaScript
|
|
495
|
-
- **Location:** .aios-core/scripts/execute-task.js
|
|
496
|
-
|
|
497
|
-
---
|
|
498
|
-
|
|
499
|
-
## Error Handling
|
|
500
|
-
|
|
501
|
-
**Strategy:** retry
|
|
502
|
-
|
|
503
|
-
**Common Errors:**
|
|
504
|
-
|
|
505
|
-
1. **Error:** Task Not Found
|
|
506
|
-
- **Cause:** Specified task not registered in system
|
|
507
|
-
- **Resolution:** Verify task name and registration
|
|
508
|
-
- **Recovery:** List available tasks, suggest similar
|
|
509
|
-
|
|
510
|
-
2. **Error:** Invalid Parameters
|
|
511
|
-
- **Cause:** Task parameters do not match expected schema
|
|
512
|
-
- **Resolution:** Validate parameters against task definition
|
|
513
|
-
- **Recovery:** Provide parameter template, reject execution
|
|
514
|
-
|
|
515
|
-
3. **Error:** Execution Timeout
|
|
516
|
-
- **Cause:** Task exceeds maximum execution time
|
|
517
|
-
- **Resolution:** Optimize task or increase timeout
|
|
518
|
-
- **Recovery:** Kill task, cleanup resources, log state
|
|
519
|
-
|
|
520
|
-
---
|
|
521
|
-
|
|
522
|
-
## Performance
|
|
523
|
-
|
|
524
|
-
**Expected Metrics:**
|
|
525
|
-
|
|
526
|
-
```yaml
|
|
527
|
-
duration_expected: 5-15 min (estimated)
|
|
528
|
-
cost_estimated: $0.003-0.010
|
|
529
|
-
token_usage: ~3,000-10,000 tokens
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
**Optimization Notes:**
|
|
533
|
-
- Break into smaller workflows; implement checkpointing; use async processing where possible
|
|
534
|
-
|
|
535
|
-
---
|
|
536
|
-
|
|
537
|
-
## Metadata
|
|
538
|
-
|
|
539
|
-
```yaml
|
|
540
|
-
story: N/A
|
|
541
|
-
version: 1.0.0
|
|
542
|
-
dependencies:
|
|
543
|
-
- N/A
|
|
544
|
-
tags:
|
|
545
|
-
- automation
|
|
546
|
-
- workflow
|
|
547
|
-
updated_at: 2025-11-17
|
|
548
|
-
```
|
|
549
|
-
|
|
550
|
-
---
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
**Full Changelog**: {compare_url}
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
### Social Media Announcement Template
|
|
557
|
-
|
|
558
|
-
```
|
|
559
|
-
🚀 {package_name} v{new_version} is out!
|
|
560
|
-
|
|
561
|
-
{highlight_1}
|
|
562
|
-
{highlight_2}
|
|
563
|
-
{highlight_3}
|
|
564
|
-
|
|
565
|
-
Install: npm install {package_name}@{new_version}
|
|
566
|
-
|
|
567
|
-
Release notes: {release_url}
|
|
568
|
-
|
|
569
|
-
#opensource #release #{package_name}
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
## Tools
|
|
573
|
-
|
|
574
|
-
- **github-cli**:
|
|
575
|
-
- **Version**: 2.0.0
|
|
576
|
-
- **Used For**: Create releases, tags, manage repository
|
|
577
|
-
- **Required**: true
|
|
578
|
-
|
|
579
|
-
- **semantic-release**:
|
|
580
|
-
- **Version**: 20.0.0
|
|
581
|
-
- **Used For**: Automate versioning based on commits
|
|
582
|
-
- **Optional**: true (can use manual versioning)
|
|
583
|
-
|
|
584
|
-
- **conventional-changelog**:
|
|
585
|
-
- **Version**: 4.0.0
|
|
586
|
-
- **Used For**: Generate CHANGELOG from Conventional Commits
|
|
587
|
-
- **Optional**: true
|
|
588
|
-
|
|
589
|
-
## Performance
|
|
590
|
-
|
|
591
|
-
- **Duration Expected**: 15 minutes (including publishing)
|
|
592
|
-
- **Cost Estimated**: $0 (uses free GitHub Actions, public registries)
|
|
593
|
-
- **Cacheable**: false (each release is unique)
|
|
594
|
-
- **Parallelizable**: false (sequential process required)
|
|
595
|
-
|
|
596
|
-
## Error Handling
|
|
597
|
-
|
|
598
|
-
- **Strategy**: abort
|
|
599
|
-
- **Fallback**: N/A (releases cannot be partially done)
|
|
600
|
-
- **Retry**:
|
|
601
|
-
- **Max Attempts**: 2 (for network failures)
|
|
602
|
-
- **Backoff**: linear
|
|
603
|
-
- **Backoff MS**: 5000
|
|
604
|
-
- **Abort Workflow**: true (release must succeed completely or rollback)
|
|
605
|
-
- **Notification**: log + email + Slack (if configured)
|
|
606
|
-
- **Rollback**: If publish fails, delete Git tag and revert version bump commit
|
|
607
|
-
|
|
608
|
-
## Metadata
|
|
609
|
-
|
|
610
|
-
- **Story**: Epic 10 (Critical Dependency Resolution)
|
|
611
|
-
- **Version**: 1.0.0
|
|
612
|
-
- **Dependencies**: `github-cli`, optional: `semantic-release`
|
|
613
|
-
- **Author**: Brad Frost Clone
|
|
614
|
-
- **Created**: 2025-11-13
|
|
615
|
-
- **Updated**: 2025-11-13
|
|
616
|
-
- **Breaking Changes**: None (new task)
|
|
617
|
-
|
|
618
|
-
---
|
|
619
|
-
|
|
620
|
-
## Usage Examples
|
|
621
|
-
|
|
622
|
-
### Example 1: Automatic Semantic Release
|
|
623
|
-
|
|
624
|
-
```bash
|
|
625
|
-
aios activate Otto # github-devops agent
|
|
626
|
-
aios release create --repo="." --type="auto"
|
|
627
|
-
```
|
|
628
|
-
|
|
629
|
-
**Output**: Analyzes commits, determines version bump, creates release
|
|
630
|
-
|
|
631
|
-
### Example 2: Major Release (Breaking Changes)
|
|
632
|
-
|
|
633
|
-
```bash
|
|
634
|
-
aios release create \
|
|
635
|
-
--repo="." \
|
|
636
|
-
--type="major" \
|
|
637
|
-
--publish="npm,docker-hub"
|
|
638
|
-
```
|
|
639
|
-
|
|
640
|
-
**Output**: Major version bump (e.g., 2.1.3 → 3.0.0), publishes to npm + Docker
|
|
641
|
-
|
|
642
|
-
### Example 3: Prerelease (Beta)
|
|
643
|
-
|
|
644
|
-
```bash
|
|
645
|
-
aios release create \
|
|
646
|
-
--repo="." \
|
|
647
|
-
--type="prerelease" \
|
|
648
|
-
--prerelease-tag="beta" \
|
|
649
|
-
--branch="develop"
|
|
650
|
-
```
|
|
651
|
-
|
|
652
|
-
**Output**: Beta release (e.g., 2.2.0-beta.1)
|
|
653
|
-
|
|
654
|
-
### Example 4: Dry Run (Test Release Process)
|
|
655
|
-
|
|
656
|
-
```bash
|
|
657
|
-
aios release create \
|
|
658
|
-
--repo="." \
|
|
659
|
-
--type="minor" \
|
|
660
|
-
--dry-run=true
|
|
661
|
-
```
|
|
662
|
-
|
|
663
|
-
**Output**: Simulates release, shows what would be created, NO actual changes
|
|
664
|
-
|
|
665
|
-
---
|
|
666
|
-
|
|
667
|
-
## Conventional Commits Reminder
|
|
668
|
-
|
|
669
|
-
For automatic versioning, follow **Conventional Commits** format:
|
|
670
|
-
|
|
671
|
-
```
|
|
672
|
-
<type>(<scope>): <subject>
|
|
673
|
-
|
|
674
|
-
<body>
|
|
675
|
-
|
|
676
|
-
<footer>
|
|
677
|
-
```
|
|
678
|
-
|
|
679
|
-
**Types:**
|
|
680
|
-
- `feat:` - New feature (MINOR bump)
|
|
681
|
-
- `fix:` - Bug fix (PATCH bump)
|
|
682
|
-
- `docs:` - Documentation only
|
|
683
|
-
- `style:` - Code style changes (formatting)
|
|
684
|
-
- `refactor:` - Code refactoring
|
|
685
|
-
- `perf:` - Performance improvements
|
|
686
|
-
- `test:` - Adding tests
|
|
687
|
-
- `chore:` - Maintenance tasks
|
|
688
|
-
|
|
689
|
-
**Breaking Changes:**
|
|
690
|
-
- Add `!` after type: `feat!: ...` (MAJOR bump)
|
|
691
|
-
- Or add `BREAKING CHANGE:` in footer (MAJOR bump)
|
|
692
|
-
|
|
693
|
-
**Examples:**
|
|
694
|
-
```
|
|
695
|
-
feat(auth): add OAuth2 login support
|
|
696
|
-
|
|
697
|
-
Implements OAuth2 authentication flow for GitHub, Google, and Microsoft.
|
|
698
|
-
|
|
699
|
-
Closes #42
|
|
700
|
-
```
|
|
701
|
-
|
|
702
|
-
```
|
|
703
|
-
fix(api): correct timezone handling in date filters
|
|
704
|
-
|
|
705
|
-
Previously, date filters were not respecting user timezone settings.
|
|
706
|
-
|
|
707
|
-
Fixes #41
|
|
708
|
-
```
|
|
709
|
-
|
|
710
|
-
```
|
|
711
|
-
feat!: rename /v1/users to /v2/users
|
|
712
|
-
|
|
713
|
-
BREAKING CHANGE: API endpoint changed. Update all client calls.
|
|
714
|
-
|
|
715
|
-
Migration: Replace /v1/users with /v2/users in API calls.
|
|
716
|
-
```
|
|
717
|
-
|
|
718
|
-
---
|
|
719
|
-
|
|
720
|
-
**Related Tasks:**
|
|
721
|
-
- `ci-cd-configuration` - Set up CI to run before releases
|
|
722
|
-
- `pr-automation` - Help users create PRs with proper commit formats
|
|
723
|
-
|
|
1
|
+
---
|
|
2
|
+
id: release-management
|
|
3
|
+
name: Manage Software Releases
|
|
4
|
+
agent: github-devops
|
|
5
|
+
category: devops
|
|
6
|
+
complexity: high
|
|
7
|
+
tools:
|
|
8
|
+
- github-cli # Create releases, tags, manage artifacts
|
|
9
|
+
- semantic-release # Automate versioning and changelog
|
|
10
|
+
checklists:
|
|
11
|
+
- github-devops-checklist.md
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Manage Software Releases
|
|
15
|
+
|
|
16
|
+
## Purpose
|
|
17
|
+
|
|
18
|
+
To automate the complete software release process, including:
|
|
19
|
+
- Semantic versioning (major.minor.patch)
|
|
20
|
+
- Changelog generation from commits
|
|
21
|
+
- Git tagging
|
|
22
|
+
- GitHub/GitLab Release creation
|
|
23
|
+
- Package publishing (npm, PyPI, Docker, etc.)
|
|
24
|
+
- Release notes generation
|
|
25
|
+
|
|
26
|
+
## Input
|
|
27
|
+
|
|
28
|
+
### Required Parameters
|
|
29
|
+
|
|
30
|
+
- **repository_path**: `string`
|
|
31
|
+
- **Description**: Local path or URL of repository
|
|
32
|
+
- **Example**: `/path/to/project` or `https://github.com/user/repo`
|
|
33
|
+
- **Validation**: Must be valid Git repository
|
|
34
|
+
|
|
35
|
+
- **release_type**: `string`
|
|
36
|
+
- **Description**: Type of release to create
|
|
37
|
+
- **Options**: `"auto"` (detect from commits), `"major"`, `"minor"`, `"patch"`, `"prerelease"`
|
|
38
|
+
- **Default**: `"auto"`
|
|
39
|
+
|
|
40
|
+
### Optional Parameters
|
|
41
|
+
|
|
42
|
+
- **release_branch**: `string`
|
|
43
|
+
- **Description**: Branch to release from
|
|
44
|
+
- **Default**: `"main"`
|
|
45
|
+
- **Note**: Must be default branch for production releases
|
|
46
|
+
|
|
47
|
+
- **changelog_format**: `string`
|
|
48
|
+
- **Description**: Changelog style
|
|
49
|
+
- **Options**: `"keep-a-changelog"`, `"angular"`, `"conventional-commits"`
|
|
50
|
+
- **Default**: `"conventional-commits"`
|
|
51
|
+
|
|
52
|
+
- **package_registry**: `array<string>`
|
|
53
|
+
- **Description**: Where to publish package
|
|
54
|
+
- **Options**: `["npm"]`, `["pypi"]`, `["docker-hub"]`, `["github-packages"]`
|
|
55
|
+
- **Default**: Auto-detect from project type
|
|
56
|
+
|
|
57
|
+
- **dry_run**: `boolean`
|
|
58
|
+
- **Description**: Test release without publishing
|
|
59
|
+
- **Default**: `false`
|
|
60
|
+
|
|
61
|
+
- **prerelease_tag**: `string`
|
|
62
|
+
- **Description**: Tag for prerelease (if release_type="prerelease")
|
|
63
|
+
- **Examples**: `"alpha"`, `"beta"`, `"rc"`
|
|
64
|
+
- **Default**: `"beta"`
|
|
65
|
+
|
|
66
|
+
- **skip_ci**: `boolean`
|
|
67
|
+
- **Description**: Skip CI checks (emergency releases only)
|
|
68
|
+
- **Default**: `false`
|
|
69
|
+
- **Warning**: Only use for critical hotfixes
|
|
70
|
+
|
|
71
|
+
## Output
|
|
72
|
+
|
|
73
|
+
- **new_version**: `string`
|
|
74
|
+
- **Description**: Version number created
|
|
75
|
+
- **Example**: `"2.1.3"`
|
|
76
|
+
|
|
77
|
+
- **git_tag**: `string`
|
|
78
|
+
- **Description**: Git tag created
|
|
79
|
+
- **Example**: `"v2.1.3"`
|
|
80
|
+
|
|
81
|
+
- **changelog**: `string`
|
|
82
|
+
- **Description**: Generated CHANGELOG.md content for this release
|
|
83
|
+
|
|
84
|
+
- **release_url**: `string`
|
|
85
|
+
- **Description**: URL to GitHub/GitLab Release
|
|
86
|
+
- **Example**: `"https://github.com/user/repo/releases/tag/v2.1.3"`
|
|
87
|
+
|
|
88
|
+
- **published_packages**: `array<object>`
|
|
89
|
+
- **Description**: Published packages with URLs
|
|
90
|
+
- **Structure**: `{ registry, package_name, version, url }`
|
|
91
|
+
- **Example**: `[{ registry: "npm", package_name: "aios-core", version: "2.1.3", url: "https://npmjs.com/package/aios-core" }]`
|
|
92
|
+
|
|
93
|
+
- **release_notes**: `string`
|
|
94
|
+
- **Description**: Formatted release notes (for announcements)
|
|
95
|
+
|
|
96
|
+
- **breaking_changes**: `array<string>`
|
|
97
|
+
- **Description**: List of breaking changes (if any)
|
|
98
|
+
- **Note**: Empty array if backward compatible
|
|
99
|
+
|
|
100
|
+
## Process
|
|
101
|
+
|
|
102
|
+
### Phase 1: Pre-Release Validation (2 min)
|
|
103
|
+
|
|
104
|
+
1. **Validate Repository State**
|
|
105
|
+
- Check if on release branch
|
|
106
|
+
- Verify no uncommitted changes
|
|
107
|
+
- Ensure branch is up-to-date with remote
|
|
108
|
+
- Check CI status (must be passing unless skip_ci=true)
|
|
109
|
+
|
|
110
|
+
2. **Analyze Commits Since Last Release**
|
|
111
|
+
- Get last version tag (e.g., `v2.1.2`)
|
|
112
|
+
- Get commits since last tag: `git log v2.1.2..HEAD`
|
|
113
|
+
- Parse commit messages (Conventional Commits)
|
|
114
|
+
|
|
115
|
+
3. **Determine Version Bump**
|
|
116
|
+
- If `release_type="auto"`:
|
|
117
|
+
- **BREAKING CHANGE** in commits → **major** bump (2.1.2 → 3.0.0)
|
|
118
|
+
- **feat:** commits → **minor** bump (2.1.2 → 2.2.0)
|
|
119
|
+
- **fix:** commits → **patch** bump (2.1.2 → 2.1.3)
|
|
120
|
+
- No eligible commits → **HALT** (nothing to release)
|
|
121
|
+
- Else: Use specified `release_type`
|
|
122
|
+
- Calculate new version: `{major}.{minor}.{patch}`
|
|
123
|
+
|
|
124
|
+
4. **Check Breaking Changes**
|
|
125
|
+
- Scan for `BREAKING CHANGE:` or `!` in commit messages
|
|
126
|
+
- Extract breaking change descriptions
|
|
127
|
+
- If found and major bump not planned → **WARN** user
|
|
128
|
+
|
|
129
|
+
### Phase 2: Changelog Generation (2 min)
|
|
130
|
+
|
|
131
|
+
5. **Generate CHANGELOG.md Updates**
|
|
132
|
+
- Group commits by type:
|
|
133
|
+
- **Breaking Changes** (⚠️)
|
|
134
|
+
- **Features** (✨ feat:)
|
|
135
|
+
- **Bug Fixes** (🐛 fix:)
|
|
136
|
+
- **Performance** (⚡ perf:)
|
|
137
|
+
- **Documentation** (📝 docs:)
|
|
138
|
+
- **Refactoring** (♻️ refactor:)
|
|
139
|
+
- **Tests** (✅ test:)
|
|
140
|
+
- **Chores** (🔧 chore:)
|
|
141
|
+
- Format according to `changelog_format`
|
|
142
|
+
- Prepend to CHANGELOG.md
|
|
143
|
+
|
|
144
|
+
**Example Output (Conventional Commits format):**
|
|
145
|
+
```markdown
|
|
146
|
+
## [2.1.3] - 2025-11-13
|
|
147
|
+
|
|
148
|
+
### ⚠️ Breaking Changes
|
|
149
|
+
|
|
150
|
+
- API endpoint `/v1/users` renamed to `/v2/users` (#42)
|
|
151
|
+
|
|
152
|
+
### ✨ Features
|
|
153
|
+
|
|
154
|
+
- Add user authentication with OAuth2 (#38)
|
|
155
|
+
- Implement rate limiting for API (#40)
|
|
156
|
+
|
|
157
|
+
### 🐛 Bug Fixes
|
|
158
|
+
|
|
159
|
+
- Fix memory leak in database connection pool (#39)
|
|
160
|
+
- Correct timezone handling in date filters (#41)
|
|
161
|
+
|
|
162
|
+
### 📝 Documentation
|
|
163
|
+
|
|
164
|
+
- Update API documentation with new endpoints (#43)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
6. **Generate Release Notes**
|
|
168
|
+
- Extract highlights (most impactful changes)
|
|
169
|
+
- Format for social media / announcements
|
|
170
|
+
- Include contributor credits
|
|
171
|
+
- Add migration guide if breaking changes
|
|
172
|
+
|
|
173
|
+
### Phase 3: Version Bumping (1 min)
|
|
174
|
+
|
|
175
|
+
7. **Update Version Files**
|
|
176
|
+
- **Node.js**: Update `package.json` version
|
|
177
|
+
- **Python**: Update `setup.py` or `pyproject.toml` version
|
|
178
|
+
- **Rust**: Update `Cargo.toml` version
|
|
179
|
+
- **Go**: Update VERSION file or version constant
|
|
180
|
+
- **Docker**: Update Dockerfile labels
|
|
181
|
+
|
|
182
|
+
8. **Commit Version Changes**
|
|
183
|
+
- Create commit: `chore(release): bump version to {new_version}`
|
|
184
|
+
- Include updated CHANGELOG.md
|
|
185
|
+
- **DO NOT PUSH YET** (will push after tagging)
|
|
186
|
+
|
|
187
|
+
### Phase 4: Git Tagging & Release (3 min)
|
|
188
|
+
|
|
189
|
+
9. **Create Git Tag**
|
|
190
|
+
- Create annotated tag: `git tag -a v{new_version} -m "Release v{new_version}"`
|
|
191
|
+
- Include release notes in tag message
|
|
192
|
+
|
|
193
|
+
10. **Push to Remote**
|
|
194
|
+
- Push commits: `git push origin {release_branch}`
|
|
195
|
+
- Push tags: `git push origin v{new_version}`
|
|
196
|
+
- Wait for remote to accept
|
|
197
|
+
|
|
198
|
+
11. **Create GitHub/GitLab Release**
|
|
199
|
+
- Use GitHub CLI:
|
|
200
|
+
```bash
|
|
201
|
+
gh release create v{new_version} \
|
|
202
|
+
--title "Release v{new_version}" \
|
|
203
|
+
--notes-file release-notes.md \
|
|
204
|
+
--latest
|
|
205
|
+
```
|
|
206
|
+
- Attach build artifacts (if applicable):
|
|
207
|
+
- Binary executables
|
|
208
|
+
- Docker images
|
|
209
|
+
- Tarball archives
|
|
210
|
+
|
|
211
|
+
### Phase 5: Package Publishing (5 min)
|
|
212
|
+
|
|
213
|
+
12. **Publish to Package Registries** (if configured)
|
|
214
|
+
|
|
215
|
+
**npm:**
|
|
216
|
+
```bash
|
|
217
|
+
npm publish --access public
|
|
218
|
+
# Or for scoped packages:
|
|
219
|
+
npm publish @scope/package --access public
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
**PyPI:**
|
|
223
|
+
```bash
|
|
224
|
+
python -m build
|
|
225
|
+
twine upload dist/*
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
**Docker Hub:**
|
|
229
|
+
```bash
|
|
230
|
+
docker build -t user/image:{new_version} .
|
|
231
|
+
docker push user/image:{new_version}
|
|
232
|
+
docker tag user/image:{new_version} user/image:latest
|
|
233
|
+
docker push user/image:latest
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
**GitHub Packages:**
|
|
237
|
+
```bash
|
|
238
|
+
docker tag image:latest ghcr.io/user/repo:{new_version}
|
|
239
|
+
docker push ghcr.io/user/repo:{new_version}
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
13. **Verify Publication**
|
|
243
|
+
- Check package registry for new version
|
|
244
|
+
- Test installation: `npm install package@{new_version}`
|
|
245
|
+
- Confirm download count increments
|
|
246
|
+
|
|
247
|
+
### Phase 6: Post-Release Tasks (2 min)
|
|
248
|
+
|
|
249
|
+
14. **Update Documentation**
|
|
250
|
+
- If docs versioned, create new version folder
|
|
251
|
+
- Update README badges (version, downloads)
|
|
252
|
+
- Update CHANGELOG.md link in README
|
|
253
|
+
|
|
254
|
+
15. **Create Release Announcement**
|
|
255
|
+
- Generate social media posts
|
|
256
|
+
- Update project website (if applicable)
|
|
257
|
+
- Send notification to mailing list / Discord / Slack
|
|
258
|
+
|
|
259
|
+
16. **Create Post-Release Report**
|
|
260
|
+
- Summary of changes
|
|
261
|
+
- Links to release, packages, documentation
|
|
262
|
+
- Next steps or planned features
|
|
263
|
+
|
|
264
|
+
## Checklist
|
|
265
|
+
|
|
266
|
+
### Pre-conditions
|
|
267
|
+
|
|
268
|
+
- [ ] On correct release branch
|
|
269
|
+
- **Validation**: `git branch --show-current === release_branch`
|
|
270
|
+
- **Error**: "Not on release branch. Switch to {release_branch} first."
|
|
271
|
+
|
|
272
|
+
- [ ] No uncommitted changes
|
|
273
|
+
- **Validation**: `git status --porcelain` returns empty
|
|
274
|
+
- **Error**: "Uncommitted changes detected. Commit or stash before releasing."
|
|
275
|
+
|
|
276
|
+
- [ ] CI passing (unless skip_ci=true)
|
|
277
|
+
- **Validation**: GitHub API check status
|
|
278
|
+
- **Error**: "CI checks failing. Fix before releasing or use --skip-ci for emergency."
|
|
279
|
+
|
|
280
|
+
- [ ] New commits since last release
|
|
281
|
+
- **Validation**: `git log {last_tag}..HEAD` not empty
|
|
282
|
+
- **Error**: "No new commits since last release. Nothing to release."
|
|
283
|
+
|
|
284
|
+
### Post-conditions
|
|
285
|
+
|
|
286
|
+
- [ ] Git tag created and pushed
|
|
287
|
+
- **Validation**: `git tag -l v{new_version}` exists remotely
|
|
288
|
+
- **Test**: `git ls-remote --tags origin | grep v{new_version}`
|
|
289
|
+
|
|
290
|
+
- [ ] CHANGELOG.md updated
|
|
291
|
+
- **Validation**: File contains new version section
|
|
292
|
+
- **Test**: `grep "## \[{new_version}\]" CHANGELOG.md`
|
|
293
|
+
|
|
294
|
+
- [ ] GitHub Release created
|
|
295
|
+
- **Validation**: `gh release view v{new_version}` succeeds
|
|
296
|
+
- **Test**: Visit `{release_url}` and verify
|
|
297
|
+
|
|
298
|
+
- [ ] Package published (if configured)
|
|
299
|
+
- **Validation**: Package registry returns new version
|
|
300
|
+
- **Test**: `npm view package version` === `{new_version}`
|
|
301
|
+
|
|
302
|
+
### Acceptance Criteria
|
|
303
|
+
|
|
304
|
+
- [ ] Release follows semantic versioning
|
|
305
|
+
- **Type**: acceptance
|
|
306
|
+
- **Test**: Version format is `{major}.{minor}.{patch}` or `{major}.{minor}.{patch}-{prerelease}`
|
|
307
|
+
|
|
308
|
+
- [ ] Changelog is accurate and complete
|
|
309
|
+
- **Type**: acceptance
|
|
310
|
+
- **Manual Check**: true
|
|
311
|
+
- **Criteria**: All significant changes documented
|
|
312
|
+
|
|
313
|
+
- [ ] Package is installable
|
|
314
|
+
- **Type**: acceptance
|
|
315
|
+
- **Test**: Fresh install succeeds: `npm install -g package@{new_version}`
|
|
316
|
+
|
|
317
|
+
## Templates
|
|
318
|
+
|
|
319
|
+
### Release Notes Template
|
|
320
|
+
|
|
321
|
+
```markdown
|
|
322
|
+
# Release v{new_version}
|
|
323
|
+
|
|
324
|
+
**Date**: {release_date}
|
|
325
|
+
**Type**: {release_type} ({major|minor|patch})
|
|
326
|
+
|
|
327
|
+
## Highlights
|
|
328
|
+
|
|
329
|
+
{top_3_most_impactful_changes}
|
|
330
|
+
|
|
331
|
+
## What's Changed
|
|
332
|
+
|
|
333
|
+
{changelog_content}
|
|
334
|
+
|
|
335
|
+
## Breaking Changes
|
|
336
|
+
|
|
337
|
+
{breaking_changes_section if any}
|
|
338
|
+
|
|
339
|
+
### Migration Guide
|
|
340
|
+
|
|
341
|
+
{migration_steps if breaking changes}
|
|
342
|
+
|
|
343
|
+
## Contributors
|
|
344
|
+
|
|
345
|
+
Thank you to all contributors who made this release possible:
|
|
346
|
+
|
|
347
|
+
{contributor_list with GitHub handles}
|
|
348
|
+
|
|
349
|
+
## Install
|
|
350
|
+
|
|
351
|
+
\`\`\`bash
|
|
352
|
+
npm install {package_name}@{new_version}
|
|
353
|
+
# or
|
|
354
|
+
pip install {package_name}=={new_version}
|
|
355
|
+
\`\`\`
|
|
356
|
+
|
|
357
|
+
## Links
|
|
358
|
+
|
|
359
|
+
- [Full Changelog]({compare_url})
|
|
360
|
+
- [Documentation]({docs_url})
|
|
361
|
+
- [Issues]({issues_url})
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## Execution Modes
|
|
366
|
+
|
|
367
|
+
**Choose your execution mode:**
|
|
368
|
+
|
|
369
|
+
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
370
|
+
- Autonomous decision making with logging
|
|
371
|
+
- Minimal user interaction
|
|
372
|
+
- **Best for:** Simple, deterministic tasks
|
|
373
|
+
|
|
374
|
+
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
375
|
+
- Explicit decision checkpoints
|
|
376
|
+
- Educational explanations
|
|
377
|
+
- **Best for:** Learning, complex decisions
|
|
378
|
+
|
|
379
|
+
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
380
|
+
- Task analysis phase (identify all ambiguities)
|
|
381
|
+
- Zero ambiguity execution
|
|
382
|
+
- **Best for:** Ambiguous requirements, critical work
|
|
383
|
+
|
|
384
|
+
**Parameter:** `mode` (optional, default: `interactive`)
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Task Definition (AIOS Task Format V1.0)
|
|
389
|
+
|
|
390
|
+
```yaml
|
|
391
|
+
task: releaseManagement()
|
|
392
|
+
responsável: Gage (Automator)
|
|
393
|
+
responsavel_type: Agente
|
|
394
|
+
atomic_layer: Organism
|
|
395
|
+
|
|
396
|
+
**Entrada:**
|
|
397
|
+
- campo: task
|
|
398
|
+
tipo: string
|
|
399
|
+
origem: User Input
|
|
400
|
+
obrigatório: true
|
|
401
|
+
validação: Must be registered task
|
|
402
|
+
|
|
403
|
+
- campo: parameters
|
|
404
|
+
tipo: object
|
|
405
|
+
origem: User Input
|
|
406
|
+
obrigatório: false
|
|
407
|
+
validação: Valid task parameters
|
|
408
|
+
|
|
409
|
+
- campo: mode
|
|
410
|
+
tipo: string
|
|
411
|
+
origem: User Input
|
|
412
|
+
obrigatório: false
|
|
413
|
+
validação: yolo|interactive|pre-flight
|
|
414
|
+
|
|
415
|
+
**Saída:**
|
|
416
|
+
- campo: execution_result
|
|
417
|
+
tipo: object
|
|
418
|
+
destino: Memory
|
|
419
|
+
persistido: false
|
|
420
|
+
|
|
421
|
+
- campo: logs
|
|
422
|
+
tipo: array
|
|
423
|
+
destino: File (.ai/logs/*)
|
|
424
|
+
persistido: true
|
|
425
|
+
|
|
426
|
+
- campo: state
|
|
427
|
+
tipo: object
|
|
428
|
+
destino: State management
|
|
429
|
+
persistido: true
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## Pre-Conditions
|
|
435
|
+
|
|
436
|
+
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
437
|
+
|
|
438
|
+
**Checklist:**
|
|
439
|
+
|
|
440
|
+
```yaml
|
|
441
|
+
pre-conditions:
|
|
442
|
+
- [ ] Task is registered; required parameters provided; dependencies met
|
|
443
|
+
tipo: pre-condition
|
|
444
|
+
blocker: true
|
|
445
|
+
validação: |
|
|
446
|
+
Check task is registered; required parameters provided; dependencies met
|
|
447
|
+
error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
---
|
|
451
|
+
|
|
452
|
+
## Post-Conditions
|
|
453
|
+
|
|
454
|
+
**Purpose:** Validate execution success AFTER task completes
|
|
455
|
+
|
|
456
|
+
**Checklist:**
|
|
457
|
+
|
|
458
|
+
```yaml
|
|
459
|
+
post-conditions:
|
|
460
|
+
- [ ] Task completed; exit code 0; expected outputs created
|
|
461
|
+
tipo: post-condition
|
|
462
|
+
blocker: true
|
|
463
|
+
validação: |
|
|
464
|
+
Verify task completed; exit code 0; expected outputs created
|
|
465
|
+
error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
---
|
|
469
|
+
|
|
470
|
+
## Acceptance Criteria
|
|
471
|
+
|
|
472
|
+
**Purpose:** Definitive pass/fail criteria for task completion
|
|
473
|
+
|
|
474
|
+
**Checklist:**
|
|
475
|
+
|
|
476
|
+
```yaml
|
|
477
|
+
acceptance-criteria:
|
|
478
|
+
- [ ] Task completed as expected; side effects documented
|
|
479
|
+
tipo: acceptance-criterion
|
|
480
|
+
blocker: true
|
|
481
|
+
validação: |
|
|
482
|
+
Assert task completed as expected; side effects documented
|
|
483
|
+
error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
## Scripts
|
|
489
|
+
|
|
490
|
+
**Agent-specific code for this task:**
|
|
491
|
+
|
|
492
|
+
- **Script:** execute-task.js
|
|
493
|
+
- **Purpose:** Generic task execution wrapper
|
|
494
|
+
- **Language:** JavaScript
|
|
495
|
+
- **Location:** .aios-core/scripts/execute-task.js
|
|
496
|
+
|
|
497
|
+
---
|
|
498
|
+
|
|
499
|
+
## Error Handling
|
|
500
|
+
|
|
501
|
+
**Strategy:** retry
|
|
502
|
+
|
|
503
|
+
**Common Errors:**
|
|
504
|
+
|
|
505
|
+
1. **Error:** Task Not Found
|
|
506
|
+
- **Cause:** Specified task not registered in system
|
|
507
|
+
- **Resolution:** Verify task name and registration
|
|
508
|
+
- **Recovery:** List available tasks, suggest similar
|
|
509
|
+
|
|
510
|
+
2. **Error:** Invalid Parameters
|
|
511
|
+
- **Cause:** Task parameters do not match expected schema
|
|
512
|
+
- **Resolution:** Validate parameters against task definition
|
|
513
|
+
- **Recovery:** Provide parameter template, reject execution
|
|
514
|
+
|
|
515
|
+
3. **Error:** Execution Timeout
|
|
516
|
+
- **Cause:** Task exceeds maximum execution time
|
|
517
|
+
- **Resolution:** Optimize task or increase timeout
|
|
518
|
+
- **Recovery:** Kill task, cleanup resources, log state
|
|
519
|
+
|
|
520
|
+
---
|
|
521
|
+
|
|
522
|
+
## Performance
|
|
523
|
+
|
|
524
|
+
**Expected Metrics:**
|
|
525
|
+
|
|
526
|
+
```yaml
|
|
527
|
+
duration_expected: 5-15 min (estimated)
|
|
528
|
+
cost_estimated: $0.003-0.010
|
|
529
|
+
token_usage: ~3,000-10,000 tokens
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
**Optimization Notes:**
|
|
533
|
+
- Break into smaller workflows; implement checkpointing; use async processing where possible
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
## Metadata
|
|
538
|
+
|
|
539
|
+
```yaml
|
|
540
|
+
story: N/A
|
|
541
|
+
version: 1.0.0
|
|
542
|
+
dependencies:
|
|
543
|
+
- N/A
|
|
544
|
+
tags:
|
|
545
|
+
- automation
|
|
546
|
+
- workflow
|
|
547
|
+
updated_at: 2025-11-17
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
**Full Changelog**: {compare_url}
|
|
554
|
+
```
|
|
555
|
+
|
|
556
|
+
### Social Media Announcement Template
|
|
557
|
+
|
|
558
|
+
```
|
|
559
|
+
🚀 {package_name} v{new_version} is out!
|
|
560
|
+
|
|
561
|
+
{highlight_1}
|
|
562
|
+
{highlight_2}
|
|
563
|
+
{highlight_3}
|
|
564
|
+
|
|
565
|
+
Install: npm install {package_name}@{new_version}
|
|
566
|
+
|
|
567
|
+
Release notes: {release_url}
|
|
568
|
+
|
|
569
|
+
#opensource #release #{package_name}
|
|
570
|
+
```
|
|
571
|
+
|
|
572
|
+
## Tools
|
|
573
|
+
|
|
574
|
+
- **github-cli**:
|
|
575
|
+
- **Version**: 2.0.0
|
|
576
|
+
- **Used For**: Create releases, tags, manage repository
|
|
577
|
+
- **Required**: true
|
|
578
|
+
|
|
579
|
+
- **semantic-release**:
|
|
580
|
+
- **Version**: 20.0.0
|
|
581
|
+
- **Used For**: Automate versioning based on commits
|
|
582
|
+
- **Optional**: true (can use manual versioning)
|
|
583
|
+
|
|
584
|
+
- **conventional-changelog**:
|
|
585
|
+
- **Version**: 4.0.0
|
|
586
|
+
- **Used For**: Generate CHANGELOG from Conventional Commits
|
|
587
|
+
- **Optional**: true
|
|
588
|
+
|
|
589
|
+
## Performance
|
|
590
|
+
|
|
591
|
+
- **Duration Expected**: 15 minutes (including publishing)
|
|
592
|
+
- **Cost Estimated**: $0 (uses free GitHub Actions, public registries)
|
|
593
|
+
- **Cacheable**: false (each release is unique)
|
|
594
|
+
- **Parallelizable**: false (sequential process required)
|
|
595
|
+
|
|
596
|
+
## Error Handling
|
|
597
|
+
|
|
598
|
+
- **Strategy**: abort
|
|
599
|
+
- **Fallback**: N/A (releases cannot be partially done)
|
|
600
|
+
- **Retry**:
|
|
601
|
+
- **Max Attempts**: 2 (for network failures)
|
|
602
|
+
- **Backoff**: linear
|
|
603
|
+
- **Backoff MS**: 5000
|
|
604
|
+
- **Abort Workflow**: true (release must succeed completely or rollback)
|
|
605
|
+
- **Notification**: log + email + Slack (if configured)
|
|
606
|
+
- **Rollback**: If publish fails, delete Git tag and revert version bump commit
|
|
607
|
+
|
|
608
|
+
## Metadata
|
|
609
|
+
|
|
610
|
+
- **Story**: Epic 10 (Critical Dependency Resolution)
|
|
611
|
+
- **Version**: 1.0.0
|
|
612
|
+
- **Dependencies**: `github-cli`, optional: `semantic-release`
|
|
613
|
+
- **Author**: Brad Frost Clone
|
|
614
|
+
- **Created**: 2025-11-13
|
|
615
|
+
- **Updated**: 2025-11-13
|
|
616
|
+
- **Breaking Changes**: None (new task)
|
|
617
|
+
|
|
618
|
+
---
|
|
619
|
+
|
|
620
|
+
## Usage Examples
|
|
621
|
+
|
|
622
|
+
### Example 1: Automatic Semantic Release
|
|
623
|
+
|
|
624
|
+
```bash
|
|
625
|
+
aios activate Otto # github-devops agent
|
|
626
|
+
aios release create --repo="." --type="auto"
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
**Output**: Analyzes commits, determines version bump, creates release
|
|
630
|
+
|
|
631
|
+
### Example 2: Major Release (Breaking Changes)
|
|
632
|
+
|
|
633
|
+
```bash
|
|
634
|
+
aios release create \
|
|
635
|
+
--repo="." \
|
|
636
|
+
--type="major" \
|
|
637
|
+
--publish="npm,docker-hub"
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
**Output**: Major version bump (e.g., 2.1.3 → 3.0.0), publishes to npm + Docker
|
|
641
|
+
|
|
642
|
+
### Example 3: Prerelease (Beta)
|
|
643
|
+
|
|
644
|
+
```bash
|
|
645
|
+
aios release create \
|
|
646
|
+
--repo="." \
|
|
647
|
+
--type="prerelease" \
|
|
648
|
+
--prerelease-tag="beta" \
|
|
649
|
+
--branch="develop"
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
**Output**: Beta release (e.g., 2.2.0-beta.1)
|
|
653
|
+
|
|
654
|
+
### Example 4: Dry Run (Test Release Process)
|
|
655
|
+
|
|
656
|
+
```bash
|
|
657
|
+
aios release create \
|
|
658
|
+
--repo="." \
|
|
659
|
+
--type="minor" \
|
|
660
|
+
--dry-run=true
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
**Output**: Simulates release, shows what would be created, NO actual changes
|
|
664
|
+
|
|
665
|
+
---
|
|
666
|
+
|
|
667
|
+
## Conventional Commits Reminder
|
|
668
|
+
|
|
669
|
+
For automatic versioning, follow **Conventional Commits** format:
|
|
670
|
+
|
|
671
|
+
```
|
|
672
|
+
<type>(<scope>): <subject>
|
|
673
|
+
|
|
674
|
+
<body>
|
|
675
|
+
|
|
676
|
+
<footer>
|
|
677
|
+
```
|
|
678
|
+
|
|
679
|
+
**Types:**
|
|
680
|
+
- `feat:` - New feature (MINOR bump)
|
|
681
|
+
- `fix:` - Bug fix (PATCH bump)
|
|
682
|
+
- `docs:` - Documentation only
|
|
683
|
+
- `style:` - Code style changes (formatting)
|
|
684
|
+
- `refactor:` - Code refactoring
|
|
685
|
+
- `perf:` - Performance improvements
|
|
686
|
+
- `test:` - Adding tests
|
|
687
|
+
- `chore:` - Maintenance tasks
|
|
688
|
+
|
|
689
|
+
**Breaking Changes:**
|
|
690
|
+
- Add `!` after type: `feat!: ...` (MAJOR bump)
|
|
691
|
+
- Or add `BREAKING CHANGE:` in footer (MAJOR bump)
|
|
692
|
+
|
|
693
|
+
**Examples:**
|
|
694
|
+
```
|
|
695
|
+
feat(auth): add OAuth2 login support
|
|
696
|
+
|
|
697
|
+
Implements OAuth2 authentication flow for GitHub, Google, and Microsoft.
|
|
698
|
+
|
|
699
|
+
Closes #42
|
|
700
|
+
```
|
|
701
|
+
|
|
702
|
+
```
|
|
703
|
+
fix(api): correct timezone handling in date filters
|
|
704
|
+
|
|
705
|
+
Previously, date filters were not respecting user timezone settings.
|
|
706
|
+
|
|
707
|
+
Fixes #41
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
```
|
|
711
|
+
feat!: rename /v1/users to /v2/users
|
|
712
|
+
|
|
713
|
+
BREAKING CHANGE: API endpoint changed. Update all client calls.
|
|
714
|
+
|
|
715
|
+
Migration: Replace /v1/users with /v2/users in API calls.
|
|
716
|
+
```
|
|
717
|
+
|
|
718
|
+
---
|
|
719
|
+
|
|
720
|
+
**Related Tasks:**
|
|
721
|
+
- `ci-cd-configuration` - Set up CI to run before releases
|
|
722
|
+
- `pr-automation` - Help users create PRs with proper commit formats
|
|
723
|
+
|