Guías para construir y operar agentes de IA
Empieza con un proyecto pequeño, conecta sus herramientas y comprueba sus límites antes de abrirlo a usuarios. Encontrarás código descargable, datos de ejemplo y pruebas que puedes repetir.
Guías, página 7
249 tutoriales, comparativas y checklists para continuar según tu proyecto.

Self-hosting de un agente IA con Docker en un VPS: guía paso a paso
Tutorial de self-hosting para agentes de IA: Docker y Compose en un VPS Ubuntu, Dockerfile Node.js, red interna, Caddy con HTTPS automático, actualizaciones sin downtime, checklist de endurecimiento y cuándo conviene quedarse en una plataforma en vez de auto-hospedar el agente.

Secretos y variables de entorno para agentes IA en producción
Guía práctica de manejo de secretos para agentes de IA desplegados en Vercel, Cloudflare Workers, Docker y GitHub Actions: qué es secreto y qué no, cómo inyectarlos, rotarlos y auditarlos sin exponer tu API key en logs, repos o clientes.

Dependabot para coding agents: no mergees todos los bumps
Dependabot abre PRs de version updates y de alertas de seguridad. Un agente que mergea todos los bumps sin tests mete un breaking de major. Esta guía cubre dependabot.yml (ecosystem, schedule, ignore, groups), security vs version, y cuándo un bump es el ticket.

Branch protection para coding agents: no force-push a main, no bypass
Una branch protection rule bloquea force push y delete por default, y puede exigir status checks y PRs. Un solo rule aplica a la vez (fnmatch). Los admins pueden bypassear salvo que la regla los incluya. El agente no desactiva reglas ni mergea a main. Docs GitHub About protected branches.

CODEOWNERS para coding agents: no eludas el review de paths ajenos
CODEOWNERS asigna dueños por glob. En PRs, GitHub pide review a esos owners si la branch protection lo exige. Un agente no borra CODEOWNERS ni se auto-aprueba. Last matching pattern wins, como gitignore. Docs GitHub About code owners.

Cómo desplegar un agente de IA con Docker paso a paso
Guía para desplegar un agente de IA con Docker en un VPS: Dockerfile multi-stage para Node con imagen final pequeña, claves por entorno en runtime (nunca en la imagen), HEALTHCHECK y restart policy para auto-recuperación, logs que no llenan el disco y exposición del webhook. Con tabla de decisión pm2 vs Docker y checklist de cierre.

gitattributes para coding agents: text, eol y no reformatear generated
.gitattributes asigna attrs por path: text, eol, ident. GitHub usa linguist-generated para ocultar diffs. Un agente que ‘normaliza CRLF’ o reescribe lockfiles genera ruido. Manual gitattributes: later lines override per attribute.

EditorConfig para coding agents: indent y newlines del repo, no los tuyos
Un .editorconfig define estilos por glob: indent_style, indent_size, end_of_line, charset, trim_trailing_whitespace, insert_final_newline. Un agente que reescribe un archivo a 2 espacios en un repo de tabs genera un diff enorme. Spec 0.17.2.

Max turns y recursion_limit: cómo cortar un agente que no para
Un turno es una llamada al modelo. OpenAI Agents SDK corta en maxTurns 10 (JS) o DEFAULT_MAX_TURNS (Python) y lanza MaxTurnsExceeded. LangGraph 1.0.6+ usa recursion_limit 1000. CrewAI max_iter 20. Claude Agent SDK deja max_turns en None. Esta guía fija el techo, el handler y cuándo no desactivar el límite.

engines.node para coding agents: lee package.json antes de nvm use
El campo engines en package.json declara qué Node (y npm) acepta el repo. Por default npm solo avisa. pnpm puede fallar con engine-strict. Un agente que instala Node 22 en un repo de 18 rompe native addons. Esta guía cubre engines, .nvmrc y qué no inventar.

Truncar tool results en agentes: recortar el payload, no el contrato
El tool_result cuenta en la ventana. Claude lo borra con clear_tool_uses_20250919 (umbral 100k tokens, keep 3). OpenAI exige un mensaje tool por id. Gemini Enterprise recorta historial a 32.000 caracteres. Esta guía fija qué recortar, qué jamás y el placeholder.

Corepack y packageManager: el agente usa el pnpm del repo, no el del PATH
Corepack puentea Node y el package manager del proyecto. El campo packageManager en package.json ([email protected]+hash) pinnea la versión. Un agente que llama el pnpm global puede ser otra major y reescribir el lock. Esta guía cubre corepack enable, el campo, y por qué Node 25 ya no lo trae de fábrica.

Force push y amend en coding agents: por qué el remoto pierde commits
git push --force puede borrar commits del remoto. --force-with-lease solo comprueba el valor esperado del ref y un fetch de fondo lo derrota. --amend reescribe el tip. Esta guía fija commit nuevo + push normal; nunca amend+force en un agente. Man pages git-push y git-commit.

NODE_ENV y Next.js para agentes: no dejes production pegado en el shell
Next.js carga .env* y trata NODE_ENV como suyo: next build es production, next dev es development. Un harness que exporta NODE_ENV=production rompe tests y a veces el build. Esta guía cubre unset para next build, development para vitest, NEXT_PUBLIC_ y no commitear .env. Docs Next 16.

Tool calling en paralelo: cuándo sí, cuándo no y cómo devolver resultados
Un turno del modelo puede pedir varias tools a la vez. OpenAI lo apaga con parallel_tool_calls: false; Claude con disable_parallel_tool_use. Gemini exige devolver todas las respuestas. Esta guía fija el loop, el lote de resultados y cuándo forzar una sola llamada.

Conventional Commits para coding agents: feat, fix y el ! que rompe SemVer
Un agente que commitea 'wip' y 'updates' rompe el changelog. Conventional Commits 1.0.0 fija type, scope opcional y BREAKING CHANGE. Esta guía traduce la spec a instrucciones de harness: una línea de subject, cero novels, feat/fix/docs/test, y cuándo usar !.

Timeouts en tools HTTP: AbortSignal.timeout, no un sleep eterno
Una tool de fetch sin signal cuelga el agente hasta el idle timeout del host. AbortSignal.timeout(ms) aborta con TimeoutError. Esta guía cubre fetch + signal, AbortSignal.any con cancelación del usuario, y por qué el timeout vive en la tool, no en un setTimeout olvidado. MDN + Node.

Verificar la firma de webhooks en un agente de IA
Un webhook sin firma es un endpoint público: cualquiera puede inventar un mensaje de Slack, Telegram o GitHub y disparar tools. Esta guía compara HMAC de GitHub, Slack, Meta y el secret_token de Telegram, con código Node, replay window y el error de hashear el JSON parseado.