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,584 +1,584 @@
|
|
|
1
|
-
# Setup Docker MCP Toolkit
|
|
2
|
-
|
|
3
|
-
**Task ID:** setup-mcp-docker
|
|
4
|
-
**Version:** 2.0.0
|
|
5
|
-
**Created:** 2025-12-08
|
|
6
|
-
**Updated:** 2025-12-08
|
|
7
|
-
**Agent:** @devops (Gage) / @dev (Dex)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Purpose
|
|
12
|
-
|
|
13
|
-
Configure Docker MCP Toolkit as the primary MCP infrastructure for AIOS, using **HTTP transport** instead of stdio to avoid timeout issues during gateway initialization.
|
|
14
|
-
|
|
15
|
-
**Key Changes in v2.0:**
|
|
16
|
-
- Uses HTTP/SSE transport (fixes 30s timeout issue)
|
|
17
|
-
- Gateway runs as persistent Docker Compose service
|
|
18
|
-
- Presets: `minimal` (no API keys) and `full` (with API keys)
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## AIOS Default MCPs
|
|
23
|
-
|
|
24
|
-
| Preset | MCPs | API Key Required | Tokens |
|
|
25
|
-
|--------|------|------------------|--------|
|
|
26
|
-
| **minimal** | context7, desktop-commander, playwright | No | ~10-15k |
|
|
27
|
-
| **full** | minimal + exa | Yes (EXA_API_KEY) | ~20-25k |
|
|
28
|
-
|
|
29
|
-
**Minimal Preset MCPs:**
|
|
30
|
-
- **context7** - Library documentation lookups
|
|
31
|
-
- **desktop-commander** - File management + terminal commands
|
|
32
|
-
- **playwright** - Browser automation for testing
|
|
33
|
-
|
|
34
|
-
**Full Preset Adds:**
|
|
35
|
-
- **exa** - AI-powered web search (requires `EXA_API_KEY`)
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Execution Modes
|
|
40
|
-
|
|
41
|
-
**Choose your execution mode:**
|
|
42
|
-
|
|
43
|
-
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
44
|
-
- Autonomous decision making with logging
|
|
45
|
-
- Installs `minimal` preset automatically
|
|
46
|
-
- **Best for:** Experienced users with Docker already configured
|
|
47
|
-
|
|
48
|
-
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
49
|
-
- Explicit decision checkpoints
|
|
50
|
-
- Choose between minimal/full presets
|
|
51
|
-
- **Best for:** First-time setup, understanding the architecture
|
|
52
|
-
|
|
53
|
-
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
54
|
-
- Task analysis phase (identify all ambiguities)
|
|
55
|
-
- Zero ambiguity execution
|
|
56
|
-
- **Best for:** Production environments, team-wide deployment
|
|
57
|
-
|
|
58
|
-
**Parameter:** `mode` (optional, default: `interactive`)
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Task Definition (AIOS Task Format V1.0)
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
task: setupMcpDocker()
|
|
66
|
-
responsável: DevOps Agent / Dev Agent
|
|
67
|
-
responsavel_type: Agente
|
|
68
|
-
atomic_layer: Infrastructure
|
|
69
|
-
|
|
70
|
-
**Entrada:**
|
|
71
|
-
- campo: docker_version
|
|
72
|
-
tipo: string
|
|
73
|
-
origem: System Check
|
|
74
|
-
obrigatório: true
|
|
75
|
-
validação: Must be Docker Desktop 4.50+ with MCP Toolkit enabled
|
|
76
|
-
|
|
77
|
-
- campo: mcps_to_enable
|
|
78
|
-
tipo: array
|
|
79
|
-
origem: User Input
|
|
80
|
-
obrigatório: false
|
|
81
|
-
validação: Array of MCP server names from Docker catalog
|
|
82
|
-
|
|
83
|
-
- campo: presets
|
|
84
|
-
tipo: object
|
|
85
|
-
origem: User Input
|
|
86
|
-
obrigatório: false
|
|
87
|
-
validação: Preset configurations (dev, research, full)
|
|
88
|
-
|
|
89
|
-
**Saída:**
|
|
90
|
-
- campo: gordon_config
|
|
91
|
-
tipo: file
|
|
92
|
-
destino: .docker/mcp/gordon-mcp.yml
|
|
93
|
-
persistido: true
|
|
94
|
-
|
|
95
|
-
- campo: claude_integration
|
|
96
|
-
tipo: boolean
|
|
97
|
-
destino: Claude Code configuration
|
|
98
|
-
persistido: true
|
|
99
|
-
|
|
100
|
-
- campo: validation_report
|
|
101
|
-
tipo: object
|
|
102
|
-
destino: Console output
|
|
103
|
-
persistido: false
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## Pre-Conditions
|
|
109
|
-
|
|
110
|
-
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
111
|
-
|
|
112
|
-
**Checklist:**
|
|
113
|
-
|
|
114
|
-
```yaml
|
|
115
|
-
pre-conditions:
|
|
116
|
-
- [ ] Docker Desktop 4.50+ installed
|
|
117
|
-
tipo: pre-condition
|
|
118
|
-
blocker: true
|
|
119
|
-
validação: docker --version must return 4.50.0 or higher
|
|
120
|
-
error_message: "Docker Desktop 4.50+ required. Download from https://docker.com/desktop"
|
|
121
|
-
|
|
122
|
-
- [ ] Docker MCP Toolkit available
|
|
123
|
-
tipo: pre-condition
|
|
124
|
-
blocker: true
|
|
125
|
-
validação: docker mcp --version must succeed
|
|
126
|
-
error_message: "Enable Docker MCP Toolkit in Docker Desktop settings"
|
|
127
|
-
|
|
128
|
-
- [ ] Docker daemon running
|
|
129
|
-
tipo: pre-condition
|
|
130
|
-
blocker: true
|
|
131
|
-
validação: docker info must succeed
|
|
132
|
-
error_message: "Start Docker Desktop before running this task"
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
## Post-Conditions
|
|
138
|
-
|
|
139
|
-
**Purpose:** Validate execution success AFTER task completes
|
|
140
|
-
|
|
141
|
-
**Checklist:**
|
|
142
|
-
|
|
143
|
-
```yaml
|
|
144
|
-
post-conditions:
|
|
145
|
-
- [ ] MCP Gateway accessible
|
|
146
|
-
tipo: post-condition
|
|
147
|
-
blocker: true
|
|
148
|
-
validação: docker mcp gateway status returns healthy
|
|
149
|
-
error_message: "MCP Gateway failed to start"
|
|
150
|
-
|
|
151
|
-
- [ ] Claude Code connected
|
|
152
|
-
tipo: post-condition
|
|
153
|
-
blocker: true
|
|
154
|
-
validação: Claude Code shows docker-gateway in MCP list
|
|
155
|
-
error_message: "Claude Code not connected to MCP Gateway"
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## Acceptance Criteria
|
|
161
|
-
|
|
162
|
-
```yaml
|
|
163
|
-
acceptance-criteria:
|
|
164
|
-
- [ ] gordon-mcp.yml exists in .docker/mcp/
|
|
165
|
-
- [ ] At least 3 core MCPs functional (filesystem, github, fetch)
|
|
166
|
-
- [ ] Claude Code can call MCP tools
|
|
167
|
-
- [ ] Token consumption reduced vs direct MCPs
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## Tools
|
|
173
|
-
|
|
174
|
-
**External/shared resources used by this task:**
|
|
175
|
-
|
|
176
|
-
- **Tool:** Docker CLI
|
|
177
|
-
- **Purpose:** Docker and MCP operations
|
|
178
|
-
- **Source:** docker, docker mcp commands
|
|
179
|
-
|
|
180
|
-
- **Tool:** Claude Code CLI
|
|
181
|
-
- **Purpose:** Integration verification
|
|
182
|
-
- **Source:** claude command
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
# Setup Docker MCP Toolkit
|
|
187
|
-
|
|
188
|
-
## Purpose
|
|
189
|
-
|
|
190
|
-
Configure Docker MCP Toolkit as the primary MCP infrastructure for AIOS, replacing 1MCP with the containerized gateway approach. This enables:
|
|
191
|
-
- **98.7% token reduction** via Code Mode
|
|
192
|
-
- **Dynamic MCP loading** (mcp-find, mcp-add, mcp-remove)
|
|
193
|
-
- **Sandbox execution** for workflows
|
|
194
|
-
- **270+ MCP catalog** access
|
|
195
|
-
|
|
196
|
-
## Architecture Overview
|
|
197
|
-
|
|
198
|
-
```
|
|
199
|
-
┌─────────────────────────────────────┐
|
|
200
|
-
│ Claude Code / Desktop │
|
|
201
|
-
└──────────────────┬──────────────────┘
|
|
202
|
-
│ Tool Calls
|
|
203
|
-
▼
|
|
204
|
-
┌─────────────────────────────────────┐
|
|
205
|
-
│ Docker MCP Gateway │
|
|
206
|
-
│ (Single entry point) │
|
|
207
|
-
│ │
|
|
208
|
-
│ Features: │
|
|
209
|
-
│ • Routes to correct MCP container │
|
|
210
|
-
│ • OAuth management │
|
|
211
|
-
│ • Dynamic discovery │
|
|
212
|
-
│ • Hot-reload configs │
|
|
213
|
-
└──────────────────┬──────────────────┘
|
|
214
|
-
│
|
|
215
|
-
┌────────────┼────────────┐
|
|
216
|
-
▼ ▼ ▼
|
|
217
|
-
┌───────────┐ ┌───────────┐ ┌───────────┐
|
|
218
|
-
│mcp/ │ │mcp/ │ │mcp/ │
|
|
219
|
-
│filesystem │ │github │ │fetch │
|
|
220
|
-
│Container │ │Container │ │Container │
|
|
221
|
-
└───────────┘ └───────────┘ └───────────┘
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
## Prerequisites
|
|
225
|
-
|
|
226
|
-
- Docker Desktop 4.50+ installed
|
|
227
|
-
- Docker MCP Toolkit enabled in Docker Desktop settings
|
|
228
|
-
- Claude Code installed
|
|
229
|
-
- (Optional) GitHub token for github MCP
|
|
230
|
-
- (Optional) Other API keys for specific MCPs
|
|
231
|
-
|
|
232
|
-
## Interactive Elicitation Process
|
|
233
|
-
|
|
234
|
-
### Step 1: Docker Verification
|
|
235
|
-
|
|
236
|
-
```
|
|
237
|
-
ELICIT: Docker Environment Check
|
|
238
|
-
|
|
239
|
-
1. Checking Docker Desktop version...
|
|
240
|
-
→ Run: docker --version
|
|
241
|
-
→ Expected: Docker version 4.50.0 or higher
|
|
242
|
-
→ If lower: Guide to update Docker Desktop
|
|
243
|
-
|
|
244
|
-
2. Checking Docker MCP Toolkit...
|
|
245
|
-
→ Run: docker mcp --version
|
|
246
|
-
→ If not available: Enable in Docker Desktop > Settings > Extensions > MCP Toolkit
|
|
247
|
-
|
|
248
|
-
3. Checking Docker daemon...
|
|
249
|
-
→ Run: docker info
|
|
250
|
-
→ Must succeed before proceeding
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### Step 2: MCP Selection
|
|
254
|
-
|
|
255
|
-
```
|
|
256
|
-
ELICIT: MCP Server Selection
|
|
257
|
-
|
|
258
|
-
Which MCPs do you want to enable?
|
|
259
|
-
|
|
260
|
-
CORE MCPs (Recommended):
|
|
261
|
-
[x] filesystem - File system access (read/write project files)
|
|
262
|
-
[x] github - GitHub API (repos, issues, PRs)
|
|
263
|
-
[x] fetch - HTTP requests and web scraping
|
|
264
|
-
|
|
265
|
-
DEVELOPMENT MCPs:
|
|
266
|
-
[ ] postgres - PostgreSQL database access
|
|
267
|
-
[ ] sqlite - SQLite database access
|
|
268
|
-
[ ] redis - Redis cache operations
|
|
269
|
-
|
|
270
|
-
PRODUCTIVITY MCPs:
|
|
271
|
-
[ ] notion - Notion workspace integration
|
|
272
|
-
[ ] atlassian - Jira/Confluence (ClickUp alternative)
|
|
273
|
-
[ ] slack - Slack messaging
|
|
274
|
-
|
|
275
|
-
AUTOMATION MCPs:
|
|
276
|
-
[ ] puppeteer - Browser automation
|
|
277
|
-
[ ] playwright - Advanced browser automation
|
|
278
|
-
|
|
279
|
-
→ Select MCPs to enable (comma-separated numbers or 'core' for defaults)
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
### Step 3: Preset Configuration
|
|
283
|
-
|
|
284
|
-
```
|
|
285
|
-
ELICIT: Preset Configuration
|
|
286
|
-
|
|
287
|
-
Presets allow loading only needed MCPs for specific workflows.
|
|
288
|
-
|
|
289
|
-
1. Create 'aios-dev' preset?
|
|
290
|
-
→ Recommended MCPs: filesystem, github
|
|
291
|
-
→ Use case: Story implementation, PRs, code changes
|
|
292
|
-
→ Token budget: ~5-10k
|
|
293
|
-
|
|
294
|
-
2. Create 'aios-research' preset?
|
|
295
|
-
→ Recommended MCPs: filesystem, fetch
|
|
296
|
-
→ Use case: Documentation, web research
|
|
297
|
-
→ Token budget: ~8-15k
|
|
298
|
-
|
|
299
|
-
3. Create 'aios-full' preset?
|
|
300
|
-
→ All enabled MCPs
|
|
301
|
-
→ Use case: Complex multi-domain tasks
|
|
302
|
-
→ Token budget: Varies by MCPs
|
|
303
|
-
|
|
304
|
-
→ Which presets to create? (y/n for each)
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
### Step 4: Credentials Configuration
|
|
308
|
-
|
|
309
|
-
```
|
|
310
|
-
ELICIT: API Credentials
|
|
311
|
-
|
|
312
|
-
Some MCPs require authentication:
|
|
313
|
-
|
|
314
|
-
1. GitHub MCP:
|
|
315
|
-
→ Environment variable: GITHUB_TOKEN
|
|
316
|
-
→ Current status: [Set/Not Set]
|
|
317
|
-
→ If not set: Guide to create Personal Access Token
|
|
318
|
-
|
|
319
|
-
2. Other MCPs (if selected):
|
|
320
|
-
→ List required credentials
|
|
321
|
-
→ Guide to obtain each
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
## Implementation Steps
|
|
325
|
-
|
|
326
|
-
### 1. Create Project MCP Directory
|
|
327
|
-
|
|
328
|
-
```bash
|
|
329
|
-
# Create .docker/mcp structure
|
|
330
|
-
mkdir -p .docker/mcp
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
### 2. Start Gateway as Persistent Service (HTTP Transport)
|
|
334
|
-
|
|
335
|
-
**CRITICAL:** Use HTTP transport instead of stdio to avoid 30-second timeout.
|
|
336
|
-
|
|
337
|
-
```bash
|
|
338
|
-
# Option A: Docker Compose (RECOMMENDED)
|
|
339
|
-
docker compose -f .docker/mcp/gateway-service.yml up -d
|
|
340
|
-
|
|
341
|
-
# Option B: Background process (alternative)
|
|
342
|
-
docker mcp gateway run --port 8080 --transport sse --watch &
|
|
343
|
-
|
|
344
|
-
# Option C: Manual foreground (for debugging)
|
|
345
|
-
docker mcp gateway run --port 8080 --transport sse --watch
|
|
346
|
-
```
|
|
347
|
-
|
|
348
|
-
**Wait for gateway to be ready:**
|
|
349
|
-
```bash
|
|
350
|
-
# Health check (retry until success)
|
|
351
|
-
curl -s http://localhost:8080/health || echo "Gateway starting..."
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
### 3. Enable AIOS Default MCPs
|
|
355
|
-
|
|
356
|
-
```bash
|
|
357
|
-
# Minimal preset (no API keys required)
|
|
358
|
-
docker mcp server enable context7
|
|
359
|
-
docker mcp server enable desktop-commander
|
|
360
|
-
docker mcp server enable playwright
|
|
361
|
-
|
|
362
|
-
# Full preset (add exa - requires EXA_API_KEY)
|
|
363
|
-
docker mcp server enable exa
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
### 4. Configure Desktop-Commander Path
|
|
367
|
-
|
|
368
|
-
```bash
|
|
369
|
-
# Set user home directory for desktop-commander
|
|
370
|
-
docker mcp config write "desktop-commander:
|
|
371
|
-
paths:
|
|
372
|
-
- ${HOME}
|
|
373
|
-
exa:
|
|
374
|
-
apiKeys:
|
|
375
|
-
EXA_API_KEY: \${EXA_API_KEY}"
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
### 5. Configure Claude Code (HTTP Transport)
|
|
379
|
-
|
|
380
|
-
**IMPORTANT:** Use HTTP type, NOT stdio!
|
|
381
|
-
|
|
382
|
-
```json
|
|
383
|
-
// ~/.claude.json
|
|
384
|
-
{
|
|
385
|
-
"mcpServers": {
|
|
386
|
-
"docker-gateway": {
|
|
387
|
-
"type": "http",
|
|
388
|
-
"url": "http://localhost:8080/mcp"
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
**Why HTTP instead of stdio?**
|
|
395
|
-
- stdio: Claude Code spawns gateway → 30s timeout before init completes
|
|
396
|
-
- HTTP: Gateway already running → instant connection
|
|
397
|
-
|
|
398
|
-
### 6. Verify Integration
|
|
399
|
-
|
|
400
|
-
```bash
|
|
401
|
-
# Check gateway is running
|
|
402
|
-
curl http://localhost:8080/health
|
|
403
|
-
|
|
404
|
-
# List enabled servers
|
|
405
|
-
docker mcp server ls
|
|
406
|
-
|
|
407
|
-
# List available tools
|
|
408
|
-
docker mcp tools ls
|
|
409
|
-
|
|
410
|
-
# Verify configuration
|
|
411
|
-
docker mcp config read
|
|
412
|
-
```
|
|
413
|
-
|
|
414
|
-
### 7. Test in Claude Code
|
|
415
|
-
|
|
416
|
-
After restarting Claude Code:
|
|
417
|
-
```
|
|
418
|
-
/mcp
|
|
419
|
-
# Should show: docker-gateway (connected)
|
|
420
|
-
# With tools from: context7, desktop-commander, playwright
|
|
421
|
-
```
|
|
422
|
-
|
|
423
|
-
## Migration from 1MCP
|
|
424
|
-
|
|
425
|
-
If migrating from 1MCP:
|
|
426
|
-
|
|
427
|
-
### Step 1: Backup Current Config
|
|
428
|
-
```bash
|
|
429
|
-
cp ~/.claude.json ~/.claude.json.backup-pre-docker-mcp
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
### Step 2: Stop 1MCP Server
|
|
433
|
-
```bash
|
|
434
|
-
# Kill 1MCP process
|
|
435
|
-
pkill -f "1mcp serve"
|
|
436
|
-
|
|
437
|
-
# Or stop service
|
|
438
|
-
sudo systemctl stop 1mcp
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
### Step 3: Remove 1MCP from Claude Config
|
|
442
|
-
```json
|
|
443
|
-
// ~/.claude.json - REMOVE these entries
|
|
444
|
-
{
|
|
445
|
-
"mcpServers": {
|
|
446
|
-
// "1mcp-dev": { ... }, // REMOVE
|
|
447
|
-
// "1mcp-research": { ... } // REMOVE
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
```
|
|
451
|
-
|
|
452
|
-
### Step 4: Start Gateway Service
|
|
453
|
-
```bash
|
|
454
|
-
# Start gateway as persistent service
|
|
455
|
-
docker compose -f .docker/mcp/gateway-service.yml up -d
|
|
456
|
-
|
|
457
|
-
# Wait for health check
|
|
458
|
-
sleep 5
|
|
459
|
-
curl http://localhost:8080/health
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
### Step 5: Add Docker Gateway (HTTP Transport)
|
|
463
|
-
```json
|
|
464
|
-
// ~/.claude.json - ADD this entry (HTTP, NOT stdio!)
|
|
465
|
-
{
|
|
466
|
-
"mcpServers": {
|
|
467
|
-
"docker-gateway": {
|
|
468
|
-
"type": "http",
|
|
469
|
-
"url": "http://localhost:8080/mcp"
|
|
470
|
-
}
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
## Validation Checklist
|
|
476
|
-
|
|
477
|
-
- [ ] Docker Desktop 4.50+ installed and running
|
|
478
|
-
- [ ] Docker MCP Toolkit enabled (`docker mcp --version`)
|
|
479
|
-
- [ ] Gateway service running (`curl http://localhost:8080/health`)
|
|
480
|
-
- [ ] MCPs enabled (`docker mcp server ls` shows context7, desktop-commander, playwright)
|
|
481
|
-
- [ ] Claude Code configured with HTTP transport
|
|
482
|
-
- [ ] `/mcp` in Claude Code shows docker-gateway connected
|
|
483
|
-
- [ ] Tools from all MCPs visible in `/mcp`
|
|
484
|
-
|
|
485
|
-
## Error Handling
|
|
486
|
-
|
|
487
|
-
### Error: Docker Not Found
|
|
488
|
-
```
|
|
489
|
-
Resolution: Install Docker Desktop from https://docker.com/desktop
|
|
490
|
-
Minimum version: 4.50.0
|
|
491
|
-
```
|
|
492
|
-
|
|
493
|
-
### Error: MCP Toolkit Not Available
|
|
494
|
-
```
|
|
495
|
-
Resolution:
|
|
496
|
-
1. Open Docker Desktop
|
|
497
|
-
2. Go to Settings > Extensions
|
|
498
|
-
3. Enable "MCP Toolkit"
|
|
499
|
-
4. Restart Docker Desktop
|
|
500
|
-
```
|
|
501
|
-
|
|
502
|
-
### Error: Gateway Failed to Start
|
|
503
|
-
```
|
|
504
|
-
Resolution:
|
|
505
|
-
1. Check port 8080 is available: netstat -an | grep 8080
|
|
506
|
-
2. Try alternate port: docker mcp gateway run --port 8081
|
|
507
|
-
3. Check Docker logs: docker logs mcp-gateway
|
|
508
|
-
```
|
|
509
|
-
|
|
510
|
-
### Error: Permission Denied on Volumes
|
|
511
|
-
```
|
|
512
|
-
Resolution:
|
|
513
|
-
1. Check Docker has access to project directory
|
|
514
|
-
2. On Windows: Enable file sharing in Docker Desktop settings
|
|
515
|
-
3. On Linux: Add user to docker group: sudo usermod -aG docker $USER
|
|
516
|
-
```
|
|
517
|
-
|
|
518
|
-
## Success Output
|
|
519
|
-
|
|
520
|
-
```
|
|
521
|
-
✅ Docker MCP Toolkit configured successfully!
|
|
522
|
-
|
|
523
|
-
📦 MCP Gateway: Running on http://localhost:8080 (HTTP/SSE transport)
|
|
524
|
-
🔧 MCPs Enabled (minimal preset):
|
|
525
|
-
• context7 - Library documentation
|
|
526
|
-
• desktop-commander - File management + terminal
|
|
527
|
-
• playwright - Browser automation
|
|
528
|
-
|
|
529
|
-
📋 Available Presets:
|
|
530
|
-
• minimal - context7, desktop-commander, playwright (no API keys)
|
|
531
|
-
• full - minimal + exa (requires EXA_API_KEY)
|
|
532
|
-
|
|
533
|
-
🔗 Claude Code: Connected via HTTP to docker-gateway
|
|
534
|
-
📊 Token Usage: ~10-15k tokens (minimal) / ~20-25k (full)
|
|
535
|
-
|
|
536
|
-
📁 Configuration:
|
|
537
|
-
• Gateway service: .docker/mcp/gateway-service.yml
|
|
538
|
-
• Claude config: ~/.claude.json (HTTP transport)
|
|
539
|
-
|
|
540
|
-
Next steps:
|
|
541
|
-
1. Restart Claude Code to connect
|
|
542
|
-
2. Run /mcp to verify connection
|
|
543
|
-
3. Use 'docker mcp server enable exa' to add web search (requires EXA_API_KEY)
|
|
544
|
-
```
|
|
545
|
-
|
|
546
|
-
## Performance
|
|
547
|
-
|
|
548
|
-
```yaml
|
|
549
|
-
duration_expected: 10-20 min (first setup)
|
|
550
|
-
cost_estimated: $0 (no API calls)
|
|
551
|
-
token_usage: ~500-1,000 tokens (this task only)
|
|
552
|
-
```
|
|
553
|
-
|
|
554
|
-
---
|
|
555
|
-
|
|
556
|
-
## Metadata
|
|
557
|
-
|
|
558
|
-
```yaml
|
|
559
|
-
story: Docker MCP Migration (Story 5.11)
|
|
560
|
-
version: 2.0.0
|
|
561
|
-
dependencies:
|
|
562
|
-
- Docker Desktop 4.50+
|
|
563
|
-
- Docker MCP Toolkit
|
|
564
|
-
- gateway-service.yml (.docker/mcp/)
|
|
565
|
-
tags:
|
|
566
|
-
- infrastructure
|
|
567
|
-
- mcp
|
|
568
|
-
- docker
|
|
569
|
-
- setup
|
|
570
|
-
- http-transport
|
|
571
|
-
updated_at: 2025-12-08
|
|
572
|
-
agents:
|
|
573
|
-
- devops
|
|
574
|
-
- dev
|
|
575
|
-
changelog:
|
|
576
|
-
2.0.0:
|
|
577
|
-
- BREAKING: Changed from stdio to HTTP transport
|
|
578
|
-
- Added: gateway-service.yml for persistent gateway
|
|
579
|
-
- Changed: Presets from (dev/research/full) to (minimal/full)
|
|
580
|
-
- Fixed: 30-second timeout issue with stdio transport
|
|
581
|
-
- Added: Health check before Claude Code connection
|
|
582
|
-
1.0.0:
|
|
583
|
-
- Initial version with stdio transport
|
|
584
|
-
```
|
|
1
|
+
# Setup Docker MCP Toolkit
|
|
2
|
+
|
|
3
|
+
**Task ID:** setup-mcp-docker
|
|
4
|
+
**Version:** 2.0.0
|
|
5
|
+
**Created:** 2025-12-08
|
|
6
|
+
**Updated:** 2025-12-08
|
|
7
|
+
**Agent:** @devops (Gage) / @dev (Dex)
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Configure Docker MCP Toolkit as the primary MCP infrastructure for AIOS, using **HTTP transport** instead of stdio to avoid timeout issues during gateway initialization.
|
|
14
|
+
|
|
15
|
+
**Key Changes in v2.0:**
|
|
16
|
+
- Uses HTTP/SSE transport (fixes 30s timeout issue)
|
|
17
|
+
- Gateway runs as persistent Docker Compose service
|
|
18
|
+
- Presets: `minimal` (no API keys) and `full` (with API keys)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## AIOS Default MCPs
|
|
23
|
+
|
|
24
|
+
| Preset | MCPs | API Key Required | Tokens |
|
|
25
|
+
|--------|------|------------------|--------|
|
|
26
|
+
| **minimal** | context7, desktop-commander, playwright | No | ~10-15k |
|
|
27
|
+
| **full** | minimal + exa | Yes (EXA_API_KEY) | ~20-25k |
|
|
28
|
+
|
|
29
|
+
**Minimal Preset MCPs:**
|
|
30
|
+
- **context7** - Library documentation lookups
|
|
31
|
+
- **desktop-commander** - File management + terminal commands
|
|
32
|
+
- **playwright** - Browser automation for testing
|
|
33
|
+
|
|
34
|
+
**Full Preset Adds:**
|
|
35
|
+
- **exa** - AI-powered web search (requires `EXA_API_KEY`)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Execution Modes
|
|
40
|
+
|
|
41
|
+
**Choose your execution mode:**
|
|
42
|
+
|
|
43
|
+
### 1. YOLO Mode - Fast, Autonomous (0-1 prompts)
|
|
44
|
+
- Autonomous decision making with logging
|
|
45
|
+
- Installs `minimal` preset automatically
|
|
46
|
+
- **Best for:** Experienced users with Docker already configured
|
|
47
|
+
|
|
48
|
+
### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]**
|
|
49
|
+
- Explicit decision checkpoints
|
|
50
|
+
- Choose between minimal/full presets
|
|
51
|
+
- **Best for:** First-time setup, understanding the architecture
|
|
52
|
+
|
|
53
|
+
### 3. Pre-Flight Planning - Comprehensive Upfront Planning
|
|
54
|
+
- Task analysis phase (identify all ambiguities)
|
|
55
|
+
- Zero ambiguity execution
|
|
56
|
+
- **Best for:** Production environments, team-wide deployment
|
|
57
|
+
|
|
58
|
+
**Parameter:** `mode` (optional, default: `interactive`)
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Task Definition (AIOS Task Format V1.0)
|
|
63
|
+
|
|
64
|
+
```yaml
|
|
65
|
+
task: setupMcpDocker()
|
|
66
|
+
responsável: DevOps Agent / Dev Agent
|
|
67
|
+
responsavel_type: Agente
|
|
68
|
+
atomic_layer: Infrastructure
|
|
69
|
+
|
|
70
|
+
**Entrada:**
|
|
71
|
+
- campo: docker_version
|
|
72
|
+
tipo: string
|
|
73
|
+
origem: System Check
|
|
74
|
+
obrigatório: true
|
|
75
|
+
validação: Must be Docker Desktop 4.50+ with MCP Toolkit enabled
|
|
76
|
+
|
|
77
|
+
- campo: mcps_to_enable
|
|
78
|
+
tipo: array
|
|
79
|
+
origem: User Input
|
|
80
|
+
obrigatório: false
|
|
81
|
+
validação: Array of MCP server names from Docker catalog
|
|
82
|
+
|
|
83
|
+
- campo: presets
|
|
84
|
+
tipo: object
|
|
85
|
+
origem: User Input
|
|
86
|
+
obrigatório: false
|
|
87
|
+
validação: Preset configurations (dev, research, full)
|
|
88
|
+
|
|
89
|
+
**Saída:**
|
|
90
|
+
- campo: gordon_config
|
|
91
|
+
tipo: file
|
|
92
|
+
destino: .docker/mcp/gordon-mcp.yml
|
|
93
|
+
persistido: true
|
|
94
|
+
|
|
95
|
+
- campo: claude_integration
|
|
96
|
+
tipo: boolean
|
|
97
|
+
destino: Claude Code configuration
|
|
98
|
+
persistido: true
|
|
99
|
+
|
|
100
|
+
- campo: validation_report
|
|
101
|
+
tipo: object
|
|
102
|
+
destino: Console output
|
|
103
|
+
persistido: false
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Pre-Conditions
|
|
109
|
+
|
|
110
|
+
**Purpose:** Validate prerequisites BEFORE task execution (blocking)
|
|
111
|
+
|
|
112
|
+
**Checklist:**
|
|
113
|
+
|
|
114
|
+
```yaml
|
|
115
|
+
pre-conditions:
|
|
116
|
+
- [ ] Docker Desktop 4.50+ installed
|
|
117
|
+
tipo: pre-condition
|
|
118
|
+
blocker: true
|
|
119
|
+
validação: docker --version must return 4.50.0 or higher
|
|
120
|
+
error_message: "Docker Desktop 4.50+ required. Download from https://docker.com/desktop"
|
|
121
|
+
|
|
122
|
+
- [ ] Docker MCP Toolkit available
|
|
123
|
+
tipo: pre-condition
|
|
124
|
+
blocker: true
|
|
125
|
+
validação: docker mcp --version must succeed
|
|
126
|
+
error_message: "Enable Docker MCP Toolkit in Docker Desktop settings"
|
|
127
|
+
|
|
128
|
+
- [ ] Docker daemon running
|
|
129
|
+
tipo: pre-condition
|
|
130
|
+
blocker: true
|
|
131
|
+
validação: docker info must succeed
|
|
132
|
+
error_message: "Start Docker Desktop before running this task"
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Post-Conditions
|
|
138
|
+
|
|
139
|
+
**Purpose:** Validate execution success AFTER task completes
|
|
140
|
+
|
|
141
|
+
**Checklist:**
|
|
142
|
+
|
|
143
|
+
```yaml
|
|
144
|
+
post-conditions:
|
|
145
|
+
- [ ] MCP Gateway accessible
|
|
146
|
+
tipo: post-condition
|
|
147
|
+
blocker: true
|
|
148
|
+
validação: docker mcp gateway status returns healthy
|
|
149
|
+
error_message: "MCP Gateway failed to start"
|
|
150
|
+
|
|
151
|
+
- [ ] Claude Code connected
|
|
152
|
+
tipo: post-condition
|
|
153
|
+
blocker: true
|
|
154
|
+
validação: Claude Code shows docker-gateway in MCP list
|
|
155
|
+
error_message: "Claude Code not connected to MCP Gateway"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Acceptance Criteria
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
acceptance-criteria:
|
|
164
|
+
- [ ] gordon-mcp.yml exists in .docker/mcp/
|
|
165
|
+
- [ ] At least 3 core MCPs functional (filesystem, github, fetch)
|
|
166
|
+
- [ ] Claude Code can call MCP tools
|
|
167
|
+
- [ ] Token consumption reduced vs direct MCPs
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## Tools
|
|
173
|
+
|
|
174
|
+
**External/shared resources used by this task:**
|
|
175
|
+
|
|
176
|
+
- **Tool:** Docker CLI
|
|
177
|
+
- **Purpose:** Docker and MCP operations
|
|
178
|
+
- **Source:** docker, docker mcp commands
|
|
179
|
+
|
|
180
|
+
- **Tool:** Claude Code CLI
|
|
181
|
+
- **Purpose:** Integration verification
|
|
182
|
+
- **Source:** claude command
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
# Setup Docker MCP Toolkit
|
|
187
|
+
|
|
188
|
+
## Purpose
|
|
189
|
+
|
|
190
|
+
Configure Docker MCP Toolkit as the primary MCP infrastructure for AIOS, replacing 1MCP with the containerized gateway approach. This enables:
|
|
191
|
+
- **98.7% token reduction** via Code Mode
|
|
192
|
+
- **Dynamic MCP loading** (mcp-find, mcp-add, mcp-remove)
|
|
193
|
+
- **Sandbox execution** for workflows
|
|
194
|
+
- **270+ MCP catalog** access
|
|
195
|
+
|
|
196
|
+
## Architecture Overview
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
┌─────────────────────────────────────┐
|
|
200
|
+
│ Claude Code / Desktop │
|
|
201
|
+
└──────────────────┬──────────────────┘
|
|
202
|
+
│ Tool Calls
|
|
203
|
+
▼
|
|
204
|
+
┌─────────────────────────────────────┐
|
|
205
|
+
│ Docker MCP Gateway │
|
|
206
|
+
│ (Single entry point) │
|
|
207
|
+
│ │
|
|
208
|
+
│ Features: │
|
|
209
|
+
│ • Routes to correct MCP container │
|
|
210
|
+
│ • OAuth management │
|
|
211
|
+
│ • Dynamic discovery │
|
|
212
|
+
│ • Hot-reload configs │
|
|
213
|
+
└──────────────────┬──────────────────┘
|
|
214
|
+
│
|
|
215
|
+
┌────────────┼────────────┐
|
|
216
|
+
▼ ▼ ▼
|
|
217
|
+
┌───────────┐ ┌───────────┐ ┌───────────┐
|
|
218
|
+
│mcp/ │ │mcp/ │ │mcp/ │
|
|
219
|
+
│filesystem │ │github │ │fetch │
|
|
220
|
+
│Container │ │Container │ │Container │
|
|
221
|
+
└───────────┘ └───────────┘ └───────────┘
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Prerequisites
|
|
225
|
+
|
|
226
|
+
- Docker Desktop 4.50+ installed
|
|
227
|
+
- Docker MCP Toolkit enabled in Docker Desktop settings
|
|
228
|
+
- Claude Code installed
|
|
229
|
+
- (Optional) GitHub token for github MCP
|
|
230
|
+
- (Optional) Other API keys for specific MCPs
|
|
231
|
+
|
|
232
|
+
## Interactive Elicitation Process
|
|
233
|
+
|
|
234
|
+
### Step 1: Docker Verification
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
ELICIT: Docker Environment Check
|
|
238
|
+
|
|
239
|
+
1. Checking Docker Desktop version...
|
|
240
|
+
→ Run: docker --version
|
|
241
|
+
→ Expected: Docker version 4.50.0 or higher
|
|
242
|
+
→ If lower: Guide to update Docker Desktop
|
|
243
|
+
|
|
244
|
+
2. Checking Docker MCP Toolkit...
|
|
245
|
+
→ Run: docker mcp --version
|
|
246
|
+
→ If not available: Enable in Docker Desktop > Settings > Extensions > MCP Toolkit
|
|
247
|
+
|
|
248
|
+
3. Checking Docker daemon...
|
|
249
|
+
→ Run: docker info
|
|
250
|
+
→ Must succeed before proceeding
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Step 2: MCP Selection
|
|
254
|
+
|
|
255
|
+
```
|
|
256
|
+
ELICIT: MCP Server Selection
|
|
257
|
+
|
|
258
|
+
Which MCPs do you want to enable?
|
|
259
|
+
|
|
260
|
+
CORE MCPs (Recommended):
|
|
261
|
+
[x] filesystem - File system access (read/write project files)
|
|
262
|
+
[x] github - GitHub API (repos, issues, PRs)
|
|
263
|
+
[x] fetch - HTTP requests and web scraping
|
|
264
|
+
|
|
265
|
+
DEVELOPMENT MCPs:
|
|
266
|
+
[ ] postgres - PostgreSQL database access
|
|
267
|
+
[ ] sqlite - SQLite database access
|
|
268
|
+
[ ] redis - Redis cache operations
|
|
269
|
+
|
|
270
|
+
PRODUCTIVITY MCPs:
|
|
271
|
+
[ ] notion - Notion workspace integration
|
|
272
|
+
[ ] atlassian - Jira/Confluence (ClickUp alternative)
|
|
273
|
+
[ ] slack - Slack messaging
|
|
274
|
+
|
|
275
|
+
AUTOMATION MCPs:
|
|
276
|
+
[ ] puppeteer - Browser automation
|
|
277
|
+
[ ] playwright - Advanced browser automation
|
|
278
|
+
|
|
279
|
+
→ Select MCPs to enable (comma-separated numbers or 'core' for defaults)
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
### Step 3: Preset Configuration
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
ELICIT: Preset Configuration
|
|
286
|
+
|
|
287
|
+
Presets allow loading only needed MCPs for specific workflows.
|
|
288
|
+
|
|
289
|
+
1. Create 'aios-dev' preset?
|
|
290
|
+
→ Recommended MCPs: filesystem, github
|
|
291
|
+
→ Use case: Story implementation, PRs, code changes
|
|
292
|
+
→ Token budget: ~5-10k
|
|
293
|
+
|
|
294
|
+
2. Create 'aios-research' preset?
|
|
295
|
+
→ Recommended MCPs: filesystem, fetch
|
|
296
|
+
→ Use case: Documentation, web research
|
|
297
|
+
→ Token budget: ~8-15k
|
|
298
|
+
|
|
299
|
+
3. Create 'aios-full' preset?
|
|
300
|
+
→ All enabled MCPs
|
|
301
|
+
→ Use case: Complex multi-domain tasks
|
|
302
|
+
→ Token budget: Varies by MCPs
|
|
303
|
+
|
|
304
|
+
→ Which presets to create? (y/n for each)
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Step 4: Credentials Configuration
|
|
308
|
+
|
|
309
|
+
```
|
|
310
|
+
ELICIT: API Credentials
|
|
311
|
+
|
|
312
|
+
Some MCPs require authentication:
|
|
313
|
+
|
|
314
|
+
1. GitHub MCP:
|
|
315
|
+
→ Environment variable: GITHUB_TOKEN
|
|
316
|
+
→ Current status: [Set/Not Set]
|
|
317
|
+
→ If not set: Guide to create Personal Access Token
|
|
318
|
+
|
|
319
|
+
2. Other MCPs (if selected):
|
|
320
|
+
→ List required credentials
|
|
321
|
+
→ Guide to obtain each
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
## Implementation Steps
|
|
325
|
+
|
|
326
|
+
### 1. Create Project MCP Directory
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
# Create .docker/mcp structure
|
|
330
|
+
mkdir -p .docker/mcp
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### 2. Start Gateway as Persistent Service (HTTP Transport)
|
|
334
|
+
|
|
335
|
+
**CRITICAL:** Use HTTP transport instead of stdio to avoid 30-second timeout.
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# Option A: Docker Compose (RECOMMENDED)
|
|
339
|
+
docker compose -f .docker/mcp/gateway-service.yml up -d
|
|
340
|
+
|
|
341
|
+
# Option B: Background process (alternative)
|
|
342
|
+
docker mcp gateway run --port 8080 --transport sse --watch &
|
|
343
|
+
|
|
344
|
+
# Option C: Manual foreground (for debugging)
|
|
345
|
+
docker mcp gateway run --port 8080 --transport sse --watch
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
**Wait for gateway to be ready:**
|
|
349
|
+
```bash
|
|
350
|
+
# Health check (retry until success)
|
|
351
|
+
curl -s http://localhost:8080/health || echo "Gateway starting..."
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### 3. Enable AIOS Default MCPs
|
|
355
|
+
|
|
356
|
+
```bash
|
|
357
|
+
# Minimal preset (no API keys required)
|
|
358
|
+
docker mcp server enable context7
|
|
359
|
+
docker mcp server enable desktop-commander
|
|
360
|
+
docker mcp server enable playwright
|
|
361
|
+
|
|
362
|
+
# Full preset (add exa - requires EXA_API_KEY)
|
|
363
|
+
docker mcp server enable exa
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
### 4. Configure Desktop-Commander Path
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
# Set user home directory for desktop-commander
|
|
370
|
+
docker mcp config write "desktop-commander:
|
|
371
|
+
paths:
|
|
372
|
+
- ${HOME}
|
|
373
|
+
exa:
|
|
374
|
+
apiKeys:
|
|
375
|
+
EXA_API_KEY: \${EXA_API_KEY}"
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### 5. Configure Claude Code (HTTP Transport)
|
|
379
|
+
|
|
380
|
+
**IMPORTANT:** Use HTTP type, NOT stdio!
|
|
381
|
+
|
|
382
|
+
```json
|
|
383
|
+
// ~/.claude.json
|
|
384
|
+
{
|
|
385
|
+
"mcpServers": {
|
|
386
|
+
"docker-gateway": {
|
|
387
|
+
"type": "http",
|
|
388
|
+
"url": "http://localhost:8080/mcp"
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
**Why HTTP instead of stdio?**
|
|
395
|
+
- stdio: Claude Code spawns gateway → 30s timeout before init completes
|
|
396
|
+
- HTTP: Gateway already running → instant connection
|
|
397
|
+
|
|
398
|
+
### 6. Verify Integration
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
# Check gateway is running
|
|
402
|
+
curl http://localhost:8080/health
|
|
403
|
+
|
|
404
|
+
# List enabled servers
|
|
405
|
+
docker mcp server ls
|
|
406
|
+
|
|
407
|
+
# List available tools
|
|
408
|
+
docker mcp tools ls
|
|
409
|
+
|
|
410
|
+
# Verify configuration
|
|
411
|
+
docker mcp config read
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
### 7. Test in Claude Code
|
|
415
|
+
|
|
416
|
+
After restarting Claude Code:
|
|
417
|
+
```
|
|
418
|
+
/mcp
|
|
419
|
+
# Should show: docker-gateway (connected)
|
|
420
|
+
# With tools from: context7, desktop-commander, playwright
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
## Migration from 1MCP
|
|
424
|
+
|
|
425
|
+
If migrating from 1MCP:
|
|
426
|
+
|
|
427
|
+
### Step 1: Backup Current Config
|
|
428
|
+
```bash
|
|
429
|
+
cp ~/.claude.json ~/.claude.json.backup-pre-docker-mcp
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
### Step 2: Stop 1MCP Server
|
|
433
|
+
```bash
|
|
434
|
+
# Kill 1MCP process
|
|
435
|
+
pkill -f "1mcp serve"
|
|
436
|
+
|
|
437
|
+
# Or stop service
|
|
438
|
+
sudo systemctl stop 1mcp
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
### Step 3: Remove 1MCP from Claude Config
|
|
442
|
+
```json
|
|
443
|
+
// ~/.claude.json - REMOVE these entries
|
|
444
|
+
{
|
|
445
|
+
"mcpServers": {
|
|
446
|
+
// "1mcp-dev": { ... }, // REMOVE
|
|
447
|
+
// "1mcp-research": { ... } // REMOVE
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
### Step 4: Start Gateway Service
|
|
453
|
+
```bash
|
|
454
|
+
# Start gateway as persistent service
|
|
455
|
+
docker compose -f .docker/mcp/gateway-service.yml up -d
|
|
456
|
+
|
|
457
|
+
# Wait for health check
|
|
458
|
+
sleep 5
|
|
459
|
+
curl http://localhost:8080/health
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
### Step 5: Add Docker Gateway (HTTP Transport)
|
|
463
|
+
```json
|
|
464
|
+
// ~/.claude.json - ADD this entry (HTTP, NOT stdio!)
|
|
465
|
+
{
|
|
466
|
+
"mcpServers": {
|
|
467
|
+
"docker-gateway": {
|
|
468
|
+
"type": "http",
|
|
469
|
+
"url": "http://localhost:8080/mcp"
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
## Validation Checklist
|
|
476
|
+
|
|
477
|
+
- [ ] Docker Desktop 4.50+ installed and running
|
|
478
|
+
- [ ] Docker MCP Toolkit enabled (`docker mcp --version`)
|
|
479
|
+
- [ ] Gateway service running (`curl http://localhost:8080/health`)
|
|
480
|
+
- [ ] MCPs enabled (`docker mcp server ls` shows context7, desktop-commander, playwright)
|
|
481
|
+
- [ ] Claude Code configured with HTTP transport
|
|
482
|
+
- [ ] `/mcp` in Claude Code shows docker-gateway connected
|
|
483
|
+
- [ ] Tools from all MCPs visible in `/mcp`
|
|
484
|
+
|
|
485
|
+
## Error Handling
|
|
486
|
+
|
|
487
|
+
### Error: Docker Not Found
|
|
488
|
+
```
|
|
489
|
+
Resolution: Install Docker Desktop from https://docker.com/desktop
|
|
490
|
+
Minimum version: 4.50.0
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
### Error: MCP Toolkit Not Available
|
|
494
|
+
```
|
|
495
|
+
Resolution:
|
|
496
|
+
1. Open Docker Desktop
|
|
497
|
+
2. Go to Settings > Extensions
|
|
498
|
+
3. Enable "MCP Toolkit"
|
|
499
|
+
4. Restart Docker Desktop
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### Error: Gateway Failed to Start
|
|
503
|
+
```
|
|
504
|
+
Resolution:
|
|
505
|
+
1. Check port 8080 is available: netstat -an | grep 8080
|
|
506
|
+
2. Try alternate port: docker mcp gateway run --port 8081
|
|
507
|
+
3. Check Docker logs: docker logs mcp-gateway
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### Error: Permission Denied on Volumes
|
|
511
|
+
```
|
|
512
|
+
Resolution:
|
|
513
|
+
1. Check Docker has access to project directory
|
|
514
|
+
2. On Windows: Enable file sharing in Docker Desktop settings
|
|
515
|
+
3. On Linux: Add user to docker group: sudo usermod -aG docker $USER
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
## Success Output
|
|
519
|
+
|
|
520
|
+
```
|
|
521
|
+
✅ Docker MCP Toolkit configured successfully!
|
|
522
|
+
|
|
523
|
+
📦 MCP Gateway: Running on http://localhost:8080 (HTTP/SSE transport)
|
|
524
|
+
🔧 MCPs Enabled (minimal preset):
|
|
525
|
+
• context7 - Library documentation
|
|
526
|
+
• desktop-commander - File management + terminal
|
|
527
|
+
• playwright - Browser automation
|
|
528
|
+
|
|
529
|
+
📋 Available Presets:
|
|
530
|
+
• minimal - context7, desktop-commander, playwright (no API keys)
|
|
531
|
+
• full - minimal + exa (requires EXA_API_KEY)
|
|
532
|
+
|
|
533
|
+
🔗 Claude Code: Connected via HTTP to docker-gateway
|
|
534
|
+
📊 Token Usage: ~10-15k tokens (minimal) / ~20-25k (full)
|
|
535
|
+
|
|
536
|
+
📁 Configuration:
|
|
537
|
+
• Gateway service: .docker/mcp/gateway-service.yml
|
|
538
|
+
• Claude config: ~/.claude.json (HTTP transport)
|
|
539
|
+
|
|
540
|
+
Next steps:
|
|
541
|
+
1. Restart Claude Code to connect
|
|
542
|
+
2. Run /mcp to verify connection
|
|
543
|
+
3. Use 'docker mcp server enable exa' to add web search (requires EXA_API_KEY)
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
## Performance
|
|
547
|
+
|
|
548
|
+
```yaml
|
|
549
|
+
duration_expected: 10-20 min (first setup)
|
|
550
|
+
cost_estimated: $0 (no API calls)
|
|
551
|
+
token_usage: ~500-1,000 tokens (this task only)
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
---
|
|
555
|
+
|
|
556
|
+
## Metadata
|
|
557
|
+
|
|
558
|
+
```yaml
|
|
559
|
+
story: Docker MCP Migration (Story 5.11)
|
|
560
|
+
version: 2.0.0
|
|
561
|
+
dependencies:
|
|
562
|
+
- Docker Desktop 4.50+
|
|
563
|
+
- Docker MCP Toolkit
|
|
564
|
+
- gateway-service.yml (.docker/mcp/)
|
|
565
|
+
tags:
|
|
566
|
+
- infrastructure
|
|
567
|
+
- mcp
|
|
568
|
+
- docker
|
|
569
|
+
- setup
|
|
570
|
+
- http-transport
|
|
571
|
+
updated_at: 2025-12-08
|
|
572
|
+
agents:
|
|
573
|
+
- devops
|
|
574
|
+
- dev
|
|
575
|
+
changelog:
|
|
576
|
+
2.0.0:
|
|
577
|
+
- BREAKING: Changed from stdio to HTTP transport
|
|
578
|
+
- Added: gateway-service.yml for persistent gateway
|
|
579
|
+
- Changed: Presets from (dev/research/full) to (minimal/full)
|
|
580
|
+
- Fixed: 30-second timeout issue with stdio transport
|
|
581
|
+
- Added: Health check before Claude Code connection
|
|
582
|
+
1.0.0:
|
|
583
|
+
- Initial version with stdio transport
|
|
584
|
+
```
|