aios-core 2.1.6 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aios-core/core/README.md +229 -229
- package/.aios-core/core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/core/data/aios-kb.md +923 -923
- package/.aios-core/core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/core/docs/component-creation-guide.md +457 -457
- package/.aios-core/core/docs/session-update-pattern.md +307 -307
- package/.aios-core/core/docs/template-syntax.md +266 -266
- package/.aios-core/core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/core/elicitation/elicitation-engine.js +1 -1
- package/.aios-core/core/index.esm.js +42 -42
- package/.aios-core/core/index.js +1 -1
- package/.aios-core/core/migration/migration-config.yaml +83 -83
- package/.aios-core/core/migration/module-mapping.yaml +89 -89
- package/.aios-core/core/quality-gates/layer2-pr-automation.js +1 -1
- package/.aios-core/core/quality-gates/quality-gate-config.yaml +86 -86
- package/.aios-core/core/registry/README.md +179 -179
- package/.aios-core/core/utils/security-utils.js +1 -1
- package/.aios-core/core-config.yaml +391 -382
- package/.aios-core/data/agent-config-requirements.yaml +368 -368
- package/.aios-core/data/aios-kb.md +923 -923
- package/.aios-core/data/technical-preferences.md +3 -3
- package/.aios-core/data/workflow-patterns.yaml +267 -267
- package/.aios-core/development/README.md +142 -142
- package/.aios-core/development/agent-teams/team-all.yaml +15 -15
- package/.aios-core/development/agent-teams/team-fullstack.yaml +18 -18
- package/.aios-core/development/agent-teams/team-ide-minimal.yaml +10 -10
- package/.aios-core/development/agent-teams/team-no-ui.yaml +13 -13
- package/.aios-core/development/agent-teams/team-qa-focused.yaml +155 -155
- package/.aios-core/development/agents/aios-master.md +339 -339
- package/.aios-core/development/agents/analyst.md +195 -195
- package/.aios-core/development/agents/architect.md +359 -359
- package/.aios-core/development/agents/data-engineer.md +468 -468
- package/.aios-core/development/agents/dev.md +390 -390
- package/.aios-core/development/agents/devops.md +398 -398
- package/.aios-core/development/agents/pm.md +198 -198
- package/.aios-core/development/agents/po.md +256 -256
- package/.aios-core/development/agents/qa.md +312 -312
- package/.aios-core/development/agents/sm.md +220 -220
- package/.aios-core/development/agents/ux-design-expert.md +451 -451
- package/.aios-core/development/scripts/greeting-config-cli.js +85 -85
- package/.aios-core/development/tasks/add-mcp.md +319 -319
- package/.aios-core/development/tasks/advanced-elicitation.md +318 -318
- package/.aios-core/development/tasks/analyst-facilitate-brainstorming.md +341 -341
- package/.aios-core/development/tasks/analyze-framework.md +696 -696
- package/.aios-core/development/tasks/analyze-performance.md +637 -637
- package/.aios-core/development/tasks/apply-qa-fixes.md +340 -340
- package/.aios-core/development/tasks/architect-analyze-impact.md +826 -826
- package/.aios-core/development/tasks/audit-codebase.md +429 -429
- package/.aios-core/development/tasks/audit-tailwind-config.md +270 -270
- package/.aios-core/development/tasks/audit-utilities.md +358 -358
- package/.aios-core/development/tasks/bootstrap-shadcn-library.md +286 -286
- package/.aios-core/development/tasks/brownfield-create-epic.md +485 -485
- package/.aios-core/development/tasks/brownfield-create-story.md +356 -356
- package/.aios-core/development/tasks/build-component.md +478 -478
- package/.aios-core/development/tasks/calculate-roi.md +455 -455
- package/.aios-core/development/tasks/ci-cd-configuration.md +764 -764
- package/.aios-core/development/tasks/cleanup-utilities.md +670 -670
- package/.aios-core/development/tasks/collaborative-edit.md +1108 -1108
- package/.aios-core/development/tasks/compose-molecule.md +284 -284
- package/.aios-core/development/tasks/consolidate-patterns.md +414 -414
- package/.aios-core/development/tasks/correct-course.md +279 -279
- package/.aios-core/development/tasks/create-agent.md +321 -321
- package/.aios-core/development/tasks/create-brownfield-story.md +726 -726
- package/.aios-core/development/tasks/create-deep-research-prompt.md +498 -498
- package/.aios-core/development/tasks/create-doc.md +316 -316
- package/.aios-core/development/tasks/create-next-story.md +774 -774
- package/.aios-core/development/tasks/create-suite.md +283 -283
- package/.aios-core/development/tasks/create-task.md +371 -371
- package/.aios-core/development/tasks/create-workflow.md +370 -370
- package/.aios-core/development/tasks/db-analyze-hotpaths.md +572 -572
- package/.aios-core/development/tasks/db-apply-migration.md +381 -381
- package/.aios-core/development/tasks/db-bootstrap.md +642 -642
- package/.aios-core/development/tasks/db-domain-modeling.md +693 -693
- package/.aios-core/development/tasks/db-dry-run.md +293 -293
- package/.aios-core/development/tasks/db-env-check.md +260 -260
- package/.aios-core/development/tasks/db-expansion-pack-integration.md +663 -663
- package/.aios-core/development/tasks/db-explain.md +631 -631
- package/.aios-core/development/tasks/db-impersonate.md +495 -495
- package/.aios-core/development/tasks/db-load-csv.md +593 -593
- package/.aios-core/development/tasks/db-policy-apply.md +653 -653
- package/.aios-core/development/tasks/db-rls-audit.md +411 -411
- package/.aios-core/development/tasks/db-rollback.md +739 -739
- package/.aios-core/development/tasks/db-run-sql.md +613 -613
- package/.aios-core/development/tasks/db-schema-audit.md +1011 -1011
- package/.aios-core/development/tasks/db-seed.md +390 -390
- package/.aios-core/development/tasks/db-smoke-test.md +351 -351
- package/.aios-core/development/tasks/db-snapshot.md +569 -569
- package/.aios-core/development/tasks/db-supabase-setup.md +712 -712
- package/.aios-core/development/tasks/db-verify-order.md +515 -515
- package/.aios-core/development/tasks/deprecate-component.md +956 -956
- package/.aios-core/development/tasks/dev-apply-qa-fixes.md +318 -318
- package/.aios-core/development/tasks/dev-backlog-debt.md +469 -469
- package/.aios-core/development/tasks/dev-develop-story.md +846 -846
- package/.aios-core/development/tasks/dev-improve-code-quality.md +872 -872
- package/.aios-core/development/tasks/dev-optimize-performance.md +1033 -1033
- package/.aios-core/development/tasks/dev-suggest-refactoring.md +870 -870
- package/.aios-core/development/tasks/dev-validate-next-story.md +348 -348
- package/.aios-core/development/tasks/document-project.md +552 -552
- package/.aios-core/development/tasks/environment-bootstrap.md +1311 -1311
- package/.aios-core/development/tasks/execute-checklist.md +301 -301
- package/.aios-core/development/tasks/export-design-tokens-dtcg.md +274 -274
- package/.aios-core/development/tasks/extend-pattern.md +269 -269
- package/.aios-core/development/tasks/extract-tokens.md +467 -467
- package/.aios-core/development/tasks/facilitate-brainstorming-session.md +518 -518
- package/.aios-core/development/tasks/generate-ai-frontend-prompt.md +260 -260
- package/.aios-core/development/tasks/generate-documentation.md +284 -284
- package/.aios-core/development/tasks/generate-migration-strategy.md +522 -522
- package/.aios-core/development/tasks/generate-shock-report.md +501 -501
- package/.aios-core/development/tasks/github-devops-github-pr-automation.md +427 -427
- package/.aios-core/development/tasks/github-devops-pre-push-quality-gate.md +733 -733
- package/.aios-core/development/tasks/github-devops-repository-cleanup.md +374 -374
- package/.aios-core/development/tasks/github-devops-version-management.md +483 -483
- package/.aios-core/development/tasks/improve-self.md +822 -822
- package/.aios-core/development/tasks/index-docs.md +387 -387
- package/.aios-core/development/tasks/init-project-status.md +506 -506
- package/.aios-core/development/tasks/integrate-expansion-pack.md +314 -314
- package/.aios-core/development/tasks/kb-mode-interaction.md +283 -283
- package/.aios-core/development/tasks/learn-patterns.md +900 -900
- package/.aios-core/development/tasks/mcp-workflow.md +437 -437
- package/.aios-core/development/tasks/modify-agent.md +381 -381
- package/.aios-core/development/tasks/modify-task.md +424 -424
- package/.aios-core/development/tasks/modify-workflow.md +465 -465
- package/.aios-core/development/tasks/po-backlog-add.md +370 -370
- package/.aios-core/development/tasks/po-manage-story-backlog.md +523 -523
- package/.aios-core/development/tasks/po-pull-story-from-clickup.md +540 -540
- package/.aios-core/development/tasks/po-pull-story.md +316 -316
- package/.aios-core/development/tasks/po-stories-index.md +351 -351
- package/.aios-core/development/tasks/po-sync-story-to-clickup.md +457 -457
- package/.aios-core/development/tasks/po-sync-story.md +303 -303
- package/.aios-core/development/tasks/pr-automation.md +701 -701
- package/.aios-core/development/tasks/propose-modification.md +842 -842
- package/.aios-core/development/tasks/qa-backlog-add-followup.md +425 -425
- package/.aios-core/development/tasks/qa-gate.md +373 -373
- package/.aios-core/development/tasks/qa-generate-tests.md +1174 -1174
- package/.aios-core/development/tasks/qa-nfr-assess.md +557 -557
- package/.aios-core/development/tasks/qa-review-proposal.md +1157 -1157
- package/.aios-core/development/tasks/qa-review-story.md +682 -682
- package/.aios-core/development/tasks/qa-risk-profile.md +566 -566
- package/.aios-core/development/tasks/qa-run-tests.md +277 -277
- package/.aios-core/development/tasks/qa-test-design.md +387 -387
- package/.aios-core/development/tasks/qa-trace-requirements.md +476 -476
- package/.aios-core/development/tasks/release-management.md +723 -723
- package/.aios-core/development/tasks/security-audit.md +554 -554
- package/.aios-core/development/tasks/security-scan.md +790 -790
- package/.aios-core/development/tasks/setup-database.md +741 -741
- package/.aios-core/development/tasks/setup-design-system.md +462 -462
- package/.aios-core/development/tasks/setup-github.md +874 -874
- package/.aios-core/development/tasks/setup-llm-routing.md +1 -1
- package/.aios-core/development/tasks/setup-mcp-docker.md +584 -584
- package/.aios-core/development/tasks/setup-project-docs.md +1 -1
- package/.aios-core/development/tasks/shard-doc.md +537 -537
- package/.aios-core/development/tasks/sm-create-next-story.md +480 -480
- package/.aios-core/development/tasks/sync-documentation.md +864 -864
- package/.aios-core/development/tasks/tailwind-upgrade.md +294 -294
- package/.aios-core/development/tasks/test-as-user.md +621 -621
- package/.aios-core/development/tasks/test-validation-task.md +171 -171
- package/.aios-core/development/tasks/undo-last.md +346 -346
- package/.aios-core/development/tasks/update-manifest.md +409 -409
- package/.aios-core/development/tasks/ux-create-wireframe.md +617 -617
- package/.aios-core/development/tasks/ux-ds-scan-artifact.md +672 -672
- package/.aios-core/development/tasks/ux-user-research.md +559 -559
- package/.aios-core/development/tasks/validate-next-story.md +422 -422
- package/.aios-core/development/workflows/README.md +83 -83
- package/.aios-core/development/workflows/brownfield-fullstack.yaml +297 -297
- package/.aios-core/development/workflows/brownfield-service.yaml +187 -187
- package/.aios-core/development/workflows/brownfield-ui.yaml +197 -197
- package/.aios-core/development/workflows/greenfield-fullstack.yaml +333 -333
- package/.aios-core/development/workflows/greenfield-service.yaml +206 -206
- package/.aios-core/development/workflows/greenfield-ui.yaml +235 -235
- package/.aios-core/docs/SHARD-TRANSLATION-GUIDE.md +335 -335
- package/.aios-core/docs/component-creation-guide.md +457 -457
- package/.aios-core/docs/session-update-pattern.md +307 -307
- package/.aios-core/docs/standards/AGENT-PERSONALIZATION-STANDARD-V1.md +572 -572
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +185 -185
- package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +354 -354
- package/.aios-core/docs/standards/AIOS-FRAMEWORK-MASTER.md +1963 -1963
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +821 -821
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-SUMMARY.md +1190 -1190
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1.md +439 -439
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +1339 -1339
- package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO.md +5398 -5398
- package/.aios-core/docs/standards/EXECUTOR-DECISION-TREE.md +697 -697
- package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +511 -511
- package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +556 -556
- package/.aios-core/docs/standards/STANDARDS-INDEX.md +210 -210
- package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +550 -550
- package/.aios-core/docs/standards/TASK-FORMAT-SPECIFICATION-V1.md +1414 -1414
- package/.aios-core/docs/standards/V3-ARCHITECTURAL-DECISIONS.md +523 -523
- package/.aios-core/docs/template-syntax.md +266 -266
- package/.aios-core/docs/troubleshooting-guide.md +624 -624
- package/.aios-core/index.esm.js +15 -15
- package/.aios-core/index.js +1 -1
- package/.aios-core/infrastructure/README.md +126 -126
- package/.aios-core/infrastructure/integrations/pm-adapters/README.md +59 -59
- package/.aios-core/infrastructure/scripts/approval-workflow.js +1 -1
- package/.aios-core/infrastructure/scripts/batch-creator.js +1 -1
- package/.aios-core/infrastructure/scripts/component-generator.js +3 -3
- package/.aios-core/infrastructure/scripts/component-metadata.js +1 -1
- package/.aios-core/infrastructure/scripts/component-search.js +1 -1
- package/.aios-core/infrastructure/scripts/coverage-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/dependency-impact-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/framework-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/improvement-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/llm-routing/install-llm-routing.js +26 -13
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/claude-free-tracked.sh +108 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-proxy.sh +65 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -0
- package/.aios-core/infrastructure/scripts/llm-routing/templates/deepseek-usage.sh +16 -0
- package/.aios-core/infrastructure/scripts/llm-routing/usage-tracker/index.js +549 -0
- package/.aios-core/infrastructure/scripts/modification-risk-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/performance-analyzer.js +1 -1
- package/.aios-core/infrastructure/scripts/pm-adapter.js +134 -134
- package/.aios-core/infrastructure/scripts/repository-detector.js +3 -3
- package/.aios-core/infrastructure/scripts/template-engine.js +1 -1
- package/.aios-core/infrastructure/scripts/template-validator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-generator.js +1 -1
- package/.aios-core/infrastructure/scripts/test-quality-assessment.js +1 -1
- package/.aios-core/infrastructure/scripts/transaction-manager.js +1 -1
- package/.aios-core/infrastructure/scripts/usage-analytics.js +1 -1
- package/.aios-core/infrastructure/scripts/visual-impact-generator.js +2 -2
- package/.aios-core/infrastructure/templates/github-workflows/README.md +109 -109
- package/.aios-core/infrastructure/tests/regression-suite-v2.md +621 -621
- package/.aios-core/infrastructure/tools/README.md +222 -222
- package/.aios-core/infrastructure/tools/cli/github-cli.yaml +200 -200
- package/.aios-core/infrastructure/tools/cli/railway-cli.yaml +260 -260
- package/.aios-core/infrastructure/tools/cli/supabase-cli.yaml +224 -224
- package/.aios-core/infrastructure/tools/local/ffmpeg.yaml +261 -261
- package/.aios-core/infrastructure/tools/mcp/21st-dev-magic.yaml +127 -127
- package/.aios-core/infrastructure/tools/mcp/browser.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/clickup.yaml +534 -534
- package/.aios-core/infrastructure/tools/mcp/context7.yaml +78 -78
- package/.aios-core/infrastructure/tools/mcp/desktop-commander.yaml +180 -180
- package/.aios-core/infrastructure/tools/mcp/exa.yaml +103 -103
- package/.aios-core/infrastructure/tools/mcp/google-workspace.yaml +930 -930
- package/.aios-core/infrastructure/tools/mcp/n8n.yaml +551 -551
- package/.aios-core/infrastructure/tools/mcp/supabase.yaml +808 -808
- package/.aios-core/install-manifest.yaml +347 -347
- package/.aios-core/product/README.md +56 -56
- package/.aios-core/product/checklists/accessibility-wcag-checklist.md +80 -0
- package/.aios-core/product/checklists/architect-checklist.md +443 -443
- package/.aios-core/product/checklists/change-checklist.md +182 -182
- package/.aios-core/product/checklists/component-quality-checklist.md +74 -0
- package/.aios-core/product/checklists/database-design-checklist.md +119 -119
- package/.aios-core/product/checklists/dba-predeploy-checklist.md +97 -97
- package/.aios-core/product/checklists/dba-rollback-checklist.md +99 -99
- package/.aios-core/product/checklists/migration-readiness-checklist.md +75 -0
- package/.aios-core/product/checklists/pattern-audit-checklist.md +88 -0
- package/.aios-core/product/checklists/pm-checklist.md +375 -375
- package/.aios-core/product/checklists/po-master-checklist.md +441 -441
- package/.aios-core/product/checklists/pre-push-checklist.md +108 -108
- package/.aios-core/product/checklists/release-checklist.md +122 -122
- package/.aios-core/product/checklists/story-dod-checklist.md +101 -101
- package/.aios-core/product/checklists/story-draft-checklist.md +215 -215
- package/.aios-core/product/data/atomic-design-principles.md +108 -0
- package/.aios-core/product/data/brainstorming-techniques.md +36 -36
- package/.aios-core/product/data/consolidation-algorithms.md +142 -0
- package/.aios-core/product/data/database-best-practices.md +182 -0
- package/.aios-core/product/data/design-token-best-practices.md +107 -0
- package/.aios-core/product/data/elicitation-methods.md +134 -134
- package/.aios-core/product/data/integration-patterns.md +207 -0
- package/.aios-core/product/data/migration-safety-guide.md +329 -0
- package/.aios-core/product/data/mode-selection-best-practices.md +471 -471
- package/.aios-core/product/data/postgres-tuning-guide.md +300 -0
- package/.aios-core/product/data/rls-security-patterns.md +333 -0
- package/.aios-core/product/data/roi-calculation-guide.md +142 -0
- package/.aios-core/product/data/supabase-patterns.md +330 -0
- package/.aios-core/product/data/test-levels-framework.md +148 -148
- package/.aios-core/product/data/test-priorities-matrix.md +174 -174
- package/.aios-core/product/data/wcag-compliance-guide.md +267 -0
- package/.aios-core/product/templates/1mcp-config.yaml +225 -225
- package/.aios-core/product/templates/activation-instructions-inline-greeting.yaml +63 -63
- package/.aios-core/product/templates/activation-instructions-template.md +258 -258
- package/.aios-core/product/templates/agent-template.yaml +120 -120
- package/.aios-core/product/templates/architecture-tmpl.yaml +650 -650
- package/.aios-core/product/templates/brainstorming-output-tmpl.yaml +155 -155
- package/.aios-core/product/templates/brownfield-architecture-tmpl.yaml +475 -475
- package/.aios-core/product/templates/brownfield-prd-tmpl.yaml +279 -279
- package/.aios-core/product/templates/changelog-template.md +134 -134
- package/.aios-core/product/templates/command-rationalization-matrix.md +152 -152
- package/.aios-core/product/templates/competitor-analysis-tmpl.yaml +292 -292
- package/.aios-core/product/templates/design-story-tmpl.yaml +587 -587
- package/.aios-core/product/templates/ds-artifact-analysis.md +70 -70
- package/.aios-core/product/templates/front-end-architecture-tmpl.yaml +205 -205
- package/.aios-core/product/templates/front-end-spec-tmpl.yaml +348 -348
- package/.aios-core/product/templates/fullstack-architecture-tmpl.yaml +804 -804
- package/.aios-core/product/templates/github-pr-template.md +67 -67
- package/.aios-core/product/templates/gordon-mcp.yaml +140 -140
- package/.aios-core/product/templates/ide-rules/antigravity-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/claude-rules.md +221 -221
- package/.aios-core/product/templates/ide-rules/cline-rules.md +84 -84
- package/.aios-core/product/templates/ide-rules/copilot-rules.md +92 -92
- package/.aios-core/product/templates/ide-rules/cursor-rules.md +115 -115
- package/.aios-core/product/templates/ide-rules/gemini-rules.md +85 -85
- package/.aios-core/product/templates/ide-rules/roo-rules.md +86 -86
- package/.aios-core/product/templates/ide-rules/trae-rules.md +104 -104
- package/.aios-core/product/templates/ide-rules/windsurf-rules.md +80 -80
- package/.aios-core/product/templates/index-strategy-tmpl.yaml +53 -53
- package/.aios-core/product/templates/market-research-tmpl.yaml +251 -251
- package/.aios-core/product/templates/mcp-workflow.js +271 -271
- package/.aios-core/product/templates/migration-plan-tmpl.yaml +1022 -1022
- package/.aios-core/product/templates/migration-strategy-tmpl.md +524 -524
- package/.aios-core/product/templates/personalized-agent-template.md +258 -258
- package/.aios-core/product/templates/personalized-checklist-template.md +340 -340
- package/.aios-core/product/templates/personalized-task-template-v2.md +905 -905
- package/.aios-core/product/templates/personalized-task-template.md +344 -344
- package/.aios-core/product/templates/personalized-template-file.yaml +322 -322
- package/.aios-core/product/templates/personalized-workflow-template.yaml +460 -460
- package/.aios-core/product/templates/prd-tmpl.yaml +201 -201
- package/.aios-core/product/templates/project-brief-tmpl.yaml +220 -220
- package/.aios-core/product/templates/qa-gate-tmpl.yaml +240 -240
- package/.aios-core/product/templates/rls-policies-tmpl.yaml +1203 -1203
- package/.aios-core/product/templates/schema-design-tmpl.yaml +428 -428
- package/.aios-core/product/templates/state-persistence-tmpl.yaml +219 -219
- package/.aios-core/product/templates/story-tmpl.yaml +331 -331
- package/.aios-core/product/templates/task-execution-report.md +495 -495
- package/.aios-core/product/templates/task-template.md +122 -122
- package/.aios-core/product/templates/token-exports-tailwind-tmpl.js +395 -395
- package/.aios-core/product/templates/tokens-schema-tmpl.yaml +305 -305
- package/.aios-core/product/templates/workflow-template.yaml +133 -133
- package/.aios-core/scripts/README.md +354 -354
- package/.aios-core/scripts/aios-doc-template.md +325 -325
- package/.aios-core/scripts/elicitation-engine.js +1 -1
- package/.aios-core/scripts/test-template-system.js +1 -1
- package/.aios-core/scripts/workflow-management.md +69 -69
- package/.aios-core/user-guide.md +1413 -1413
- package/.aios-core/working-in-the-brownfield.md +361 -361
- package/LICENSE +1 -1
- package/README.md +702 -703
- package/bin/aios-init-old.js +3 -3
- package/bin/aios-init-v4.js +1 -1
- package/bin/aios-init.backup-v1.1.4.js +1 -1
- package/bin/aios-init.js +3 -3
- package/bin/aios.js +279 -279
- package/bin/utils/install-errors.js +339 -339
- package/bin/utils/install-transaction.js +445 -445
- package/index.d.ts +18 -18
- package/index.esm.js +20 -20
- package/index.js +6 -6
- package/package.json +8 -10
- package/packages/installer/src/config/templates/env-template.js +27 -4
- package/packages/installer/src/detection/detect-project-type.js +81 -81
- package/packages/installer/tests/integration/wizard-detection.test.js +8 -6
- package/packages/installer/tests/unit/env-template.test.js +8 -8
- package/src/config/ide-configs.js +1 -1
- package/src/wizard/feedback.js +2 -2
- package/src/wizard/index.js +1 -1
- package/src/wizard/validation/report-generator.js +1 -1
- package/src/wizard/validation/troubleshooting-system.js +13 -13
- package/.aios-core/infrastructure/scripts/_archived/final-todo-count.js +0 -122
- package/.aios-core/infrastructure/scripts/_archived/fix-yaml-formatting.js +0 -89
- package/.aios-core/infrastructure/scripts/_archived/migration-generator.js +0 -780
- package/.aios-core/infrastructure/scripts/_archived/migration-path-generator.js +0 -950
- package/.aios-core/infrastructure/scripts/_archived/phase2-entrada-saida-errors.js +0 -425
- package/.aios-core/infrastructure/scripts/_archived/phase2-spot-check.js +0 -132
- package/.aios-core/infrastructure/scripts/_archived/phase3-tools-scripts-validation.js +0 -381
- package/.aios-core/infrastructure/scripts/_archived/phase4-metadata-performance.js +0 -203
- package/.aios-core/infrastructure/scripts/_archived/test-yaml-parsing.js +0 -24
- package/.aios-core/infrastructure/scripts/_archived/verify-yaml-fix.js +0 -51
- package/.aios-core/tasks/find-component.md.legacy +0 -391
- package/.aios-core/tasks/generate-commit-message.md.legacy +0 -426
- package/.aios-core/tasks/generate-migration.md.legacy +0 -382
- package/.aios-core/tasks/rollback-modification.md.legacy +0 -307
- package/.aios-core/tasks/update-tests.md.legacy +0 -283
|
@@ -1,457 +1,457 @@
|
|
|
1
|
-
---
|
|
2
|
-
tools:
|
|
3
|
-
- clickup # Required for ClickUp synchronization
|
|
4
|
-
checklists:
|
|
5
|
-
- po-master-checklist.md
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# sync-story-to-clickup
|
|
9
|
-
|
|
10
|
-
**Purpose:** Manually force synchronization of a local story file to ClickUp. Use this when you've edited a story file directly (via Edit tool) and need to ensure changes are reflected in ClickUp.
|
|
11
|
-
|
|
12
|
-
**When to Use:**
|
|
13
|
-
- After making changes to story file that didn't automatically sync
|
|
14
|
-
- When you want to force-push current story state to ClickUp
|
|
15
|
-
- After manual edits that bypassed story-manager utilities
|
|
16
|
-
- When sync seems out of date (check frontmatter last_sync timestamp)
|
|
17
|
-
|
|
18
|
-
## Execution Modes
|
|
19
|
-
|
|
20
|
-
**Choose your execution mode:**
|
|
21
|
-
|
|
22
|
-
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
23
|
-
- Autonomous decision making with logging
|
|
24
|
-
- Minimal user interaction
|
|
25
|
-
- **Best for:** Simple, deterministic tasks
|
|
26
|
-
|
|
27
|
-
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
28
|
-
- Explicit decision checkpoints
|
|
29
|
-
- Educational explanations
|
|
30
|
-
- **Best for:** Learning, complex decisions
|
|
31
|
-
|
|
32
|
-
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
33
|
-
- Task analysis phase (identify all ambiguities)
|
|
34
|
-
- Zero ambiguity execution
|
|
35
|
-
- **Best for:** Ambiguous requirements, critical work
|
|
36
|
-
|
|
37
|
-
**Parameter:** `mode` (optional, default: `interactive`)
|
|
38
|
-
|
|
39
|
-
---
|
|
40
|
-
|
|
41
|
-
## Task Definition (AIOS Task Format V1.0)
|
|
42
|
-
|
|
43
|
-
```yaml
|
|
44
|
-
task: poSyncStoryToClickup()
|
|
45
|
-
responsável: Pax (Balancer)
|
|
46
|
-
responsavel_type: Agente
|
|
47
|
-
atomic_layer: Organism
|
|
48
|
-
|
|
49
|
-
**Entrada:**
|
|
50
|
-
- campo: task
|
|
51
|
-
tipo: string
|
|
52
|
-
origem: User Input
|
|
53
|
-
obrigatório: true
|
|
54
|
-
validação: Must be registered task
|
|
55
|
-
|
|
56
|
-
- campo: parameters
|
|
57
|
-
tipo: object
|
|
58
|
-
origem: User Input
|
|
59
|
-
obrigatório: false
|
|
60
|
-
validação: Valid task parameters
|
|
61
|
-
|
|
62
|
-
- campo: mode
|
|
63
|
-
tipo: string
|
|
64
|
-
origem: User Input
|
|
65
|
-
obrigatório: false
|
|
66
|
-
validação: yolo|interactive|pre-flight
|
|
67
|
-
|
|
68
|
-
**Saída:**
|
|
69
|
-
- campo: execution_result
|
|
70
|
-
tipo: object
|
|
71
|
-
destino: Memory
|
|
72
|
-
persistido: false
|
|
73
|
-
|
|
74
|
-
- campo: logs
|
|
75
|
-
tipo: array
|
|
76
|
-
destino: File (.ai/logs/*)
|
|
77
|
-
persistido: true
|
|
78
|
-
|
|
79
|
-
- campo: state
|
|
80
|
-
tipo: object
|
|
81
|
-
destino: State management
|
|
82
|
-
persistido: true
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Pre-Conditions
|
|
88
|
-
|
|
89
|
-
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
90
|
-
|
|
91
|
-
**Checklist:**
|
|
92
|
-
|
|
93
|
-
```yaml
|
|
94
|
-
pre-conditions:
|
|
95
|
-
- [ ] Task is registered; required parameters provided; dependencies met
|
|
96
|
-
tipo: pre-condition
|
|
97
|
-
blocker: true
|
|
98
|
-
validação: |
|
|
99
|
-
Check task is registered; required parameters provided; dependencies met
|
|
100
|
-
error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Post-Conditions
|
|
106
|
-
|
|
107
|
-
**Purpose:** Validate execution success AFTER task completes
|
|
108
|
-
|
|
109
|
-
**Checklist:**
|
|
110
|
-
|
|
111
|
-
```yaml
|
|
112
|
-
post-conditions:
|
|
113
|
-
- [ ] Task completed; exit code 0; expected outputs created
|
|
114
|
-
tipo: post-condition
|
|
115
|
-
blocker: true
|
|
116
|
-
validação: |
|
|
117
|
-
Verify task completed; exit code 0; expected outputs created
|
|
118
|
-
error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Acceptance Criteria
|
|
124
|
-
|
|
125
|
-
**Purpose:** Definitive pass/fail criteria for task completion
|
|
126
|
-
|
|
127
|
-
**Checklist:**
|
|
128
|
-
|
|
129
|
-
```yaml
|
|
130
|
-
acceptance-criteria:
|
|
131
|
-
- [ ] Task completed as expected; side effects documented
|
|
132
|
-
tipo: acceptance-criterion
|
|
133
|
-
blocker: true
|
|
134
|
-
validação: |
|
|
135
|
-
Assert task completed as expected; side effects documented
|
|
136
|
-
error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
---
|
|
140
|
-
|
|
141
|
-
## Tools
|
|
142
|
-
|
|
143
|
-
**External/shared resources used by this task:**
|
|
144
|
-
|
|
145
|
-
- **Tool:** task-runner
|
|
146
|
-
- **Purpose:** Task execution and orchestration
|
|
147
|
-
- **Source:** .aios-core/core/task-runner.js
|
|
148
|
-
|
|
149
|
-
- **Tool:** logger
|
|
150
|
-
- **Purpose:** Execution logging and error tracking
|
|
151
|
-
- **Source:** .aios-core/utils/logger.js
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## Scripts
|
|
156
|
-
|
|
157
|
-
**Agent-specific code for this task:**
|
|
158
|
-
|
|
159
|
-
- **Script:** execute-task.js
|
|
160
|
-
- **Purpose:** Generic task execution wrapper
|
|
161
|
-
- **Language:** JavaScript
|
|
162
|
-
- **Location:** .aios-core/scripts/execute-task.js
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Error Handling
|
|
167
|
-
|
|
168
|
-
**Strategy:** retry
|
|
169
|
-
|
|
170
|
-
**Common Errors:**
|
|
171
|
-
|
|
172
|
-
1. **Error:** Task Not Found
|
|
173
|
-
- **Cause:** Specified task not registered in system
|
|
174
|
-
- **Resolution:** Verify task name and registration
|
|
175
|
-
- **Recovery:** List available tasks, suggest similar
|
|
176
|
-
|
|
177
|
-
2. **Error:** Invalid Parameters
|
|
178
|
-
- **Cause:** Task parameters do not match expected schema
|
|
179
|
-
- **Resolution:** Validate parameters against task definition
|
|
180
|
-
- **Recovery:** Provide parameter template, reject execution
|
|
181
|
-
|
|
182
|
-
3. **Error:** Execution Timeout
|
|
183
|
-
- **Cause:** Task exceeds maximum execution time
|
|
184
|
-
- **Resolution:** Optimize task or increase timeout
|
|
185
|
-
- **Recovery:** Kill task, cleanup resources, log state
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
|
-
## Performance
|
|
190
|
-
|
|
191
|
-
**Expected Metrics:**
|
|
192
|
-
|
|
193
|
-
```yaml
|
|
194
|
-
duration_expected: 5-15 min (estimated)
|
|
195
|
-
cost_estimated: $0.003-0.010
|
|
196
|
-
token_usage: ~3,000-10,000 tokens
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**Optimization Notes:**
|
|
200
|
-
- Break into smaller workflows; implement checkpointing; use async processing where possible
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## Metadata
|
|
205
|
-
|
|
206
|
-
```yaml
|
|
207
|
-
story: N/A
|
|
208
|
-
version: 1.0.0
|
|
209
|
-
dependencies:
|
|
210
|
-
- N/A
|
|
211
|
-
tags:
|
|
212
|
-
- product-management
|
|
213
|
-
- planning
|
|
214
|
-
updated_at: 2025-11-17
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
## Task Inputs
|
|
221
|
-
|
|
222
|
-
```yaml
|
|
223
|
-
required:
|
|
224
|
-
- story_id: '{epic}.{story}' # e.g., "99.2" or "5.2.2"
|
|
225
|
-
|
|
226
|
-
optional:
|
|
227
|
-
- force: false # If true, sync even if no changes detected
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
## Prerequisites
|
|
231
|
-
|
|
232
|
-
- Story file must exist in `docs/stories/`
|
|
233
|
-
- Story must have ClickUp metadata in frontmatter (clickup.task_id)
|
|
234
|
-
- ClickUp MCP tool must be available and authenticated
|
|
235
|
-
|
|
236
|
-
## Task Execution Steps
|
|
237
|
-
|
|
238
|
-
### Step 1: Locate Story File
|
|
239
|
-
|
|
240
|
-
- Find story file in `docs/stories/` matching story_id pattern
|
|
241
|
-
- Expected format: `{epic}.{story}.*.md`
|
|
242
|
-
- If multiple files found, show list and ask user to clarify
|
|
243
|
-
- If no file found, ERROR and exit
|
|
244
|
-
|
|
245
|
-
### Step 2: Parse Story File
|
|
246
|
-
|
|
247
|
-
- Read current story file content
|
|
248
|
-
- Extract frontmatter with YAML parser
|
|
249
|
-
- Verify `clickup.task_id` exists in frontmatter
|
|
250
|
-
- If task_id missing:
|
|
251
|
-
- ERROR: "Story has no ClickUp integration metadata"
|
|
252
|
-
- Suggest: Check if story was created via ClickUp workflow
|
|
253
|
-
- EXIT task
|
|
254
|
-
|
|
255
|
-
### Step 3: Prepare Sync Data
|
|
256
|
-
|
|
257
|
-
Extract from story file:
|
|
258
|
-
- Full markdown content (for description update)
|
|
259
|
-
- Current status from frontmatter
|
|
260
|
-
- Tasks/checkboxes (for change detection)
|
|
261
|
-
- File List section
|
|
262
|
-
- Dev Notes section
|
|
263
|
-
- Acceptance Criteria section
|
|
264
|
-
|
|
265
|
-
### Step 4: Sync to ClickUp
|
|
266
|
-
|
|
267
|
-
**CRITICAL:** Use the story-manager module for proper sync
|
|
268
|
-
|
|
269
|
-
```javascript
|
|
270
|
-
const { saveStoryFile } = require('../../common/scripts/story-manager');
|
|
271
|
-
|
|
272
|
-
// Read current content
|
|
273
|
-
const currentContent = await fs.readFile(storyFilePath, 'utf-8');
|
|
274
|
-
|
|
275
|
-
// Force sync by re-saving with skipSync=false
|
|
276
|
-
await saveStoryFile(storyFilePath, currentContent, false);
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
**What This Does:**
|
|
280
|
-
1. Detects changes between previous and current content
|
|
281
|
-
2. Updates ClickUp task description with full markdown
|
|
282
|
-
3. Updates story-status custom field if status changed
|
|
283
|
-
4. Adds changelog comment if tasks completed or files added
|
|
284
|
-
5. Updates last_sync timestamp in frontmatter
|
|
285
|
-
|
|
286
|
-
### Step 5: Verify Sync Success
|
|
287
|
-
|
|
288
|
-
- Check that last_sync timestamp was updated in frontmatter
|
|
289
|
-
- Log sync results:
|
|
290
|
-
- Status changes detected
|
|
291
|
-
- Number of tasks completed
|
|
292
|
-
- Files added
|
|
293
|
-
- Other changes synced
|
|
294
|
-
|
|
295
|
-
### Step 6: Output Results
|
|
296
|
-
|
|
297
|
-
Display formatted summary:
|
|
298
|
-
|
|
299
|
-
```markdown
|
|
300
|
-
✅ Story {story_id} synchronized to ClickUp
|
|
301
|
-
|
|
302
|
-
**Task ID:** {task_id}
|
|
303
|
-
**Task URL:** {url}
|
|
304
|
-
**Last Sync:** {timestamp}
|
|
305
|
-
|
|
306
|
-
**Changes Synced:**
|
|
307
|
-
- Status: {old_status} → {new_status} (if changed)
|
|
308
|
-
- Tasks completed: {count}
|
|
309
|
-
- Files added: {count}
|
|
310
|
-
- Dev Notes updated: {yes/no}
|
|
311
|
-
- Acceptance Criteria updated: {yes/no}
|
|
312
|
-
|
|
313
|
-
**ClickUp Updates:**
|
|
314
|
-
- Task description updated with full story markdown
|
|
315
|
-
- story-status custom field updated
|
|
316
|
-
- Changelog comment added to task
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
## Error Handling
|
|
320
|
-
|
|
321
|
-
**Error: Story file not found**
|
|
322
|
-
```
|
|
323
|
-
❌ Story file not found for ID: {story_id}
|
|
324
|
-
|
|
325
|
-
Please check:
|
|
326
|
-
- Story ID format correct? (e.g., "99.2" not "Story 99.2")
|
|
327
|
-
- Story file exists in docs/stories/?
|
|
328
|
-
- File naming follows pattern: {epic}.{story}.*.md
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
**Error: No ClickUp metadata**
|
|
332
|
-
```
|
|
333
|
-
❌ Story has no ClickUp integration
|
|
334
|
-
|
|
335
|
-
This story was not created via ClickUp workflow and has no task_id.
|
|
336
|
-
|
|
337
|
-
To integrate with ClickUp:
|
|
338
|
-
1. Create ClickUp task manually in Backlog list
|
|
339
|
-
2. Add frontmatter metadata:
|
|
340
|
-
clickup:
|
|
341
|
-
task_id: "your-task-id"
|
|
342
|
-
epic_task_id: "parent-epic-id"
|
|
343
|
-
list: "Backlog"
|
|
344
|
-
url: "https://app.clickup.com/t/task-id"
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
**Error: ClickUp API failure**
|
|
348
|
-
```
|
|
349
|
-
❌ Failed to sync to ClickUp: {error_message}
|
|
350
|
-
|
|
351
|
-
Please check:
|
|
352
|
-
- ClickUp MCP tool is authenticated
|
|
353
|
-
- Task ID is valid and accessible
|
|
354
|
-
- Network connection is stable
|
|
355
|
-
- ClickUp API is operational
|
|
356
|
-
|
|
357
|
-
You can verify task manually at:
|
|
358
|
-
{task_url}
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
**Error: No changes detected (with force=false)**
|
|
362
|
-
```
|
|
363
|
-
ℹ️ No changes detected - sync not needed
|
|
364
|
-
|
|
365
|
-
Story is already synchronized with ClickUp.
|
|
366
|
-
Last sync: {timestamp}
|
|
367
|
-
|
|
368
|
-
Use force=true to sync anyway:
|
|
369
|
-
*sync-story {story_id} --force
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
## Usage Examples
|
|
373
|
-
|
|
374
|
-
### Basic Sync
|
|
375
|
-
```
|
|
376
|
-
*sync-story 99.2
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### Force Sync (even if no changes)
|
|
380
|
-
```
|
|
381
|
-
*sync-story 5.2.2 --force
|
|
382
|
-
```
|
|
383
|
-
|
|
384
|
-
### After Manual Edits
|
|
385
|
-
```
|
|
386
|
-
# Scenario: You used Edit tool to update story file
|
|
387
|
-
1. Edit story file with changes
|
|
388
|
-
2. Run: *sync-story {story_id}
|
|
389
|
-
3. Verify sync success message
|
|
390
|
-
4. Check ClickUp UI to confirm updates
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
## Integration Notes
|
|
394
|
-
|
|
395
|
-
**For PO Agent:**
|
|
396
|
-
- Add to po.md commands: `sync-story {story}`: Force sync story to ClickUp
|
|
397
|
-
- Use after manual story edits or when validation updates story
|
|
398
|
-
|
|
399
|
-
**For Dev Agent:**
|
|
400
|
-
- Add to dev.md commands: `sync-story {story}`: Force sync story to ClickUp
|
|
401
|
-
- Use after marking tasks complete or updating File List
|
|
402
|
-
|
|
403
|
-
**For QA Agent:**
|
|
404
|
-
- Add to qa.md commands: `sync-story {story}`: Force sync story to ClickUp
|
|
405
|
-
- Use after adding QA Results section
|
|
406
|
-
|
|
407
|
-
**Best Practice:**
|
|
408
|
-
- Agents should use story-manager utilities when possible (automatic sync)
|
|
409
|
-
- Use this task only when direct file edits were made
|
|
410
|
-
- Check last_sync timestamp to verify sync freshness
|
|
411
|
-
|
|
412
|
-
## Technical Implementation
|
|
413
|
-
|
|
414
|
-
**Dependencies:**
|
|
415
|
-
- `common/scripts/story-manager.js` - saveStoryFile function
|
|
416
|
-
- `common/scripts/story-update-hook.js` - detectChanges, syncStoryToClickUp
|
|
417
|
-
- `common/scripts/clickup-helpers.js` - ClickUp API wrappers
|
|
418
|
-
- ClickUp MCP tool (via global.mcp__clickup__* or tool-resolver)
|
|
419
|
-
|
|
420
|
-
**Process Flow:**
|
|
421
|
-
```
|
|
422
|
-
Task invoked
|
|
423
|
-
↓
|
|
424
|
-
Read story file
|
|
425
|
-
↓
|
|
426
|
-
Parse frontmatter for task_id
|
|
427
|
-
↓
|
|
428
|
-
Call story-manager.saveStoryFile()
|
|
429
|
-
↓
|
|
430
|
-
├─ detectChanges() identifies diffs
|
|
431
|
-
├─ syncStoryToClickUp() orchestrates updates
|
|
432
|
-
├─ updateTaskDescription() if AC/content changed
|
|
433
|
-
├─ updateStoryStatus() if status changed
|
|
434
|
-
└─ addTaskComment() with changelog
|
|
435
|
-
↓
|
|
436
|
-
Update last_sync timestamp
|
|
437
|
-
↓
|
|
438
|
-
Return sync results
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
## Testing This Task
|
|
442
|
-
|
|
443
|
-
**Manual Test:**
|
|
444
|
-
1. Edit Story 99.2 directly (mark a checkbox)
|
|
445
|
-
2. Note current last_sync timestamp
|
|
446
|
-
3. Run: `*sync-story 99.2`
|
|
447
|
-
4. Verify:
|
|
448
|
-
- last_sync timestamp updated
|
|
449
|
-
- ClickUp task shows changelog comment
|
|
450
|
-
- Checkbox change reflected in ClickUp
|
|
451
|
-
- Task description updated
|
|
452
|
-
|
|
453
|
-
**Automated Test:** `tests/tasks/sync-story-to-clickup.test.js`
|
|
454
|
-
|
|
455
|
-
---
|
|
456
|
-
|
|
457
|
-
*Task created to provide manual sync control for ClickUp integration*
|
|
1
|
+
---
|
|
2
|
+
tools:
|
|
3
|
+
- clickup # Required for ClickUp synchronization
|
|
4
|
+
checklists:
|
|
5
|
+
- po-master-checklist.md
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# sync-story-to-clickup
|
|
9
|
+
|
|
10
|
+
**Purpose:** Manually force synchronization of a local story file to ClickUp. Use this when you've edited a story file directly (via Edit tool) and need to ensure changes are reflected in ClickUp.
|
|
11
|
+
|
|
12
|
+
**When to Use:**
|
|
13
|
+
- After making changes to story file that didn't automatically sync
|
|
14
|
+
- When you want to force-push current story state to ClickUp
|
|
15
|
+
- After manual edits that bypassed story-manager utilities
|
|
16
|
+
- When sync seems out of date (check frontmatter last_sync timestamp)
|
|
17
|
+
|
|
18
|
+
## Execution Modes
|
|
19
|
+
|
|
20
|
+
**Choose your execution mode:**
|
|
21
|
+
|
|
22
|
+
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
23
|
+
- Autonomous decision making with logging
|
|
24
|
+
- Minimal user interaction
|
|
25
|
+
- **Best for:** Simple, deterministic tasks
|
|
26
|
+
|
|
27
|
+
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
28
|
+
- Explicit decision checkpoints
|
|
29
|
+
- Educational explanations
|
|
30
|
+
- **Best for:** Learning, complex decisions
|
|
31
|
+
|
|
32
|
+
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
33
|
+
- Task analysis phase (identify all ambiguities)
|
|
34
|
+
- Zero ambiguity execution
|
|
35
|
+
- **Best for:** Ambiguous requirements, critical work
|
|
36
|
+
|
|
37
|
+
**Parameter:** `mode` (optional, default: `interactive`)
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Task Definition (AIOS Task Format V1.0)
|
|
42
|
+
|
|
43
|
+
```yaml
|
|
44
|
+
task: poSyncStoryToClickup()
|
|
45
|
+
responsável: Pax (Balancer)
|
|
46
|
+
responsavel_type: Agente
|
|
47
|
+
atomic_layer: Organism
|
|
48
|
+
|
|
49
|
+
**Entrada:**
|
|
50
|
+
- campo: task
|
|
51
|
+
tipo: string
|
|
52
|
+
origem: User Input
|
|
53
|
+
obrigatório: true
|
|
54
|
+
validação: Must be registered task
|
|
55
|
+
|
|
56
|
+
- campo: parameters
|
|
57
|
+
tipo: object
|
|
58
|
+
origem: User Input
|
|
59
|
+
obrigatório: false
|
|
60
|
+
validação: Valid task parameters
|
|
61
|
+
|
|
62
|
+
- campo: mode
|
|
63
|
+
tipo: string
|
|
64
|
+
origem: User Input
|
|
65
|
+
obrigatório: false
|
|
66
|
+
validação: yolo|interactive|pre-flight
|
|
67
|
+
|
|
68
|
+
**Saída:**
|
|
69
|
+
- campo: execution_result
|
|
70
|
+
tipo: object
|
|
71
|
+
destino: Memory
|
|
72
|
+
persistido: false
|
|
73
|
+
|
|
74
|
+
- campo: logs
|
|
75
|
+
tipo: array
|
|
76
|
+
destino: File (.ai/logs/*)
|
|
77
|
+
persistido: true
|
|
78
|
+
|
|
79
|
+
- campo: state
|
|
80
|
+
tipo: object
|
|
81
|
+
destino: State management
|
|
82
|
+
persistido: true
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Pre-Conditions
|
|
88
|
+
|
|
89
|
+
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
90
|
+
|
|
91
|
+
**Checklist:**
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
pre-conditions:
|
|
95
|
+
- [ ] Task is registered; required parameters provided; dependencies met
|
|
96
|
+
tipo: pre-condition
|
|
97
|
+
blocker: true
|
|
98
|
+
validação: |
|
|
99
|
+
Check task is registered; required parameters provided; dependencies met
|
|
100
|
+
error_message: "Pre-condition failed: Task is registered; required parameters provided; dependencies met"
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Post-Conditions
|
|
106
|
+
|
|
107
|
+
**Purpose:** Validate execution success AFTER task completes
|
|
108
|
+
|
|
109
|
+
**Checklist:**
|
|
110
|
+
|
|
111
|
+
```yaml
|
|
112
|
+
post-conditions:
|
|
113
|
+
- [ ] Task completed; exit code 0; expected outputs created
|
|
114
|
+
tipo: post-condition
|
|
115
|
+
blocker: true
|
|
116
|
+
validação: |
|
|
117
|
+
Verify task completed; exit code 0; expected outputs created
|
|
118
|
+
error_message: "Post-condition failed: Task completed; exit code 0; expected outputs created"
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Acceptance Criteria
|
|
124
|
+
|
|
125
|
+
**Purpose:** Definitive pass/fail criteria for task completion
|
|
126
|
+
|
|
127
|
+
**Checklist:**
|
|
128
|
+
|
|
129
|
+
```yaml
|
|
130
|
+
acceptance-criteria:
|
|
131
|
+
- [ ] Task completed as expected; side effects documented
|
|
132
|
+
tipo: acceptance-criterion
|
|
133
|
+
blocker: true
|
|
134
|
+
validação: |
|
|
135
|
+
Assert task completed as expected; side effects documented
|
|
136
|
+
error_message: "Acceptance criterion not met: Task completed as expected; side effects documented"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Tools
|
|
142
|
+
|
|
143
|
+
**External/shared resources used by this task:**
|
|
144
|
+
|
|
145
|
+
- **Tool:** task-runner
|
|
146
|
+
- **Purpose:** Task execution and orchestration
|
|
147
|
+
- **Source:** .aios-core/core/task-runner.js
|
|
148
|
+
|
|
149
|
+
- **Tool:** logger
|
|
150
|
+
- **Purpose:** Execution logging and error tracking
|
|
151
|
+
- **Source:** .aios-core/utils/logger.js
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Scripts
|
|
156
|
+
|
|
157
|
+
**Agent-specific code for this task:**
|
|
158
|
+
|
|
159
|
+
- **Script:** execute-task.js
|
|
160
|
+
- **Purpose:** Generic task execution wrapper
|
|
161
|
+
- **Language:** JavaScript
|
|
162
|
+
- **Location:** .aios-core/scripts/execute-task.js
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Error Handling
|
|
167
|
+
|
|
168
|
+
**Strategy:** retry
|
|
169
|
+
|
|
170
|
+
**Common Errors:**
|
|
171
|
+
|
|
172
|
+
1. **Error:** Task Not Found
|
|
173
|
+
- **Cause:** Specified task not registered in system
|
|
174
|
+
- **Resolution:** Verify task name and registration
|
|
175
|
+
- **Recovery:** List available tasks, suggest similar
|
|
176
|
+
|
|
177
|
+
2. **Error:** Invalid Parameters
|
|
178
|
+
- **Cause:** Task parameters do not match expected schema
|
|
179
|
+
- **Resolution:** Validate parameters against task definition
|
|
180
|
+
- **Recovery:** Provide parameter template, reject execution
|
|
181
|
+
|
|
182
|
+
3. **Error:** Execution Timeout
|
|
183
|
+
- **Cause:** Task exceeds maximum execution time
|
|
184
|
+
- **Resolution:** Optimize task or increase timeout
|
|
185
|
+
- **Recovery:** Kill task, cleanup resources, log state
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Performance
|
|
190
|
+
|
|
191
|
+
**Expected Metrics:**
|
|
192
|
+
|
|
193
|
+
```yaml
|
|
194
|
+
duration_expected: 5-15 min (estimated)
|
|
195
|
+
cost_estimated: $0.003-0.010
|
|
196
|
+
token_usage: ~3,000-10,000 tokens
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Optimization Notes:**
|
|
200
|
+
- Break into smaller workflows; implement checkpointing; use async processing where possible
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Metadata
|
|
205
|
+
|
|
206
|
+
```yaml
|
|
207
|
+
story: N/A
|
|
208
|
+
version: 1.0.0
|
|
209
|
+
dependencies:
|
|
210
|
+
- N/A
|
|
211
|
+
tags:
|
|
212
|
+
- product-management
|
|
213
|
+
- planning
|
|
214
|
+
updated_at: 2025-11-17
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
## Task Inputs
|
|
221
|
+
|
|
222
|
+
```yaml
|
|
223
|
+
required:
|
|
224
|
+
- story_id: '{epic}.{story}' # e.g., "99.2" or "5.2.2"
|
|
225
|
+
|
|
226
|
+
optional:
|
|
227
|
+
- force: false # If true, sync even if no changes detected
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
## Prerequisites
|
|
231
|
+
|
|
232
|
+
- Story file must exist in `docs/stories/`
|
|
233
|
+
- Story must have ClickUp metadata in frontmatter (clickup.task_id)
|
|
234
|
+
- ClickUp MCP tool must be available and authenticated
|
|
235
|
+
|
|
236
|
+
## Task Execution Steps
|
|
237
|
+
|
|
238
|
+
### Step 1: Locate Story File
|
|
239
|
+
|
|
240
|
+
- Find story file in `docs/stories/` matching story_id pattern
|
|
241
|
+
- Expected format: `{epic}.{story}.*.md`
|
|
242
|
+
- If multiple files found, show list and ask user to clarify
|
|
243
|
+
- If no file found, ERROR and exit
|
|
244
|
+
|
|
245
|
+
### Step 2: Parse Story File
|
|
246
|
+
|
|
247
|
+
- Read current story file content
|
|
248
|
+
- Extract frontmatter with YAML parser
|
|
249
|
+
- Verify `clickup.task_id` exists in frontmatter
|
|
250
|
+
- If task_id missing:
|
|
251
|
+
- ERROR: "Story has no ClickUp integration metadata"
|
|
252
|
+
- Suggest: Check if story was created via ClickUp workflow
|
|
253
|
+
- EXIT task
|
|
254
|
+
|
|
255
|
+
### Step 3: Prepare Sync Data
|
|
256
|
+
|
|
257
|
+
Extract from story file:
|
|
258
|
+
- Full markdown content (for description update)
|
|
259
|
+
- Current status from frontmatter
|
|
260
|
+
- Tasks/checkboxes (for change detection)
|
|
261
|
+
- File List section
|
|
262
|
+
- Dev Notes section
|
|
263
|
+
- Acceptance Criteria section
|
|
264
|
+
|
|
265
|
+
### Step 4: Sync to ClickUp
|
|
266
|
+
|
|
267
|
+
**CRITICAL:** Use the story-manager module for proper sync
|
|
268
|
+
|
|
269
|
+
```javascript
|
|
270
|
+
const { saveStoryFile } = require('../../common/scripts/story-manager');
|
|
271
|
+
|
|
272
|
+
// Read current content
|
|
273
|
+
const currentContent = await fs.readFile(storyFilePath, 'utf-8');
|
|
274
|
+
|
|
275
|
+
// Force sync by re-saving with skipSync=false
|
|
276
|
+
await saveStoryFile(storyFilePath, currentContent, false);
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**What This Does:**
|
|
280
|
+
1. Detects changes between previous and current content
|
|
281
|
+
2. Updates ClickUp task description with full markdown
|
|
282
|
+
3. Updates story-status custom field if status changed
|
|
283
|
+
4. Adds changelog comment if tasks completed or files added
|
|
284
|
+
5. Updates last_sync timestamp in frontmatter
|
|
285
|
+
|
|
286
|
+
### Step 5: Verify Sync Success
|
|
287
|
+
|
|
288
|
+
- Check that last_sync timestamp was updated in frontmatter
|
|
289
|
+
- Log sync results:
|
|
290
|
+
- Status changes detected
|
|
291
|
+
- Number of tasks completed
|
|
292
|
+
- Files added
|
|
293
|
+
- Other changes synced
|
|
294
|
+
|
|
295
|
+
### Step 6: Output Results
|
|
296
|
+
|
|
297
|
+
Display formatted summary:
|
|
298
|
+
|
|
299
|
+
```markdown
|
|
300
|
+
✅ Story {story_id} synchronized to ClickUp
|
|
301
|
+
|
|
302
|
+
**Task ID:** {task_id}
|
|
303
|
+
**Task URL:** {url}
|
|
304
|
+
**Last Sync:** {timestamp}
|
|
305
|
+
|
|
306
|
+
**Changes Synced:**
|
|
307
|
+
- Status: {old_status} → {new_status} (if changed)
|
|
308
|
+
- Tasks completed: {count}
|
|
309
|
+
- Files added: {count}
|
|
310
|
+
- Dev Notes updated: {yes/no}
|
|
311
|
+
- Acceptance Criteria updated: {yes/no}
|
|
312
|
+
|
|
313
|
+
**ClickUp Updates:**
|
|
314
|
+
- Task description updated with full story markdown
|
|
315
|
+
- story-status custom field updated
|
|
316
|
+
- Changelog comment added to task
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
## Error Handling
|
|
320
|
+
|
|
321
|
+
**Error: Story file not found**
|
|
322
|
+
```
|
|
323
|
+
❌ Story file not found for ID: {story_id}
|
|
324
|
+
|
|
325
|
+
Please check:
|
|
326
|
+
- Story ID format correct? (e.g., "99.2" not "Story 99.2")
|
|
327
|
+
- Story file exists in docs/stories/?
|
|
328
|
+
- File naming follows pattern: {epic}.{story}.*.md
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
**Error: No ClickUp metadata**
|
|
332
|
+
```
|
|
333
|
+
❌ Story has no ClickUp integration
|
|
334
|
+
|
|
335
|
+
This story was not created via ClickUp workflow and has no task_id.
|
|
336
|
+
|
|
337
|
+
To integrate with ClickUp:
|
|
338
|
+
1. Create ClickUp task manually in Backlog list
|
|
339
|
+
2. Add frontmatter metadata:
|
|
340
|
+
clickup:
|
|
341
|
+
task_id: "your-task-id"
|
|
342
|
+
epic_task_id: "parent-epic-id"
|
|
343
|
+
list: "Backlog"
|
|
344
|
+
url: "https://app.clickup.com/t/task-id"
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**Error: ClickUp API failure**
|
|
348
|
+
```
|
|
349
|
+
❌ Failed to sync to ClickUp: {error_message}
|
|
350
|
+
|
|
351
|
+
Please check:
|
|
352
|
+
- ClickUp MCP tool is authenticated
|
|
353
|
+
- Task ID is valid and accessible
|
|
354
|
+
- Network connection is stable
|
|
355
|
+
- ClickUp API is operational
|
|
356
|
+
|
|
357
|
+
You can verify task manually at:
|
|
358
|
+
{task_url}
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Error: No changes detected (with force=false)**
|
|
362
|
+
```
|
|
363
|
+
ℹ️ No changes detected - sync not needed
|
|
364
|
+
|
|
365
|
+
Story is already synchronized with ClickUp.
|
|
366
|
+
Last sync: {timestamp}
|
|
367
|
+
|
|
368
|
+
Use force=true to sync anyway:
|
|
369
|
+
*sync-story {story_id} --force
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
## Usage Examples
|
|
373
|
+
|
|
374
|
+
### Basic Sync
|
|
375
|
+
```
|
|
376
|
+
*sync-story 99.2
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
### Force Sync (even if no changes)
|
|
380
|
+
```
|
|
381
|
+
*sync-story 5.2.2 --force
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
### After Manual Edits
|
|
385
|
+
```
|
|
386
|
+
# Scenario: You used Edit tool to update story file
|
|
387
|
+
1. Edit story file with changes
|
|
388
|
+
2. Run: *sync-story {story_id}
|
|
389
|
+
3. Verify sync success message
|
|
390
|
+
4. Check ClickUp UI to confirm updates
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## Integration Notes
|
|
394
|
+
|
|
395
|
+
**For PO Agent:**
|
|
396
|
+
- Add to po.md commands: `sync-story {story}`: Force sync story to ClickUp
|
|
397
|
+
- Use after manual story edits or when validation updates story
|
|
398
|
+
|
|
399
|
+
**For Dev Agent:**
|
|
400
|
+
- Add to dev.md commands: `sync-story {story}`: Force sync story to ClickUp
|
|
401
|
+
- Use after marking tasks complete or updating File List
|
|
402
|
+
|
|
403
|
+
**For QA Agent:**
|
|
404
|
+
- Add to qa.md commands: `sync-story {story}`: Force sync story to ClickUp
|
|
405
|
+
- Use after adding QA Results section
|
|
406
|
+
|
|
407
|
+
**Best Practice:**
|
|
408
|
+
- Agents should use story-manager utilities when possible (automatic sync)
|
|
409
|
+
- Use this task only when direct file edits were made
|
|
410
|
+
- Check last_sync timestamp to verify sync freshness
|
|
411
|
+
|
|
412
|
+
## Technical Implementation
|
|
413
|
+
|
|
414
|
+
**Dependencies:**
|
|
415
|
+
- `common/scripts/story-manager.js` - saveStoryFile function
|
|
416
|
+
- `common/scripts/story-update-hook.js` - detectChanges, syncStoryToClickUp
|
|
417
|
+
- `common/scripts/clickup-helpers.js` - ClickUp API wrappers
|
|
418
|
+
- ClickUp MCP tool (via global.mcp__clickup__* or tool-resolver)
|
|
419
|
+
|
|
420
|
+
**Process Flow:**
|
|
421
|
+
```
|
|
422
|
+
Task invoked
|
|
423
|
+
↓
|
|
424
|
+
Read story file
|
|
425
|
+
↓
|
|
426
|
+
Parse frontmatter for task_id
|
|
427
|
+
↓
|
|
428
|
+
Call story-manager.saveStoryFile()
|
|
429
|
+
↓
|
|
430
|
+
├─ detectChanges() identifies diffs
|
|
431
|
+
├─ syncStoryToClickUp() orchestrates updates
|
|
432
|
+
├─ updateTaskDescription() if AC/content changed
|
|
433
|
+
├─ updateStoryStatus() if status changed
|
|
434
|
+
└─ addTaskComment() with changelog
|
|
435
|
+
↓
|
|
436
|
+
Update last_sync timestamp
|
|
437
|
+
↓
|
|
438
|
+
Return sync results
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
## Testing This Task
|
|
442
|
+
|
|
443
|
+
**Manual Test:**
|
|
444
|
+
1. Edit Story 99.2 directly (mark a checkbox)
|
|
445
|
+
2. Note current last_sync timestamp
|
|
446
|
+
3. Run: `*sync-story 99.2`
|
|
447
|
+
4. Verify:
|
|
448
|
+
- last_sync timestamp updated
|
|
449
|
+
- ClickUp task shows changelog comment
|
|
450
|
+
- Checkbox change reflected in ClickUp
|
|
451
|
+
- Task description updated
|
|
452
|
+
|
|
453
|
+
**Automated Test:** `tests/tasks/sync-story-to-clickup.test.js`
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
457
|
+
*Task created to provide manual sync control for ClickUp integration*
|