diff --git a/.coderabbit.yaml b/.coderabbit.yaml new file mode 100644 index 0000000..2cdba04 --- /dev/null +++ b/.coderabbit.yaml @@ -0,0 +1,36 @@ +# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json +language: "pt-BR" +tone_instructions: "Seja profissional, construtivo e foque em qualidade de código. Escreva em português." +early_access: false + +reviews: + auto_review: + enabled: true + base_branches: [main, master] + drafts: false + request_changes_workflow: true + high_level_summary: true + poem: false + review_status: true + collapse_walkthrough: false + + path_instructions: + - path: "**/*.json" + instructions: | + Validar JSON: sem trailing commas, chaves entre aspas. + Configs MCP: verificar `mcpServers`, `command`, `args` estão bem formados. + Sem secrets/API keys em valores literais — usar env vars. + - path: "**/Dockerfile*" + instructions: | + Multi-stage quando aplicável. Imagens base com tag pinned (sem :latest). + Sem segredos no build; usar build args ou secrets do Docker. + USER não-root quando possível. + - path: "**/*.yml" + instructions: | + YAML: validar indentação. Sem secrets hardcoded. + docker-compose: versão fixa, volumes mapeados conscientemente. + - path: ".github/**" + instructions: Segurança, secrets, sintaxe. + +chat: + auto_reply: true diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..edc32da --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,32 @@ +# Copilot Instructions — mcp-ecosystem + +## Project Overview +Repositório de configuração e orquestração de servidores MCP (Model Context Protocol), com Docker/Compose. + +## Stack +- **Docker** + **docker-compose** para containers MCP +- Configs em **JSON** (mcp servers config) +- **YAML** para compose e workflows + +## Conventions +- JSON válido sem trailing commas; chaves entre aspas +- Configs MCP com `mcpServers`, `command`, `args` bem formados +- Sem secrets em valores literais — env vars +- Dockerfiles: imagens base com tag pinned (sem `:latest`) +- docker-compose: versão fixa, volumes conscientes +- YAML: indentação 2 espaços, sem tabs + +## Folder Structure +- `configs/` ou raiz — JSONs de configuração MCP +- `docker/` ou `Dockerfile*` — definições de container +- `docker-compose.yml` — orquestração + +## Development +- `docker compose up -d` — sobe stack +- `docker compose logs -f ` — logs +- `docker compose down` — para + +## Critical Files +- `docker-compose.yml` — orquestração principal +- `configs/*.json` — definições MCP +- `Dockerfile*` — imagens custom diff --git a/ide-configs/claude/sample-config.json b/ide-configs/claude/sample-config.json index fcd6a66..cc35787 100644 --- a/ide-configs/claude/sample-config.json +++ b/ide-configs/claude/sample-config.json @@ -12,11 +12,18 @@ "playwright": { "command": "npx", "args": ["-y", "@anthropic/playwright-mcp"] + }, + "exa": { + "command": "npx", + "args": ["-y", "exa-mcp-server"], + "env": { + "EXA_API_KEY": "${EXA_API_KEY}" + } } }, "notes": { "description": "Sample Claude Code configuration for AIOS projects", - "preset": "aios-dev", - "documentation": "https://github.com/allfluence/mcp-ecosystem" + "preset": "aios-full", + "documentation": "https://github.com/SynkraAI/mcp-ecosystem" } } diff --git a/ide-configs/cursor/sample-config.json b/ide-configs/cursor/sample-config.json index 84c4571..7771e91 100644 --- a/ide-configs/cursor/sample-config.json +++ b/ide-configs/cursor/sample-config.json @@ -7,11 +7,22 @@ "desktop-commander": { "command": "npx", "args": ["-y", "@anthropic/desktop-commander-mcp"] + }, + "playwright": { + "command": "npx", + "args": ["-y", "@anthropic/playwright-mcp"] + }, + "exa": { + "command": "npx", + "args": ["-y", "exa-mcp-server"], + "env": { + "EXA_API_KEY": "${EXA_API_KEY}" + } } }, "notes": { "description": "Sample Cursor configuration for AIOS projects", - "preset": "aios-dev", - "documentation": "https://github.com/allfluence/mcp-ecosystem" + "preset": "aios-full", + "documentation": "https://github.com/SynkraAI/mcp-ecosystem" } }