[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M79FN243JPF20VJMHXME10VN":3,"skill-same:01M79FN243JPF20VJMHXME10VN":43},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":21,"frontMatter":22,"refName":23,"commitSha":24,"skillDirectory":25,"forksCount":13,"repositoryHtmlUrl":26,"repositoryHomepageUrl":6,"ownerHtmlUrl":27,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":28,"install":29,"resources":42},"01M79FN243JPF20VJMHXME10VN","dare-docker",null,"Containerização DARE com Dockerfile e docker-compose seguros, performantes e idiomáticos. Multi-stage builds, usuário não-root, healthchecks, redes isoladas, .dockerignore robusto. Cobre PHP\u002FLaravel, Python\u002FFastAPI, Node, Go, Rust, Rails e Vue.","darelabs-tech\u002Fdare-cli","darelabs-tech","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F297032253?v=4","01M79FCCY9B6SQYRDH94K6BP59","01M79FCCZ8GN6HPPEQJSJYC3FP",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fassets\u002Fnpm\u002Fide\u002Fantigravity\u002F.agents\u002Fskills\u002Fdare-docker\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: dare-docker\ndescription: Containerização DARE com Dockerfile e docker-compose seguros, performantes e idiomáticos. Multi-stage builds, usuário não-root, healthchecks, redes isoladas, .dockerignore robusto. Cobre PHP\u002FLaravel, Python\u002FFastAPI, Node, Go, Rust, Rails e Vue.\n---\n\n# DARE Docker Skill\n\nVocê é um engenheiro DevOps especialista em containerização. Seu papel é gerar `Dockerfile`, `docker-compose.yml` e `.dockerignore` otimizados para produção e desenvolvimento, seguindo boas práticas de **segurança, performance e cacheabilidade**.\n\n## Quando usar esta skill\n\n- Projeto novo DARE precisa de imagem Docker\n- Projeto existente tem Dockerfile antigo, com bash longo, root user, sem cache\n- Build local lento (> 60s) — otimização de cache\n- Imagem final pesada (> 500MB) — multi-stage e Alpine\u002Fdistroless\n\n## Padrões para Dockerfile\n\n### Multi-stage builds (obrigatório)\n\nSepare build (compiladores, deps de dev) de runtime (binário\u002Fartefato + libs mínimas).\n\n```dockerfile\n# Stage 1 — build\nFROM rust:1.80-alpine AS builder\nWORKDIR \u002Fapp\nCOPY Cargo.toml Cargo.lock .\u002F\nRUN cargo fetch\nCOPY src .\u002Fsrc\nRUN cargo build --release\n\n# Stage 2 — runtime\nFROM alpine:3.20\nRUN adduser -D -u 1000 appuser\nCOPY --from=builder \u002Fapp\u002Ftarget\u002Frelease\u002Fmyapp \u002Fusr\u002Flocal\u002Fbin\u002Fmyapp\nUSER appuser\nEXPOSE 8080\nCMD [\"myapp\"]\n```\n\n### Imagens base\n\n- Use Alpine ou distroless quando possível\n- Tags **explícitas** (`php:8.3-fpm-alpine`, nunca `latest`)\n- Pin de versão evita surpresas de patch\n\n### Usuário não-root\n\n```dockerfile\nRUN adduser -D -u 1000 appuser\nUSER appuser\n```\n\nAplicação rodando como root no container = vulnerabilidade.\n\n### Cache de camadas\n\nOrdene do menos mutável para o mais mutável:\n1. `FROM`\n2. `RUN apt-get install …` (raro mudar)\n3. `COPY package.json` \u002F `Cargo.toml` \u002F `composer.json`\n4. `RUN npm install` \u002F `cargo fetch` \u002F `composer install`\n5. `COPY src\u002F` ← muda muito, fica no final\n6. `RUN build`\n\n### Limpeza na mesma camada `RUN`\n\n```dockerfile\nRUN apt-get update && \\\n    apt-get install -y --no-install-recommends curl ca-certificates && \\\n    apt-get clean && \\\n    rm -rf \u002Fvar\u002Flib\u002Fapt\u002Flists\u002F*\n```\n\n### `ENTRYPOINT` vs `CMD`\n\n- `ENTRYPOINT` — comando fixo do container\n- `CMD` — argumentos default, podem ser sobrescritos\n\n## Padrões por stack\n\n### PHP \u002F Laravel\n\n```dockerfile\nFROM php:8.3-fpm-alpine AS base\nWORKDIR \u002Fvar\u002Fwww\u002Fhtml\n\nRUN apk add --no-cache --virtual .build-deps \\\n        $PHPIZE_DEPS postgresql-dev && \\\n    docker-php-ext-install pdo_pgsql opcache bcmath && \\\n    apk del .build-deps\n\nCOPY composer.json composer.lock .\u002F\nRUN composer install --no-dev --no-interaction --no-progress --optimize-autoloader\n\nCOPY . .\nRUN chown -R www-data:www-data storage bootstrap\u002Fcache\n\nUSER www-data\nEXPOSE 9000\nCMD [\"php-fpm\"]\n```\n\n### Python \u002F FastAPI\n\n```dockerfile\nFROM python:3.11-slim AS builder\nWORKDIR \u002Fapp\nCOPY requirements.txt .\nRUN pip install --no-cache-dir --user -r requirements.txt\n\nFROM python:3.11-slim\nRUN useradd -m -u 1000 appuser\nCOPY --from=builder \u002Froot\u002F.local \u002Fhome\u002Fappuser\u002F.local\nENV PATH=\u002Fhome\u002Fappuser\u002F.local\u002Fbin:$PATH\nWORKDIR \u002Fapp\nCOPY --chown=appuser:appuser . .\nUSER appuser\nEXPOSE 8000\nCMD [\"uvicorn\", \"app.main:app\", \"--host\", \"0.0.0.0\", \"--port\", \"8000\"]\n```\n\n### Go\n\n```dockerfile\nFROM golang:1.22-alpine AS builder\nWORKDIR \u002Fapp\nCOPY go.mod go.sum .\u002F\nRUN go mod download\nCOPY . .\nRUN CGO_ENABLED=0 go build -ldflags=\"-s -w\" -o \u002Fapp\u002Fbin\u002Fserver .\u002Fcmd\u002Fserver\n\nFROM scratch\nCOPY --from=builder \u002Fapp\u002Fbin\u002Fserver \u002Fserver\nEXPOSE 8080\nUSER 1000:1000\nENTRYPOINT [\"\u002Fserver\"]\n```\n\n### Node \u002F Vue (build estático)\n\n```dockerfile\nFROM node:20-alpine AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci\nCOPY . .\nRUN npm run build\n\nFROM nginx:alpine\nCOPY --from=builder \u002Fapp\u002Fdist \u002Fusr\u002Fshare\u002Fnginx\u002Fhtml\nCOPY nginx.conf \u002Fetc\u002Fnginx\u002Fconf.d\u002Fdefault.conf\nEXPOSE 80\n```\n\n### Rails\n\n```dockerfile\nFROM ruby:3.3-alpine AS builder\nRUN apk add --no-cache build-base postgresql-dev nodejs yarn\nWORKDIR \u002Fapp\nCOPY Gemfile Gemfile.lock .\u002F\nRUN bundle install --without development test\nCOPY . .\nRUN SECRET_KEY_BASE=dummy bundle exec rails assets:precompile\n\nFROM ruby:3.3-alpine\nRUN apk add --no-cache postgresql-client tzdata\nWORKDIR \u002Fapp\nCOPY --from=builder \u002Fusr\u002Flocal\u002Fbundle \u002Fusr\u002Flocal\u002Fbundle\nCOPY --from=builder \u002Fapp \u002Fapp\nRUN adduser -D -u 1000 appuser && chown -R appuser:appuser \u002Fapp\nUSER appuser\nEXPOSE 3000\nCMD [\"bundle\", \"exec\", \"rails\", \"server\", \"-b\", \"0.0.0.0\"]\n```\n\n## Padrões para docker-compose\n\n### Especificação atual\n\nNÃO use `version: '3'` — está deprecated. Estrutura moderna:\n\n```yaml\nservices:\n  api:\n    build: .\n    ports: [\"8080:8080\"]\n    env_file: .env\n    depends_on:\n      postgres:\n        condition: service_healthy\n    networks: [internal]\n\n  postgres:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_PASSWORD: ${DB_PASSWORD}\n    volumes:\n      - postgres_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U postgres\"]\n      interval: 5s\n      retries: 5\n    networks: [internal]\n\nvolumes:\n  postgres_data:\n\nnetworks:\n  internal:\n```\n\n### Boas práticas\n\n- **Serviços isolados** — Nginx + PHP-FPM em containers separados (não monolito)\n- **Volumes nomeados** — persistência clara\n- **Redes customizadas** — isolar comunicação entre serviços\n- **Variáveis via `.env`** — nunca hardcode senha em compose\n- **Healthchecks** — `depends_on: condition: service_healthy` evita race condition\n- **Portas de DB não expostas para host em prod** — só na rede interna\n\n## `.dockerignore` obrigatório\n\n```\n.git\u002F\n.github\u002F\n.vscode\u002F\n.idea\u002F\nnode_modules\u002F\nvendor\u002F\ntarget\u002F\n.next\u002F\ndist\u002F\nbuild\u002F\n.env\n.env.local\n*.log\ntests\u002F\nDARE\u002F\n.dockerignore\nDockerfile*\ndocker-compose*.yml\nREADME.md\ndocs\u002F\n```\n\n## Métricas \u002F checklist\n\n| Critério | OK |\n|---|---|\n| Multi-stage build | [ ] |\n| Usuário não-root no runtime | [ ] |\n| Tag explícita (não `latest`) | [ ] |\n| `.dockerignore` presente | [ ] |\n| Healthcheck nos serviços DB\u002Fcache | [ ] |\n| Volumes nomeados (não bind mount em prod) | [ ] |\n| Sem senha hardcoded no compose | [ ] |\n| Imagem final \u003C 200MB (linguagem compilada) ou \u003C 500MB (interpretada) | [ ] |\n| Cache de camadas otimizado | [ ] |\n\n## Antipatterns\n\n| AP | Antipattern | Por que evitar |\n|---|---|---|\n| AP-01 | Rodar como root | Vulnerabilidade — escape de container vira root no host |\n| AP-02 | Tag `latest` | Build não reproduzível |\n| AP-03 | `COPY . .` antes de instalar deps | Cache invalidado a cada commit |\n| AP-04 | Senha em compose | Vaza em log e git |\n| AP-05 | Mono-container com tudo (DB + app) | Não escala, viola SRP |\n| AP-06 | `version: '3'` em compose | Deprecated |\n| AP-07 | Sem healthcheck no DB | `depends_on` simples não espera DB ficar pronto |\n| AP-08 | Sem `.dockerignore` | Imagem pesada, vaza `.env`\u002F`.git` |\n\n## Como aplicar\n\n### Passo 1: Analisar stack\n\nLeia `DESIGN.md` ou arquivos de config para identificar linguagem + framework + versão.\n\n### Passo 2: Gerar Dockerfile\n\nUse o template correspondente à stack acima. Adapte:\n- Versão exata (PHP 8.3, Node 20, Python 3.11, …)\n- Extensões\u002Fdeps específicas\n- Porta exposta\n- Comando de start\n\n### Passo 3: Gerar docker-compose.yml\n\nListe serviços necessários (api, db, redis, queue worker, …). Use healthchecks.\n\n### Passo 4: Gerar .dockerignore\n\nPasta `DARE\u002F`, `node_modules\u002F`, `.git\u002F`, `.env`, `tests\u002F` — sempre.\n\n### Passo 5: Validar\n\n```bash\ndocker build -t myapp .\ndocker compose config         # valida sintaxe\ndocker compose up --build\ndocker compose ps             # verificar healthchecks\n```\n\n## Dicas\n\n- **Use** `docker scout cves` para escanear imagens\n- **Combine** com `dare-security` (escanear secrets antes de COPY)\n- **Para Rust**, `cargo-chef` acelera builds CI dramaticamente\n- **Para multi-arch**, use `docker buildx build --platform linux\u002Famd64,linux\u002Farm64`\n\n---\n\nEsta skill é parte do DARE Method e está sob licença MIT.\n","# DARE Docker Skill\n\nVocê é um engenheiro DevOps especialista em containerização. Seu papel é gerar `Dockerfile`, `docker-compose.yml` e `.dockerignore` otimizados para produção e desenvolvimento, seguindo boas práticas de **segurança, performance e cacheabilidade**.\n\n## Quando usar esta skill\n\n- Projeto novo DARE precisa de imagem Docker\n- Projeto existente tem Dockerfile antigo, com bash longo, root user, sem cache\n- Build local lento (> 60s) — otimização de cache\n- Imagem final pesada (> 500MB) — multi-stage e Alpine\u002Fdistroless\n\n## Padrões para Dockerfile\n\n### Multi-stage builds (obrigatório)\n\nSepare build (compiladores, deps de dev) de runtime (binário\u002Fartefato + libs mínimas).\n\n```dockerfile\n# Stage 1 — build\nFROM rust:1.80-alpine AS builder\nWORKDIR \u002Fapp\nCOPY Cargo.toml Cargo.lock .\u002F\nRUN cargo fetch\nCOPY src .\u002Fsrc\nRUN cargo build --release\n\n# Stage 2 — runtime\nFROM alpine:3.20\nRUN adduser -D -u 1000 appuser\nCOPY --from=builder \u002Fapp\u002Ftarget\u002Frelease\u002Fmyapp \u002Fusr\u002Flocal\u002Fbin\u002Fmyapp\nUSER appuser\nEXPOSE 8080\nCMD [\"myapp\"]\n```\n\n### Imagens base\n\n- Use Alpine ou distroless quando possível\n- Tags **explícitas** (`php:8.3-fpm-alpine`, nunca `latest`)\n- Pin de versão evita surpresas de patch\n\n### Usuário não-root\n\n```dockerfile\nRUN adduser -D -u 1000 appuser\nUSER appuser\n```\n\nAplicação rodando como root no container = vulnerabilidade.\n\n### Cache de camadas\n\nOrdene do menos mutável para o mais mutável:\n1. `FROM`\n2. `RUN apt-get install …` (raro mudar)\n3. `COPY package.json` \u002F `Cargo.toml` \u002F `composer.json`\n4. `RUN npm install` \u002F `cargo fetch` \u002F `composer install`\n5. `COPY src\u002F` ← muda muito, fica no final\n6. `RUN build`\n\n### Limpeza na mesma camada `RUN`\n\n```dockerfile\nRUN apt-get update && \\\n    apt-get install -y --no-install-recommends curl ca-certificates && \\\n    apt-get clean && \\\n    rm -rf \u002Fvar\u002Flib\u002Fapt\u002Flists\u002F*\n```\n\n### `ENTRYPOINT` vs `CMD`\n\n- `ENTRYPOINT` — comando fixo do container\n- `CMD` — argumentos default, podem ser sobrescritos\n\n## Padrões por stack\n\n### PHP \u002F Laravel\n\n```dockerfile\nFROM php:8.3-fpm-alpine AS base\nWORKDIR \u002Fvar\u002Fwww\u002Fhtml\n\nRUN apk add --no-cache --virtual .build-deps \\\n        $PHPIZE_DEPS postgresql-dev && \\\n    docker-php-ext-install pdo_pgsql opcache bcmath && \\\n    apk del .build-deps\n\nCOPY composer.json composer.lock .\u002F\nRUN composer install --no-dev --no-interaction --no-progress --optimize-autoloader\n\nCOPY . .\nRUN chown -R www-data:www-data storage bootstrap\u002Fcache\n\nUSER www-data\nEXPOSE 9000\nCMD [\"php-fpm\"]\n```\n\n### Python \u002F FastAPI\n\n```dockerfile\nFROM python:3.11-slim AS builder\nWORKDIR \u002Fapp\nCOPY requirements.txt .\nRUN pip install --no-cache-dir --user -r requirements.txt\n\nFROM python:3.11-slim\nRUN useradd -m -u 1000 appuser\nCOPY --from=builder \u002Froot\u002F.local \u002Fhome\u002Fappuser\u002F.local\nENV PATH=\u002Fhome\u002Fappuser\u002F.local\u002Fbin:$PATH\nWORKDIR \u002Fapp\nCOPY --chown=appuser:appuser . .\nUSER appuser\nEXPOSE 8000\nCMD [\"uvicorn\", \"app.main:app\", \"--host\", \"0.0.0.0\", \"--port\", \"8000\"]\n```\n\n### Go\n\n```dockerfile\nFROM golang:1.22-alpine AS builder\nWORKDIR \u002Fapp\nCOPY go.mod go.sum .\u002F\nRUN go mod download\nCOPY . .\nRUN CGO_ENABLED=0 go build -ldflags=\"-s -w\" -o \u002Fapp\u002Fbin\u002Fserver .\u002Fcmd\u002Fserver\n\nFROM scratch\nCOPY --from=builder \u002Fapp\u002Fbin\u002Fserver \u002Fserver\nEXPOSE 8080\nUSER 1000:1000\nENTRYPOINT [\"\u002Fserver\"]\n```\n\n### Node \u002F Vue (build estático)\n\n```dockerfile\nFROM node:20-alpine AS builder\nWORKDIR \u002Fapp\nCOPY package*.json .\u002F\nRUN npm ci\nCOPY . .\nRUN npm run build\n\nFROM nginx:alpine\nCOPY --from=builder \u002Fapp\u002Fdist \u002Fusr\u002Fshare\u002Fnginx\u002Fhtml\nCOPY nginx.conf \u002Fetc\u002Fnginx\u002Fconf.d\u002Fdefault.conf\nEXPOSE 80\n```\n\n### Rails\n\n```dockerfile\nFROM ruby:3.3-alpine AS builder\nRUN apk add --no-cache build-base postgresql-dev nodejs yarn\nWORKDIR \u002Fapp\nCOPY Gemfile Gemfile.lock .\u002F\nRUN bundle install --without development test\nCOPY . .\nRUN SECRET_KEY_BASE=dummy bundle exec rails assets:precompile\n\nFROM ruby:3.3-alpine\nRUN apk add --no-cache postgresql-client tzdata\nWORKDIR \u002Fapp\nCOPY --from=builder \u002Fusr\u002Flocal\u002Fbundle \u002Fusr\u002Flocal\u002Fbundle\nCOPY --from=builder \u002Fapp \u002Fapp\nRUN adduser -D -u 1000 appuser && chown -R appuser:appuser \u002Fapp\nUSER appuser\nEXPOSE 3000\nCMD [\"bundle\", \"exec\", \"rails\", \"server\", \"-b\", \"0.0.0.0\"]\n```\n\n## Padrões para docker-compose\n\n### Especificação atual\n\nNÃO use `version: '3'` — está deprecated. Estrutura moderna:\n\n```yaml\nservices:\n  api:\n    build: .\n    ports: [\"8080:8080\"]\n    env_file: .env\n    depends_on:\n      postgres:\n        condition: service_healthy\n    networks: [internal]\n\n  postgres:\n    image: postgres:16-alpine\n    environment:\n      POSTGRES_PASSWORD: ${DB_PASSWORD}\n    volumes:\n      - postgres_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U postgres\"]\n      interval: 5s\n      retries: 5\n    networks: [internal]\n\nvolumes:\n  postgres_data:\n\nnetworks:\n  internal:\n```\n\n### Boas práticas\n\n- **Serviços isolados** — Nginx + PHP-FPM em containers separados (não monolito)\n- **Volumes nomeados** — persistência clara\n- **Redes customizadas** — isolar comunicação entre serviços\n- **Variáveis via `.env`** — nunca hardcode senha em compose\n- **Healthchecks** — `depends_on: condition: service_healthy` evita race condition\n- **Portas de DB não expostas para host em prod** — só na rede interna\n\n## `.dockerignore` obrigatório\n\n```\n.git\u002F\n.github\u002F\n.vscode\u002F\n.idea\u002F\nnode_modules\u002F\nvendor\u002F\ntarget\u002F\n.next\u002F\ndist\u002F\nbuild\u002F\n.env\n.env.local\n*.log\ntests\u002F\nDARE\u002F\n.dockerignore\nDockerfile*\ndocker-compose*.yml\nREADME.md\ndocs\u002F\n```\n\n## Métricas \u002F checklist\n\n| Critério | OK |\n|---|---|\n| Multi-stage build | [ ] |\n| Usuário não-root no runtime | [ ] |\n| Tag explícita (não `latest`) | [ ] |\n| `.dockerignore` presente | [ ] |\n| Healthcheck nos serviços DB\u002Fcache | [ ] |\n| Volumes nomeados (não bind mount em prod) | [ ] |\n| Sem senha hardcoded no compose | [ ] |\n| Imagem final \u003C 200MB (linguagem compilada) ou \u003C 500MB (interpretada) | [ ] |\n| Cache de camadas otimizado | [ ] |\n\n## Antipatterns\n\n| AP | Antipattern | Por que evitar |\n|---|---|---|\n| AP-01 | Rodar como root | Vulnerabilidade — escape de container vira root no host |\n| AP-02 | Tag `latest` | Build não reproduzível |\n| AP-03 | `COPY . .` antes de instalar deps | Cache invalidado a cada commit |\n| AP-04 | Senha em compose | Vaza em log e git |\n| AP-05 | Mono-container com tudo (DB + app) | Não escala, viola SRP |\n| AP-06 | `version: '3'` em compose | Deprecated |\n| AP-07 | Sem healthcheck no DB | `depends_on` simples não espera DB ficar pronto |\n| AP-08 | Sem `.dockerignore` | Imagem pesada, vaza `.env`\u002F`.git` |\n\n## Como aplicar\n\n### Passo 1: Analisar stack\n\nLeia `DESIGN.md` ou arquivos de config para identificar linguagem + framework + versão.\n\n### Passo 2: Gerar Dockerfile\n\nUse o template correspondente à stack acima. Adapte:\n- Versão exata (PHP 8.3, Node 20, Python 3.11, …)\n- Extensões\u002Fdeps específicas\n- Porta exposta\n- Comando de start\n\n### Passo 3: Gerar docker-compose.yml\n\nListe serviços necessários (api, db, redis, queue worker, …). Use healthchecks.\n\n### Passo 4: Gerar .dockerignore\n\nPasta `DARE\u002F`, `node_modules\u002F`, `.git\u002F`, `.env`, `tests\u002F` — sempre.\n\n### Passo 5: Validar\n\n```bash\ndocker build -t myapp .\ndocker compose config         # valida sintaxe\ndocker compose up --build\ndocker compose ps             # verificar healthchecks\n```\n\n## Dicas\n\n- **Use** `docker scout cves` para escanear imagens\n- **Combine** com `dare-security` (escanear secrets antes de COPY)\n- **Para Rust**, `cargo-chef` acelera builds CI dramaticamente\n- **Para multi-arch**, use `docker buildx build --platform linux\u002Famd64,linux\u002Farm64`\n\n---\n\nEsta skill é parte do DARE Method e está sob licença MIT.\n",{"name":5,"description":7},"main","3597b5ea0f4e90a0b47e4c036afc7eeb087d5ea5","assets\u002Fnpm\u002Fide\u002Fantigravity\u002F.agents\u002Fskills\u002Fdare-docker","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech","2026-10-23 09:15:53",{"source":8,"skillName":5,"commands":30,"prompt":40,"zipAvailable":41},[31,34,37],{"tool":32,"command":33},"npx","npx skills add darelabs-tech\u002Fdare-cli --skill dare-docker",{"tool":35,"command":36},"bunx","bunx skills add darelabs-tech\u002Fdare-cli --skill dare-docker",{"tool":38,"command":39},"pnpm","pnpm dlx skills add darelabs-tech\u002Fdare-cli --skill dare-docker","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fassets\u002Fnpm\u002Fide\u002Fantigravity\u002F.agents\u002Fskills\u002Fdare-docker\u002FSKILL.md",true,[],[44,50,55,62,69,76],{"skillNo":45,"name":46,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":47,"categories":48,"keywords":49,"publishedAt":18},"01M79FRYATNTKSEW78ZF8YPTMP","commands","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fbook\u002Fpt\u002Fsrc\u002Fcommands\u002Fskill.md",[],[],{"skillNo":51,"name":46,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":52,"categories":53,"keywords":54,"publishedAt":18},"01M79FRX217T58KNDCKKXWRMP1","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fbook\u002Fen\u002Fsrc\u002Fcommands\u002Fskill.md",[],[],{"skillNo":56,"name":57,"nameZh":6,"description":58,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":18},"01M79FRS84X15ZCGTK7C2SAMXM","skill-rails-api","Padrões DARE para APIs em Ruby on Rails 8 — API mode, ActiveRecord, Solid Queue, Solid Cable, Action Cable, strong parameters, services (interactors), serializers (Blueprinter\u002FAlba), Devise\u002FJWT, rack-attack, rswag\u002Fgrape-swagger.","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fassets\u002Fnpm\u002Fide\u002Fantigravity\u002F.agents\u002Fskills\u002Fskill-rails-api\u002FSKILL.md",[],[],{"skillNo":63,"name":64,"nameZh":6,"description":65,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":18},"01M79FRN9NQ4DXWBFFPWJF39RA","skill-nestjs-api","Padrões DARE para APIs REST em NestJS + TypeScript + Prisma + Swagger. Modules, Controllers, Services, DTOs com class-validator, Guards, Interceptors, exceções globais, Jest + Supertest, OpenAPI auto-gerado, rate limiting com @nestjs\u002Fthrottler.","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fassets\u002Fnpm\u002Fide\u002Fantigravity\u002F.agents\u002Fskills\u002Fskill-nestjs-api\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":18},"01M79FRGSECX4GBGN2X3ZM27TD","skill-mcp-server","Padrões DARE para servidores MCP (Model Context Protocol) em TypeScript ou Python. Define tools, resources, prompts; suporta transports stdio, SSE e HTTP; validação Zod\u002FPydantic; autorização por tool; tracing estruturado; testes; publicação no MCP registry.","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fassets\u002Fnpm\u002Fide\u002Fantigravity\u002F.agents\u002Fskills\u002Fskill-mcp-server\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":18},"01M79FRCY80X3GKQ36YTB4TYTQ","skill-go-gin-api","Padrões DARE para APIs REST em Go + Gin (ou stdlib net\u002Fhttp) + sqlc + PostgreSQL. Handlers, services, repositories, middleware, validação com go-playground\u002Fvalidator, JWT, rate limit, swag (OpenAPI), testes com testify e httptest.","https:\u002F\u002Fgithub.com\u002Fdarelabs-tech\u002Fdare-cli\u002Fblob\u002Fmain\u002Fassets\u002Fnpm\u002Fide\u002Fantigravity\u002F.agents\u002Fskills\u002Fskill-go-gin-api\u002FSKILL.md",[],[]]