De LLM Wrappers a AI-Native IDEs
En 2023, las herramientas de IA para desarrollo eran "wrappers": interfaces de chat pegadas a un editor de código. En 2026, hemos llegado a los AI-Native IDEs — entornos donde la IA no es un complemento, sino el motor principal de la ingeniería.
Ingeniería de Software Agéntica = Pasar de la generación de código (Code Gen) a la orquestación de sistemas (System Orchestration). Ya no le dices al agente QUÉ escribir, le diseñas el CONTEXTO para que tome buenas decisiones.
El Ecosistema de Herramientas
| Herramienta | Tipo | Fortaleza Principal |
|---|---|---|
| Claude Code | CLI / Terminal Agéntico | Ejecución táctica directa en tu filesystem para la primera parte del taller |
| OpenCode | TUI / Desktop / IDE Open Source | Agente extensible para modelos locales o cloud, con MCP y Skills versionables |
| Antigravity | Manager Surface (Web) | Orquestación asíncrona y paralela |
| Codex | CLI / Agente de Código | Implementación y edición guiada desde terminal |
| Cursor | AI-Native IDE | Edición asistida con contexto visual |
| Copilot CLI | CLI / Asistente | Asistencia contextual en terminal y flujos de desarrollo |
| Gemini CLI | CLI / Asistente | Ejecución de tareas y automatización desde consola |
Prompt de Práctica (Copiar y Pegar)
Prompt: Create a single-page app in a single HTML file with the following requirements: - Name: Typing Rain - Goal: Type falling words before they reach the bottom. - Features: Increasing difficulty, accuracy tracker, score. - The UI should be the city background with animated raindrop words.
El corazón de toda herramienta de código agéntica es el Bucle Agéntico (también conocido como ReAct Loop). Es un ciclo iterativo que se repite hasta completar la tarea:
Herramientas del Agente
Claude Code tiene acceso a estas herramientas que le permiten interactuar con tu proyecto:
| Herramienta | Descripción | Ejemplo de Uso |
|---|---|---|
Read |
Lee contenido de archivos | Leer un archivo de configuración |
Edit |
Edita archivos existentes | Corregir un bug en una función |
Write |
Crea archivos nuevos | Crear un nuevo componente |
Bash |
Ejecuta comandos en terminal | npm test, git diff |
Glob |
Busca archivos por patrón | Encontrar todos los *.test.ts |
Grep |
Busca contenido dentro de archivos | Buscar dónde se usa una función |
Task |
Delega a un subagente | Investigar en paralelo |
WebFetch |
Obtiene contenido de la web | Consultar documentación |
Abre una terminal, ejecuta claude y pide "dame un overview de este proyecto".
Observa en tiempo real cómo Claude usa Glob para encontrar archivos, Read para
leerlos, y construye un resumen.
La nueva unidad de trabajo ya no es solo el commit. Con agentes, trabajamos con Artifacts: paquetes completos de trabajo que incluyen:
"No escribas código que puedas generar, pero nunca generes código que no sepas verificar."
El Problema de la Alucinación
Los agentes pueden generar código que parece correcto pero tiene errores sutiles. Por eso, la verificación automática mediante tests es más importante que nunca. El TDD (Test-Driven Development) se convierte en una necesidad, no solo una buena práctica.
Prompt Engineering = Escribir el mensaje correcto al chat.
Context Engineering = Diseñar tu sistema de archivos, reglas y configuración para que
el agente entienda el contexto sin necesidad de explicárselo en cada mensaje.
En la ingeniería agéntica moderna, la calidad del output depende de:
- Contexto — Qué información tiene el agente sobre tu proyecto (CLAUDE.md, rules, memoria)
- Restricciones — Qué puede y no puede hacer (permisos, settings, hooks)
- Skills — Habilidades reutilizables empaquetadas (scripts versionados)
- Protocolos — Estándares de comunicación (MCP para conectar herramientas externas)
Checklist: "Agent-Ready Repo"
Tu repositorio está listo para la IA cuando tiene:
- ✅ Contexto:
CLAUDE.mdoAGENTS.mdcon instrucciones del proyecto - ✅ Restricciones:
.claude/settings.jsoncon permisos configurados - ✅ Linting: Herramientas de calidad de código configuradas
- ✅ Tests: Suite de tests automatizados que el agente pueda ejecutar
- ✅ Documentación: README actualizado con comandos y arquitectura
Software Necesario
| Requisito | Detalle |
|---|---|
| Terminal | macOS Terminal, Linux, o WSL2 en Windows |
| Node.js | Versión 20+ (recomendado) |
| Git | Para control de versiones |
| VS Code | Editor de código (o Cursor) |
| Claude Code CLI | Se instala durante la clase |
Cuentas y Accesos
- Cuenta Claude (Pro, Max, Teams o Enterprise) o cuenta en Anthropic Console
- Cuenta de GitHub (para demos de PRs y GitHub Actions)
🚀 Proyecto Base: CRM
Durante todo el taller trabajaremos sobre un CRM real construido con Next.js, Prisma y Tailwind CSS. Clona el repositorio antes de empezar:
git clone https://github.com/hardcore-ai/basic_crm_30x.git cd basic_crm_30x npm install
Este CRM incluye gestión de clientes, interacciones y un dashboard. Todas las prácticas del taller
(prompts, flujos, Hooks, Subagentes, Agent Teams, MCPs y Skills) se aplican sobre este proyecto.
🔗
github.com/hardcore-ai/basic_crm_30x
Nivel Requerido
Intermedio: conocimiento de Git, línea de comandos (CLI), y ciclo de vida de desarrollo de software.
"En 2026, la calidad de tu software ya no depende de tu capacidad para escribir sintaxis, sino de tu capacidad para especificar, restringir y verificar el trabajo de sistemas inteligentes."
¿Qué es Claude Code?
Claude Code es una herramienta de código agéntica que lee tu codebase, edita archivos y ejecuta comandos. Funciona en tu terminal, IDE, navegador y como app de escritorio.
Instalación
curl -fsSL https://claude.ai/install.sh | bash
brew install --cask claude-code
irm https://claude.ai/install.ps1 | iex
Primera Sesión
cd tu-proyecto claude # Se te pedirá iniciar sesión la primera vez # Usa /login si necesitas cambiar de cuenta
Modelos Disponibles
| Modelo | Caso de Uso | Costo |
|---|---|---|
| Opus 4.7 | Razonamiento complejo, arquitectura | $$$ |
| Sonnet 4.6 | Tareas diarias, balance costo/capacidad | $$ |
| Haiku | Tareas simples, búsquedas rápidas | $ |
Primer Prompt: Explorar tu Proyecto
Claude usará Glob para encontrar archivos, Read para leerlos, y construirá un
resumen arquitectónico. Observa las herramientas que usa en la terminal.
Los 3 Modos de Permisos
Alterna entre modos con Shift+Tab:
Atajos Esenciales
| Atajo | Función |
|---|---|
| Ctrl+C | Cancelar acción actual |
| Ctrl+R | Buscar en historial de prompts |
| Ctrl+O | Ver pensamiento extendido (verbose) |
| Ctrl+L | Limpiar pantalla |
| Shift+Enter | Prompt multilínea |
| Esc+Esc | Rewind — revertir al checkpoint anterior |
| Shift+Tab | Cambiar modo de permisos |
Menciones con @
Da contexto directo incluyendo archivos o directorios en tu prompt:
Comandos Integrados
| Comando | Descripción |
|---|---|
/help |
Mostrar ayuda y comandos disponibles |
/clear |
Limpiar historial de conversación |
/usage |
Ver costo acumulado de la sesión |
/context |
Ver uso de la ventana de contexto |
/compact |
Compactar contexto preservando lo esencial |
/model sonnet |
Cambiar modelo mid-session |
/resume |
Reanudar conversación anterior |
/rename |
Nombrar la sesión actual |
!comando |
Ejecutar comando bash directamente |
Jerarquía de Scopes (Precedencia)
Las configuraciones se aplican de mayor a menor prioridad:
| Scope | Ubicación | ¿Compartido? | Uso |
|---|---|---|---|
| Managed | Sistema (/etc/claude-code/) |
Sí (IT) | Políticas corporativas |
| User | ~/.claude/settings.json |
No | Preferencias personales |
| Project | .claude/settings.json |
Sí (Git) | Reglas del equipo |
| Local | .claude/settings.local.json |
No (gitignored) | Overrides personales |
Ejemplo: settings.json del Proyecto
{
"permissions": {
"deny": [
"Read(.env)",
"Read(no_leer.txt)",
"Read(**/*.pem)",
"Edit(.env)",
"Bash(rm -rf *)",
"Bash(DROP TABLE *)"
],
"allow": [
"Bash(npm run *)",
"Bash(npx prisma *)",
"Bash(git *)",
"Read",
"Edit",
"Write"
]
}
}
Las reglas deny siempre tienen prioridad sobre allow. Si un archivo está en
deny, Claude NO podrá leerlo ni editarlo, sin importar las reglas de allow.
Ejercicio Práctico
- Crea el archivo
.claude/settings.jsoncon las reglas de arriba - Abre
claudee intenta: "lee el archivo secrets.env" - Verifica que Claude bloquea el acceso
- Usa
/configpara explorar la configuración interactiva
CLAUDE.md = Instrucciones que TÚ escribes para Claude (reglas, stack,
convenciones)
Auto Memory = Notas que CLAUDE escribe para sí mismo (patrones aprendidos, insights)
Jerarquía de Memoria
| Archivo | Propósito | Compartido |
|---|---|---|
~/.claude/CLAUDE.md |
Preferencias personales globales | No |
./CLAUDE.md |
Instrucciones del proyecto | Sí (Git) |
./CLAUDE.local.md |
Preferencias por proyecto (gitignored) | No |
.claude/rules/*.md |
Reglas modulares por tema | Sí (Git) |
~/.claude/projects/<proyecto>/memory/ |
Auto Memory (notas de Claude) | No |
Template: CLAUDE.md Efectivo
# CRM Proyecto - Instrucciones para Claude ## Stack - Runtime: Node.js 20+ con TypeScript y React 19 - Framework: Next.js 16 (App Router) - Estilos: Tailwind CSS v4 - ORM: Prisma con PostgreSQL (Neon DB) - Pruebas: Vitest ## Comandos - Dev server: `npm run dev` - Build: `npm run build` - DB generate: `npx prisma generate` - Linter: `npm run lint` ## Convenciones - Componentes de UI van en `src/components/` (usamos Lucide React para íconos) - Lógica de backend y endpoints en `src/app/api/` - Páginas de la app van en `src/app/` - Componentes de servidor (RSC) por defecto. Usa `"use client"` solo si necesitas interactividad o hooks de React - Las mutaciones a la base de datos se hacen usando Server Actions o en rutas de API ## Seguridad - NUNCA commitear archivos `.env.local` ni secrets - NUNCA retornar objetos Prisma completos al frontend, filtra datos sensibles - Valida entradas de usuario antes de tocar la DB
Reglas Modulares
# Convenciones de Testing - Framework: Vitest + Supertest para tests de integración - Cada test debe cubrir: happy path, errores, edge cases - Nombrar tests descriptivamente: "should return 404 when product not found" - Usar factories para datos de prueba, no hardcodear
Auto Memory
Puedes decirle a Claude que recuerde algo específico:
Usa /memory para revisar y editar lo que Claude ha guardado.
Generar CLAUDE.md Automáticamente
# Dentro de una sesión de Claude Code: /init # Claude analizará tu proyecto y generará un CLAUDE.md base
Debug Agéntico
Pega el error directamente en Claude y deja que trace la causa raíz:
Refactorización Incremental
Pide cambios en pasos pequeños y verificables. Siempre incluye un comando de verificación.
Checkpoints y Rewind
Claude crea checkpoints automáticos antes de cada cambio. Si algo sale mal:
- Esc+Esc — Revertir al estado anterior (Rewind)
- Restore: Revierte código al checkpoint
- Summarize: Mantiene los cambios pero limpia el contexto
Git y Pull Requests
Gestión de Sesiones
# Nombrar la sesión actual /rename bugfix-authentication # Continuar la sesión más reciente claude -c # Seleccionar sesión para reanudar claude -r # Reanudar por nombre claude --resume bugfix-authentication
Skills = Claude decide cuándo usarlas (o tú las invocas con /nombre).
Hooks = Comandos deterministas que siempre se ejecutan en eventos
específicos.
¿Qué hace un Hook y cómo se estructura?
Un hook ejecuta lógica automática en puntos concretos del ciclo de Claude Code. La estructura oficial es: evento → matcher → hooks[]. En hooks de comando, Claude envía JSON por stdin con el contexto del evento, y tu script decide si permite, bloquea o solo registra.
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/block-risky-commands.sh"
}
]
}
],
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/format.sh"
}
]
}
]
}
}
#!/usr/bin/env bash
INPUT="$(cat)"
CMD="$(echo "$INPUT" | jq -r '.tool_input.command // empty')"
if echo "$CMD" | grep -Eq 'rm -rf|sudo rm'; then
jq -n '{
hookSpecificOutput: {
hookEventName: "PreToolUse",
permissionDecision: "deny",
permissionDecisionReason: "Comando destructivo bloqueado por policy"
}
}'
exit 0
fi
exit 0
Tipos de Hook Handler
type: "command": corre scripts/comandos shell (determinista)type: "prompt": validación de una condición con modelo (single-turn)type: "agent": delega validación a subagente con herramientas
Eventos del Ciclo de Vida
| Evento | Cuándo se ejecuta | Uso típico |
|---|---|---|
PreToolUse |
Antes de usar una herramienta | Bloquear ediciones a archivos protegidos |
PostToolUse |
Después de usar una herramienta | Auto-formatear código |
Stop |
Cuando Claude termina de responder | Validación final |
Notification |
Cuando Claude espera input | Notificaciones de escritorio |
SessionStart |
Al iniciar sesión | Inyectar variables de entorno |
PreCompact |
Antes de compactar contexto | Re-inyectar info crítica |
Ejemplo Completo de Hooks
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "file=$(jq -r '.tool_input.file_path // empty'); [ -n \"$file\" ] && npx prettier --write \"$file\" 2>/dev/null || true"
}
]
}
],
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "file=$(jq -r '.tool_input.file_path // empty'); if echo \"$file\" | grep -q 'prisma/schema.prisma'; then echo 'Blocked: No editar prisma/schema.prisma directamente.' >&2; exit 2; fi"
}
]
}
],
"Notification": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "notify-send 'Claude Code' 'Necesita tu atención' 2>/dev/null || true"
}
]
}
]
}
}
Ejemplos para probar
- Crea un archivo
test.jsmal formateado. - Edita
prisma/schema.prismaagregando un comentario.
Usa /hooks dentro de Claude Code para crear y gestionar hooks visualmente sin editar JSON
manualmente.
🏪 Marketplaces y Repositorios de Hooks
Subagentes Integrados
Crear un Subagente Personalizado
---
name: "test-writer"
description: Genera tests unitarios e integración para componentes React y rutas API
model: sonnet
color: red
tools:
- Read
- Edit
- Write
- Bash
- Glob
- Grep
---
# Test Writer Agent
Especialista en escribir tests completos y confiables con Vitest + React Testing Library.
## Stack de Testing
- **Framework**: Vitest (con `vitest.config.ts`)
- **Testing Library**: React Testing Library para componentes
- **Assertions**: expect() de Vitest
- **HTTP Testing**: Supertest para rutas API
- **Cobertura mínima**: 80% de líneas
## Reglas de Testing
### Componentes React (`src/components/`)
- Renderizar sin errores (render + expect)
- Testear interacciones: clics, inputs, cambios de estado
- Usar `screen.getByRole()`, `getByTestId()` solo si necesario
- Mockear `next/navigation`: `useRouter`, `usePathname`, `useSearchParams`
- Mockear llamadas a APIs: fetch, POST, DELETE
- Evitar mockear la lógica interna (test del comportamiento, no la implementación)
### Rutas API (`src/app/api/`)
- Testear status codes (200, 404, 400, 500)
- Validar payload de request/response
- Mockear Prisma: `prismock` o manual `jest.mock()`
- Probar casos de error: registros no encontrados, validación fallida
- Usar Supertest: `request(app).get('/api/...')`
### Estructura de Archivos
```
src/
components/
Sidebar.tsx
__tests__/
components/
Sidebar.test.tsx
api/
customers.test.ts
```
### Nombres Descriptivos
- ✅ "debe renderizar la tabla con filas de clientes"
- ✅ "retorna 404 cuando cliente no existe"
- ❌ "test 1", "works", "basic test"
## Proceso
1. **Leer el código**: Entiende el componente/ruta
- Props, estado, efectos secundarios
- Dependencias externas (APIs, librerías)
2. **Identificar escenarios**:
- Happy path (caso exitoso)
- Casos de error (validación, no encontrado)
- Edge cases (entrada vacía, valores extremos)
3. **Escribir tests**:
- Describe: agrupar tests por funcionalidad
- It/test: un comportamiento por test
- Arrange-Act-Assert pattern
4. **Mockear dependencias**:
- Prisma: crear mock del cliente
- APIs externas: mockear fetch/axios
- Next.js: mockear `next/navigation`
5. **Ejecutar y validar**:
- `npm run test` para ejecutar todos
- `npm run test:watch` durante desarrollo
- Verificar cobertura: `npm run test:coverage`
## Ejemplo: Componente
```tsx
// src/components/CustomerTable.test.tsx
import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { CustomerTable } from "./CustomerTable";
describe("CustomerTable", () => {
it("debe renderizar tabla con clientes", () => {
const customers = [{ id: "1", name: "Juan", email: "juan@example.com" }];
render( );
expect(screen.getByText("Juan")).toBeInTheDocument();
});
it("debe llamar onDelete cuando se hace clic en eliminar", async () => {
const onDelete = vi.fn();
render(
,
);
await userEvent.click(screen.getByRole("button", { name: /eliminar/i }));
expect(onDelete).toHaveBeenCalledWith("1");
});
});
```
## Ejemplo: Ruta API
```ts
// src/app/api/customers/[id]/route.test.ts
import { describe, it, expect, beforeEach, vi } from "vitest";
import { GET } from "./route";
describe("GET /api/customers/[id]", () => {
it("debe retornar cliente cuando existe", async () => {
const response = await GET(
new Request("http://localhost:3000/api/customers/123"),
{ params: { id: "123" } },
);
expect(response.status).toBe(200);
});
it("debe retornar 404 cuando cliente no existe", async () => {
const response = await GET(
new Request("http://localhost:3000/api/customers/999"),
{ params: { id: "999" } },
);
expect(response.status).toBe(404);
});
});
```
Otro Ejemplo: Code Reviewer
--- name: "code-reviewer" description: Revisa código buscando bugs, seguridad, performance y code smells model: haiku tools: - Read - Grep - Glob - Bash color: green --- # Code Reviewer Agent Especialista en auditoría de código con enfoque en seguridad, calidad y performance. ## Áreas de Revisión ### 🔴 CRITICAL (Bloquea merge) - **Seguridad**: SQL injection, XSS, CSRF, autenticación ausente - **Datos sensibles**: secrets en código, logs de contraseñas - **Crashes**: null dereferences, tipos incorrectos, missing null checks - **DB**: N+1 queries, migraciones sin rollback, deadlocks ### 🟠 HIGH (Revisar antes de merge) - **Bugs lógicos**: race conditions, estado inconsistente, edge cases - **Performance**: queries sin índices, renders innecesarios, memory leaks - **Code smells**: funciones >50 líneas, complejidad ciclomática >10 - **Testing**: rutas críticas sin tests, cobertura <60% ### 🟡 MEDIUM (Nice to have) - **Duplicación**: código repetido, DRY violations - **Naming**: variables confusas, funciones genéricas - **Documentación**: APIs sin JSDoc, lógica no documentada - **Imports**: unused, circular dependencies ### 🔵 LOW (Cosmético) - **Estilo**: formatting, trailing spaces, imports no ordenados - **Logging**: verbosidad, nivel de detalle - **Comments**: obvios, desactualizados ## Proceso 1. **Recibir archivos/ruta**: Usuario indica qué revisar. 2. **Analizar línea por línea**: Buscar vulnerabilidades, performance issues, y code smells. 3. **Documentar hallazgos**: Generar un reporte claro por severidades.
Usa subagentes cuando quieras: preservar contexto principal, controlar costos (Haiku para tareas simples), y especializar comportamiento.
Modo Headless (-p)
Ejecuta Claude en modo no-interactivo para integrarlo en scripts y pipelines:
# Query simple
claude -p "explica qué hace la función processPayment"
# Piping: analizar logs
cat error.log | claude -p "explica este error y sugiere la solución"
# Output JSON estructurado
claude -p "lista los endpoints de la API" --output-format json
# Limitar presupuesto
claude -p "revisa seguridad del proyecto" --max-budget-usd 2.00
# Linter semántico con Claude
git diff main --name-only -- '*.ts' | while read file; do
cat "$file" | claude -p \
"Busca bugs lógicos y vulnerabilidades. Formato: ARCHIVO:LINEA - PROBLEMA" \
--output-format text --max-budget-usd 0.50
done
Monitoreo de Costos
| Comando | Información |
|---|---|
/cost |
Costo total de la sesión, duración, cambios |
/context |
Qué consume espacio en la ventana de contexto |
/compact |
Compactar contexto (preservar lo esencial) |
/model sonnet |
Cambiar a modelo más económico |
opusplan: Opus planifica → Sonnet ejecuta. Mejor balance calidad/costo.
/clear entre tareas no relacionadas.
Mover instrucciones largas de CLAUDE.md a skills (se cargan bajo demanda).
GitHub Actions — Claude como Revisor de PRs
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
issue_comment:
types: [created]
jobs:
claude-review:
if: |
(github.event_name == 'pull_request') ||
(github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '@claude'))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
steps:
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
model: sonnet
Con esta configuración, puedes escribir @claude revisa este código en cualquier PR y Claude lo
revisará automáticamente según las reglas del CLAUDE.md del repo.
Agent Teams te permiten orquestar múltiples sesiones de Claude Code trabajando en paralelo como un equipo coordinado. Un agente líder gestiona a varios teammates, cada uno con su propio contexto y tareas asignadas, comunicándose entre sí mediante mensajes.
¿Cuándo Usar Agent Teams?
Agent Teams es ideal para tareas que se benefician del trabajo paralelo y coordinado:
Agent Teams vs Subagentes
| Característica | Subagentes | Agent Teams |
|---|---|---|
| Contexto | Comparten la sesión del padre | Cada uno tiene su propia ventana de contexto |
| Comunicación | Retornan resultado al padre | Mensajes bidireccionales entre teammates |
| Paralelismo | Limitado (dentro de la sesión) | Verdadero paralelismo (sesiones separadas) |
| Mejor para | Tareas ligeras de investigación o verificación | Trabajo complejo que requiere coordinación |
| Costos | Compartidos con la sesión principal | Cada teammate consume tokens independientemente |
Habilitar Agent Teams
Agent Teams es una feature experimental. Actívala con la variable de entorno o en settings:
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
Lanzar tu Primer Equipo
Simplemente describe la tarea y pide un equipo. Claude creará los teammates automáticamente:
Claude analiza tu petición, crea una lista de tareas compartida, y spawna los teammates necesarios. Cada teammate recibe su contexto inicial y comienza a trabajar de forma autónoma. El líder coordina y tú puedes monitorear el progreso.
Controlar tu Equipo
Modos de Visualización
tmux o iTerm2.// Forzar modo in-process (sin tmux)
{ "teammateMode": "in-process" }
// O desde la línea de comandos:
// claude --teammate-mode in-process
Comunicarte con Teammates
| Acción | In-Process | Split Panes |
|---|---|---|
| Navegar teammates | Shift+Down para ciclar | Click en el panel del teammate |
| Enviar mensaje | Navega al teammate y escribe | Click en su panel y escribe |
| Ver sesión | Enter para ver, Escape para interrumpir | Visible directamente en el panel |
| Ver lista de tareas | Ctrl+T | Ctrl+T |
Especificar Modelos y Pedir Aprobación
Gestionar el Equipo
# Pedir a un teammate que se detenga "Pide al teammate investigador que se detenga" # Limpiar el equipo completo cuando termines "Limpia el equipo" # Esperar a que terminen antes de continuar "Espera a que tus teammates completen sus tareas antes de continuar"
Hooks para Quality Gates
Usa hooks específicos de Agent Teams para controlar calidad:
| Hook | Cuándo se ejecuta | Uso |
|---|---|---|
TeammateIdle |
Cuando un teammate va a quedar inactivo | Exit code 2 → envía feedback y mantiene al teammate trabajando |
TaskCompleted |
Cuando una tarea se marca como completada | Exit code 2 → previene completar y envía feedback |
Arquitectura Interna
El Lead (tu sesión principal) spawna teammates como sesiones independientes de Claude Code. Todos comparten un directorio de configuración del equipo y una lista de tareas compartida:
~/.claude/teams/{team-name}/config.json— Configuración del equipo~/.claude/tasks/{team-name}/— Lista de tareas compartida
Comunicación y Contexto
- 📨 Entrega automática — Cuando un teammate envía un mensaje, se entrega automáticamente al destinatario
- 🔔 Notificaciones idle — Cuando un teammate termina, notifica automáticamente al líder
- 📋 Lista de tareas compartida — Todos los agentes ven el estado y pueden reclamar trabajo disponible
- 💬 message — Envía a un teammate específico
- 📣 broadcast — Envía a todos simultáneamente (usar con moderación por costos)
Casos de Uso Prácticos
Code Review en Paralelo
Debugging con Hipótesis Competidoras
Feature Cross-Layer para el CRM
Mejores Prácticas
Troubleshooting
| Problema | Solución |
|---|---|
| Teammates no aparecen | En in-process, presiona Shift+Down. Si usas split panes, verifica que
tmux esté instalado: which tmux |
| Demasiados prompts de permisos | Configura permisos adecuados en .claude/settings.json con reglas de allow
|
| Teammates se detienen por errores | Envíales instrucciones adicionales directamente, o spawna un reemplazo |
| El líder termina antes que el equipo | Pide al líder: "Espera a que tus teammates completen sus tareas" |
| Sesiones tmux huérfanas | tmux ls para listar y tmux kill-session -t <nombre> para limpiar
|
Limitaciones Actuales
- Sin
/resumepara teammates in-process — Al reanudar sesión, los teammates ya no existen. Spawna nuevos si es necesario. - Un equipo por sesión — Limpia el equipo actual antes de crear uno nuevo.
- Sin equipos anidados — Solo el líder puede crear y gestionar el equipo.
- Líder fijo — La sesión que crea el equipo es el líder de por vida.
- Permisos al spawn — Todos los teammates inician con el modo de permisos del líder.
- Split panes requiere tmux/iTerm2 — No soportado en terminal integrada de VS Code ni Windows Terminal.
Ahora que conoces Agent Teams, combínalos con Subagentes para delegación ligera, Git Worktrees para sesiones paralelas manuales, y Hooks para quality gates automáticos. Documentación completa: code.claude.com/docs/en/agent-teams
OpenCode es un agente de codificación open source que puede correr en terminal, app de escritorio, IDE o modo cliente/servidor. Su valor para este taller es que permite practicar flujos agénticos con proveedores cloud y también con modelos locales.
Instalación Rápida
# Instalación recomendada con npm npm install -g opencode-ai # Abrir OpenCode en el proyecto actual opencode # Ver opciones disponibles opencode --help
Superficies de Uso
Documentación Base
| Recurso | Uso en el taller |
|---|---|
| Introducción OpenCode | Instalación, configuración inicial y formas de ejecutar el agente. |
| MCP Servers | Conexión de herramientas externas en opencode.json. |
| Skills | Creación de habilidades reutilizables en .opencode/skills/. |
Configuración de Proveedor
OpenCode usa un archivo opencode.json para declarar configuración del proyecto. En esta clase lo usaremos para fijar proveedor, modelo y herramientas compartidas.
{
"$schema": "https://opencode.ai/config.json",
"model": "openai/gpt-oss-120b",
"provider": {
"openai": {
"apiKey": "$OPENAI_API_KEY"
}
}
}
Ejemplo con Modelo Local
{
"$schema": "https://opencode.ai/config.json",
"model": "ollama/qwen2.5-coder:14b",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:11434/v1"
}
}
}
}
| Opción | Cuándo usarla | Trade-off |
|---|---|---|
| Cloud | Features complejas, refactors grandes, revisión de arquitectura. | Mejor calidad y contexto, mayor costo y dependencia de red. |
| Local | Exploración, privacidad, tareas repetitivas o repos con datos sensibles. | Menor costo marginal, pero más límites de capacidad y velocidad. |
AGENTS.md funciona como memoria de proyecto: convenciones, comandos, rutas críticas, criterios de calidad y estilo de respuesta. En OpenCode lo usamos antes de MCP y Skills para que el agente tenga un contrato claro.
# Reglas del proyecto ## Comandos - Instalar: npm install - Desarrollo: npm run dev - Verificación: npm run lint && npm test ## Convenciones - Mantén cambios pequeños y revisables. - Antes de editar, explica el plan en máximo 5 bullets. - Después de editar, ejecuta la verificación aplicable. - Nunca incluyas secretos ni credenciales en archivos del repo. ## Criterios de entrega - Resumen de cambios - Comandos ejecutados - Riesgos o trabajo pendiente
Prompt de práctica
En OpenCode, MCP se declara dentro de opencode.json bajo la clave mcp.
Cada servidor tiene un nombre estable, un tipo de conexión (local o
remote) y puede habilitarse, deshabilitarse o limitarse por agente.
Modelo mental: local vs remoto
| Tipo | Cómo corre | Cuándo usarlo | Riesgo principal |
|---|---|---|---|
| Local | OpenCode levanta un comando como npx, bunx o un binario local. |
Filesystem, Postgres local, herramientas internas o servidores que necesitan credenciales del entorno. | Puede ejecutar código en tu máquina; revisa el paquete antes de instalarlo. |
| Remoto | OpenCode llama una URL MCP y, si aplica, maneja OAuth o headers. | Servicios SaaS como Sentry, Context7, GitHub, Vercel o gateways empresariales. | Puede sumar muchos tokens al contexto; habilita solo lo necesario. |
Ejemplo completo: MCP local y remoto
Este ejemplo combina servidores MCP remotos y locales. La idea es copiarlo y llevarlo al archivo
opencode.json, reemplazando los tokens de ejemplo por credenciales reales cuando aplique.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"enabled": true
},
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {},
"enabled": true
},
"Neon_db": {
"type": "remote",
"url": "https://mcp.neon.tech/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
},
"github": {
"type": "local",
"command": [
"npx",
"-y",
"@modelcontextprotocol/server-github",
"--GITHUB_PERSONAL_ACCESS_TOKEN",
"xxxxxxxxxxxxxxxxxxxxxxxxx"
],
"enabled": true
},
"sequential_thinking": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-sequential-thinking"],
"enabled": true
}
}
}
Gestión de MCPs en OpenCode
# Listar servidores MCP y estado de autenticación opencode mcp list # Autenticar un servidor remoto con OAuth opencode mcp auth sentry # Ver estado OAuth de servidores remotos opencode mcp auth list # Depurar conexión y flujo OAuth opencode mcp debug sentry # Cerrar sesión de un servidor opencode mcp logout sentry
Limitar herramientas MCP por agente
Los MCPs agregan herramientas al contexto. En repos grandes conviene declararlos, pero deshabilitarlos globalmente y activarlos solo en agentes especializados.
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"enabled": true
}
},
"tools": {
"context7_*": false
},
"agent": {
"plan": {
"tools": {
"context7_*": true
}
}
}
}
Prompts con MCP
Marketplaces y Repositorios MCP para OpenCode
Top 6 MCPs para OpenCode
Instala pocos MCPs, pero que abran capacidades reales: documentación actual, repos, errores de producción, base de datos, búsqueda de ejemplos y razonamiento estructurado.
| # | MCP Server | Uso en OpenCode | Instalación sugerida |
|---|---|---|---|
| 1 | Context7 | Traer documentación actualizada de librerías antes de editar código. | remote o npx ctx7 setup --opencode |
| 2 | GitHub | Issues, PRs, revisiones, Actions y trazabilidad de cambios. | remote con OAuth si tu organización lo permite |
| 3 | PostgreSQL / Neon | Inspeccionar esquemas, índices y datos de desarrollo sin salir del agente. | local con connection string por variable de entorno |
| 4 | Sentry | Convertir errores reales de producción en planes de fix verificables. | remote con opencode mcp auth sentry |
| 5 | Grep by Vercel | Buscar ejemplos de código en GitHub cuando la documentación no alcanza. | remote con https://mcp.grep.app |
| 6 | Sequential Thinking | Descomponer debugging, arquitectura y migraciones con razonamiento explícito. | local con @modelcontextprotocol/server-sequential-thinking |
Cómo instalar MCP en OpenCode
1. Context7 remoto
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"context7": {
"type": "remote",
"url": "https://mcp.context7.com/mcp",
"enabled": true
}
}
}
2. Context7 setup automático
npx ctx7 setup --opencode
3. GitHub remoto
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"github": {
"type": "remote",
"url": "https://api.githubcopilot.com/mcp/",
"enabled": true
}
}
}
4. PostgreSQL / Neon
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"neon_pg": {
"type": "local",
"command": [
"npx",
"-y",
"@modelcontextprotocol/server-postgres",
"{env:DATABASE_URL}"
],
"enabled": true
}
}
}
5. Sentry remoto con OAuth
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sentry": {
"type": "remote",
"url": "https://mcp.sentry.dev/mcp",
"oauth": {},
"enabled": true
}
}
}
opencode mcp auth sentry
6. Grep by Vercel
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gh_grep": {
"type": "remote",
"url": "https://mcp.grep.app",
"enabled": true
}
}
}
7. Sequential Thinking local
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sequential_thinking": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-sequential-thinking"],
"enabled": true
}
}
}
No pegues tokens ni connection strings reales en opencode.json. Usa variables de entorno
como {env:DATABASE_URL} y versiona solo configuración que el equipo pueda compartir.
Las Skills de OpenCode siguen el estándar abierto de Agent Skills:
carpetas versionables que contienen instrucciones, metadatos y recursos para que un agente ejecute una tarea
especializada de forma consistente. OpenCode las descubre en el repo o en tu home y las carga bajo demanda con
la herramienta nativa skill. Para la clase usaremos
.opencode/skills/<nombre>/SKILL.md porque esa ruta se versiona con el proyecto.
Qué es una Skill
Una skill empaqueta conocimiento operativo: cuándo usarla, qué pasos seguir, qué archivos consultar,
qué scripts ejecutar y cómo verificar el resultado. El agente solo ve name y
description al inicio; cuando la tarea coincide, carga el SKILL.md completo y
los recursos necesarios. Esto mantiene bajo el contexto base y vuelve repetibles los flujos del equipo.
Ubicaciones que OpenCode puede descubrir
| Ubicación | Uso recomendado |
|---|---|
.opencode/skills/<name>/SKILL.md |
Skills del proyecto, revisadas por el equipo y compartidas por Git. |
~/.config/opencode/skills/<name>/SKILL.md |
Skills personales para todos tus repos. |
.claude/skills/<name>/SKILL.md |
Compatibilidad cuando el repo ya trae skills de Claude Code. |
.agents/skills/<name>/SKILL.md |
Compatibilidad con repos que estandarizan instrucciones de agentes. |
Estructura oficial de una Skill
OpenCode reconoce frontmatter YAML con name y description como campos requeridos.
El nombre debe coincidir con la carpeta, estar en minúsculas y usar guiones simples.
my-skill/ ├── SKILL.md # requerido: metadata + instrucciones ├── scripts/ # opcional: comandos o utilidades ejecutables ├── references/ # opcional: documentación, guías, specs ├── assets/ # opcional: plantillas, ejemplos, recursos └── ... # opcional: archivos adicionales del workflow
--- name: review-pr description: Revisa un PR y reporta riesgos, regresiones y faltantes de test. license: MIT compatibility: opencode metadata: audience: developers workflow: code-review --- # Review PR Revisa el PR indicado por el usuario. 1. Resume los cambios clave. 2. Identifica bugs, regresiones y riesgos de seguridad. 3. Señala gaps de testing. 4. Entrega hallazgos por severidad con archivos afectados. 5. No modifiques archivos durante la revisión.
Permisos por agente
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"plan": {
"permission": {
"skill": {
"docs-check": "allow",
"db-migration": "ask"
}
}
}
}
}
Instalar Skills útiles en OpenCode
Reinicia OpenCode después de instalar skills: el catálogo se carga al iniciar la sesión. Luego verifica con
list installed skills o pidiendo explícitamente usar la herramienta skill.
# Buscar skills disponibles por palabra clave npx skills search frontend npx skills search design # Instalar la skill de UI/UX y frontend de Anthropic npx skills add https://github.com/anthropics/skills --skill frontend-design # Verificar dentro de OpenCode opencode # Prompt: list installed skills # Prompt: usa la skill frontend-design para revisar esta interfaz
{
"$schema": "https://opencode.ai/config.json",
"plugin": [
"superpowers@git+https://github.com/obra/superpowers.git"
]
}
En OpenCode, Superpowers recomienda agregar el plugin a opencode.json, reiniciar OpenCode y
verificar con el prompt Tell me about your superpowers. Si ya usas Superpowers en Claude Code
o Codex, instálalo aparte para OpenCode porque cada harness gestiona sus plugins y skills por separado.
Marketplaces y Repositorios de Skills para OpenCode
SKILL.md, estructura de carpetas y progressive disclosure. Ver estándarnpx skills search, traer skills desde repos públicos y detectarlas en agentes compatibles. Guía OpenCode School.opencode/skills/*/SKILL.md para adaptar workflows de equipos. Buscar ejemplosTop 5 Skills para OpenCode
Prioriza skills que codifican criterios del equipo, no prompts genéricos. Cada una debe mejorar consistencia, trazabilidad o seguridad.
| # | Skill | ¿Para qué la uso? | Referencia |
|---|---|---|---|
| 1 | Superpowers | Metodología completa para agentes: brainstorming, specs, TDD, ejecución por planes, subagentes y verificación antes de cerrar trabajo. | obra/superpowers |
| 2 | frontend-design | Diseñar y revisar interfaces reales: layout, UX, accesibilidad, estados, responsive y polish visual antes de entregar UI. | frontend-design |
| 3 | mcp-builder | Construir servidores MCP propios para exponer APIs, datos internos y herramientas del equipo con un contrato reusable. | mcp-builder |
| 4 | skill-creator | Crear nuevas skills bien estructuradas: objetivo claro, frontmatter correcto, recursos de apoyo y verificación de uso. | skill-creator |
| 5 | document-toolkit | Manejar documentos de negocio y clase: leer, transformar, resumir, auditar y generar archivos Word, PDF, PowerPoint y Excel. | docx · pdf · pptx · xlsx |
Buenas prácticas
- Una skill, una intención: revisión, documentación, migración, incidente o release.
- Description específica: explica cuándo usarla; eso mejora el descubrimiento automático.
- Nombre estable: usa
kebab-case, máximo 64 caracteres y sin guiones dobles. - Versiona las skills del equipo: usa
.opencode/skills/dentro del repo. - Controla permisos: configura
permission.skillenopencode.json. - Combina con MCP: una skill puede exigir documentación, issues, errores o DB antes de decidir.
- Evita efectos secundarios ocultos: si la skill revisa, no edita; si edita, verifica.
Taller práctico: comparar con y sin Skill
La respuesta con skill debe ser más consistente: hallazgos ordenados por severidad, referencias a archivos, riesgos explícitos y pruebas faltantes. Ese es el valor de convertir prompts repetidos en infraestructura.
De "Pair Programming" a "Delegación de Tareas"
Google Antigravity es el AI-Native IDE de Google — una herramienta de desarrollo donde la IA no es un complemento, sino el motor principal. Su lema es "Build the new way".
Antigravity como "Mission Control"
Antigravity es la superficie de gestión (Manager Surface) de Google para orquestar agentes de código de forma asíncrona. Piénsalo como un "Mission Control" donde:
- 🚀 Lanzas tareas — Define qué quieres que el agente haga en lenguaje natural
- 📊 Monitorizas progreso — Ves artefactos en tiempo real sin leer logs de chat
- ✅ Revisas resultados — Apruebas planes de implementación, diffs visuales, PRs
- 🔄 Iteras — Das feedback y el agente ajusta automáticamente
Dos Componentes Principales
Dejamos de leer logs de chat y empezamos a revisar Artifacts: planes de implementación, diffs visuales, screenshots de validación. El output del agente es un documento estructurado, no una conversación.
Descarga
Visita antigravity.google/download para descargar Google Antigravity.
Requisitos del Sistema
| Plataforma | Requisito Mínimo |
|---|---|
| macOS | Versión 12 (Monterey) o posterior. Solo Apple Silicon (ARM). x86 no soportado. |
| Windows | Windows 10 (64 bit) o posterior |
| Linux | glibc ≥ 2.28, glibcxx ≥ 3.4.25 (Ubuntu 20+, Debian 10+, Fedora 36+, RHEL 8+) |
Autenticación
Antigravity requiere una cuenta personal de Google (@gmail.com). Las cuentas de Workspace pueden tener restricciones según la organización.
- Debes ser mayor de 18 años — si tu edad no está verificada, hazlo en myaccount.google.com/age-verification
- Tu cuenta debe estar en un país aprobado (la mayoría de América, Europa, África, Asia y Oceanía)
- Si tienes problemas con cuentas Workspace, prueba con una cuenta @gmail.com personal
Actualizaciones
La aplicación muestra una notificación cuando hay actualizaciones disponibles. Solo necesitas hacer clic en "Restart to Update" para aplicar la última versión.
Primer Inicio
- Descarga e instala Antigravity para tu plataforma
- Abre la aplicación — se abrirá el Agent Manager
- Inicia sesión con tu cuenta de Google
- Crea tu primer Workspace conectando un repositorio
Dos Vistas Principales
Antigravity tiene dos vistas que se complementan:
Atajos de Navegación
| Atajo | Acción |
|---|---|
| Cmd+E | Alternar entre Agent Manager ↔ Editor |
| Cmd+K | Abrir Command Palette (buscar cualquier acción) |
| Cmd+P | Buscar archivos rápidamente (Quick Open) |
| Cmd+Shift+P | Paleta de comandos del Editor |
| Cmd+J | Abrir/cerrar terminal integrada |
Usa el Agent Manager para lanzar y monitorear tareas. Cuando necesites ver los cambios en detalle o editar manualmente, cambia al Editor con Cmd+E. Puedes abrir el Editor desde cualquier workspace haciendo clic en "Focus Editor" en el menú dropdown del workspace.
Flujo de Navegación
Desde el Agent Manager, selecciona un workspace y haz clic en "Open Editor" — o usa Cmd+E. Desde el Editor, el botón en la barra superior o Cmd+E te regresa al Agent Manager.
¿Qué es un Workspace?
Un Workspace es la unidad de trabajo en Antigravity. Conecta un repositorio Git y proporciona el contexto donde el agente opera.
Crear un Workspace
- Abre el Agent Manager
- Haz clic en "New Workspace"
- Conecta un repositorio: GitHub, GitLab, o repositorio local
- El agente clonará e indexará el repositorio automáticamente
Lanzar una Sesión
Una vez creado el workspace, describe tu tarea en lenguaje natural:
El agente seguirá un flujo estructurado:
Gestión de Sesiones
| Acción | Descripción |
|---|---|
| Detener | Pausa la sesión del agente. Puedes reanudarla después. |
| Checkpoint | El agente crea snapshots automáticos antes de cada cambio mayor. |
| Rewind | Revierte al checkpoint anterior si los cambios no son satisfactorios. |
| Branching | Cada sesión trabaja en una rama separada para no afectar main. |
Puedes lanzar múltiples sesiones simultáneas en el mismo workspace o en diferentes workspaces. Cada sesión tiene su propia rama y contexto independiente — esto es lo que permite el paralelismo real.
El Editor de Antigravity
El editor está basado en Monaco (el mismo motor de VS Code), lo que significa que ya conoces la mayoría de los atajos:
| Característica | Descripción |
|---|---|
| Sintaxis highlighting | Soporte para todos los lenguajes populares |
| Terminal integrada | Ejecuta comandos directamente desde el editor |
| Diffs visuales | Visualiza los cambios del agente como diffs lado a lado |
| Chat lateral | Comunícate con el agente mientras ves el código |
| Quick Open | Cmd+P para navegar archivos rápidamente |
Chat del Agente en el Editor
En el panel lateral del editor puedes interactuar con el agente en contexto:
Revisando Cambios del Agente
Cuando el agente hace cambios, los verás como:
- 📝 Diffs inline — Cambios resaltados directamente en el archivo
- ✅ Botón "Accept" — Para aceptar los cambios propuestos
- ↩️ Botón "Revert" — Para rechazar y volver al estado anterior
- 💬 Comentar — Pide ajustes sin aceptar ni rechazar
Google Antigravity no soporta Git worktrees en este momento. Cada workspace opera con un solo working directory. Si necesitas trabajar en múltiples ramas simultáneamente, crea workspaces separados.
Sleep y Sesiones Activas
Si un agente está ejecutándose, Antigravity evitará que tu computadora entre en modo sleep para no interrumpir la tarea. Esto sucede automáticamente mientras haya una sesión activa.
Tipos de Artefactos
En la orquestación asíncrona, el agente produce artefactos — documentos estructurados que contienen su trabajo:
Flujo de Trabajo con Artefactos
Paralelismo de Agentes
Una de las ventajas más poderosas de Antigravity es lanzar múltiples agentes en paralelo:
Cada agente trabaja de forma independiente con su propia rama y ventana de contexto. Los resultados se entregan como PRs independientes que puedes revisar y aprobar.
El Problema del "Silo de Contexto"
Cuando cada desarrollador tiene su propio historial de chat, la IA no aprende del equipo. La solución:
- Project Knowledge (Harness): Fuentes de verdad compartidas (
.claude/rules,CLAUDE.mda nivel de organización) - Prompts como Infraestructura: Versionado de Skills en el repositorio para que todo el equipo use los mismos estándares
- Artefactos Compartidos: El equipo colabora sobre el output generado (comentarios, iteraciones, hand-off humano-máquina)
La diferencia clave con un chat es que los artefactos son documentos colaborativos: puedes comentar, pedir cambios, y el agente los actualiza — similar a Google Docs pero para código.
Planes de Acceso
Google Antigravity está vinculado al ecosistema de Google AI. Existen varias formas de acceder:
| Plan | Acceso | Límites |
|---|---|---|
| Google One AI Premium | Cuenta personal con suscripción | Cuota estándar de uso |
| Google Workspace AI Ultra | Cuentas empresariales con add-on | Cuotas incrementadas para equipos |
| GCP Project | Solo por invitación a equipos seleccionados | Configuración personalizada |
Para más detalles sobre rate limits específicos, consulta la documentación de Planes.
Preguntas Frecuentes
¿Por qué no puedo autenticarme?
- Antigravity está disponible para cuentas personales de Google en geografías aprobadas
- Si tienes problemas con cuentas Workspace, prueba con un @gmail.com
- Debes ser mayor de 18 años. Verifica tu edad aquí
¿Puedo usar Antigravity con herramientas de terceros?
Usar software de terceros (como Claude Code, OpenClaw, OpenCode) con tu login de Antigravity es una violación de los Términos de Servicio y puede resultar en la suspensión de tu cuenta. Si quieres usar un agente de terceros con Gemini, usa una API key de Vertex o AI Studio.
Privacidad y Datos
Puedes optar por no compartir datos en cualquier momento desde el panel de Settings. Consulta los Términos de Servicio para detalles completos.
¿Se soportan Git Worktrees?
No por el momento. Cada workspace opera con un solo working directory.
¿Qué pasa cuando mi computadora entra en modo sleep?
Si un agente está activo, Antigravity previene automáticamente que tu computadora entre en modo sleep para no interrumpir la ejecución.
Soporte
Visita la página de soporte y las comunidades oficiales.
Ejercicio 1: Setup del Workspace
- Abre Antigravity y accede al Agent Manager
- Crea un nuevo workspace conectando un repositorio de GitHub o un proyecto local
- Espera a que el agente indexe el código base
- Explora la interfaz: sidebar de archivos, vista de sesiones, panel de artefactos
Ejercicio 2: Tu Primera Tarea
Lanza una tarea sencilla para ver el flujo completo:
Observa cómo el agente:
- 📂 Escanea la estructura de archivos
- 📖 Lee archivos clave (package.json, configs, entry points)
- 📋 Genera un Plan de Implementación como artefacto
- 🧪 Propone cambios verificables
Ejercicio 3: Tarea con Implementación
Para este ejercicio, practica:
- Revisar el plan — ¿El agente entendió correctamente los requisitos?
- Aprobar con ajuste — Comenta pidiendo un cambio antes de aprobarlo
- Revisar diffs — Cambia al Editor con Cmd+E y revisa los cambios
- Verificar tests — Confirma que los tests fueron creados y pasan
Ejercicio 4: Paralelismo
Lanza dos sesiones simultáneas en el mismo workspace:
Observa cómo cada sesión trabaja en su propia rama sin interferir con la otra.
Checklist Final: ¿Completaste el Taller?
- ☐ Workspace creado y repositorio conectado
- ☐ Primera tarea de análisis completada y artefactos revisados
- ☐ Tarea de implementación con plan aprobado y código verificado
- ☐ Dos sesiones paralelas lanzadas exitosamente
- ☐ Navegación fluida entre Agent Manager y Editor (Cmd+E)
1. Al menos un artefacto revisado y aprobado (plan de implementación o
walkthrough)
2. Código implementado por el agente con tests pasando
3. Experiencia navegando entre Agent Manager ↔ Editor
Recursos Adicionales
| Recurso | Link |
|---|---|
| Documentación Oficial Antigravity | antigravity.google/docs |
| Página de Descarga | antigravity.google/download |
| FAQ y Soporte | FAQ |
| Términos de Servicio | Términos |
| Planes y Precios | Planes |
| Soporte / Comunidades | Soporte |
| Documentación Oficial Claude Code | code.claude.com/docs |
| Discord Anthropic | Community Discord |