Herramientas de usuario

Herramientas del sitio


cursos:sdd:04-claude-code

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
cursos:sdd:04-claude-code [2026/11/05 21:14] – borrado - editor externo (Fecha desconocida) 127.0.0.1cursos:sdd:04-claude-code [2026/11/05 22:27] (actual) – El enlace a CLAUDE.md apunta al tema 7 claude
Línea 1: Línea 1:
 +====== 4. Claude Code ======
 +
 +[[https://code.claude.com|Claude Code]] es la herramienta de programación con IA de Anthropic. Como [[cursos:sdd:03-opencode|OpenCode]], vive **dentro de la terminal** y trabaja sobre los ficheros de la carpeta en la que se lanza. Aquí solo se cuenta lo que **no tiene OpenCode o se hace de otra forma**; lo que funciona igual ya está en su tema.
 +
 +----
 +
 +===== 1. Puesta en marcha =====
 +
 +==== Instalar ====
 +
 +  * Linux
 +<sxh bash>
 +curl -fsSL https://claude.ai/install.sh | bash
 +claude --version
 +</sxh>
 +
 +  * Windows (PowerShell)
 +<sxh powershell>
 +irm https://claude.ai/install.ps1 | iex
 +claude --version
 +</sxh>
 +
 +==== Arrancar ====
 +
 +<sxh bash>
 +cd mi-proyecto
 +claude
 +</sxh>
 +
 +==== Actualizar ====
 +
 +Se actualiza solo, en segundo plano. Para forzarlo:
 +
 +<sxh bash>
 +claude update
 +</sxh>
 +
 +----
 +
 +===== 2. Cuenta y modelos =====
 +
 +Es la gran diferencia con OpenCode: **solo habla con modelos de Anthropic** y **no hay nada gratis**. No existe ''/connect'' ni modelos //free//.
 +
 +  * ''/login'': entra con tu cuenta. Vale una suscripción **Pro o Max** de Claude (pago fijo al mes, con un límite de uso que se renueva cada pocas horas) o una cuenta de la API (pago por token). El plan gratuito de Claude no incluye Claude Code.
 +  * ''/usage'': cuánto llevas gastado del límite de tu plan y cuándo se renueva.
 +
 +==== /model: cambiar de modelo ====
 +
 +Abre la lista de modelos. ''Enter'' lo deja como predeterminado y ''s'' lo cambia solo para esta sesión.
 +
 +^ Modelo ^ Cuándo ^
 +| ''fable'' | El más capaz y el más caro. Para lo más difícil |
 +| ''opus'' | Muy capaz y más barato que Fable. Para planificar y para lo difícil |
 +| ''sonnet'' | Más barato y rápido. Para implementar lo ya decidido |
 +| ''haiku'' | El más barato. Tareas mecánicas |
 +
 +==== /effort: cuánto piensa ====
 +
 +Además del modelo se elige **cuánto razona** antes de responder: ''/effort low'', ''medium'', ''high'', ''xhigh'' o ''max''. Más esfuerzo es mejor respuesta, pero más lenta y más cara. Pero no es si piensa mejor sino que "le da más vueltas antes de responder"
 +
 +<sxh plain>
 +/effort high
 +</sxh>
 +
 +<note tip>Deja ''medium'' para el día a día y sube a ''high'' o ''xhigh'' para el diseño o para un fallo que no hay manera de encontrar.</note>
 +
 +Más informnación:
 +  * [[https://www.youtube.com/watch?v=bc-cUBcciv8|Anthropic reveló qué nivel de esfuerzo usar en Claude]]
 +
 +----
 +
 +===== 3. Agentes =====
 +
 +Qué es un subagente y para qué sirve está en el [[cursos:sdd:08-skills-agentes#agente_principal_y_subagentes|tema de Skills y agentes]]. De serie, Claude Code trae tres:
 +
 +  * ''general-purpose'': para tareas de varios pasos que investigan y cambian código.
 +  * ''Explore'': busca y entiende el código sin modificar nada.
 +  * ''Plan'': investiga el código en el [[#el_modo_plan|modo Plan]] antes de proponerte el plan, sin modificar nada.
 +
 +==== Cómo se lanza ====
 +
 +Hay tres formas de lanzarlo:
 +
 +  * **Invocándolo directamente con ''@agent-''** y su nombre. Al escribir ''@'' sale en la lista junto a los ficheros.
 +<sxh markdown>
 +@agent-Explore ¿dónde se valida el token JWT y qué endpoints no pasan por esa validación?
 +</sxh>
 +  * **Con lenguaje natural**, diciéndole que lo use:
 +<sxh markdown>
 +Usa el subagente general-purpose para migrar los tests del módulo pedidos de JUnit 4 a JUnit 5
 +</sxh>
 +  * **Automáticamente**: lo decide Claude Code, que lo lanza cuando la tarea encaja con su ''description''. Es lo que pasa casi siempre: le preguntas algo sobre el código y verás que lanza ''Explore'' sin que se lo pidas.
 +
 +Los subagentes van **en segundo plano**: sigues hablando con Claude mientras trabajan. Si uno se queda en primer plano bloqueando la sesión, ''Ctrl+B'' lo manda a segundo plano.
 +
 +==== Dónde se guardan ====
 +
 +Cada subagente es un fichero ''.md'':
 +
 +  * ''.claude/agents/'' **en el proyecto**: está en el repositorio para que sea solo de ese proyecto.
 +  * ''~/.claude/agents/'' **en tu ordenador**: para compartirlo entre proyectos
 +
 +----
 +
 +===== 4. Skills =====
 +
 +Qué es una //skill// y cómo se escribe está en el [[cursos:sdd:08-skills-agentes|tema de Skills y agentes]].
 +
 +==== Cómo se lanza ====
 +
 +Hay tres formas de lanzarla:
 +
 +  * **Invocándola directamente con ''/''** y su nombre: cada //skill// es un comando más, y al escribir ''/'' sale en la lista. Lo que escribas detrás le llega como argumento.
 +<sxh plain>
 +/revisar-pr 128
 +</sxh>
 +  * **Con lenguaje natural**, diciéndole que la use:
 +<sxh plain>
 +Usa la skill revisar-pr con el PR 128
 +</sxh>
 +  * **Automáticamente**: lo decide Claude Code, que la carga cuando su ''description'' encaja con lo que pides («revisa el PR 128»).
 +
 +==== Dónde se guardan ====
 +
 +Cada //skill// es una carpeta con su ''SKILL.md'':
 +
 +  * ''.claude/skills/'' **en el proyecto**: está en el repositorio para que sea solo de ese proyecto.
 +  * ''~/.claude/skills/'' **en tu ordenador**: para compartirla entre proyectos.
 +
 +----
 +
 +===== 5. Modos: Plan y Build =====
 +
 +Como en OpenCode, hay **dos modos: Plan y Build**, y se cambia entre ellos con **''Mayús+Tab''**.
 +
 +==== El modo Plan ====
 +
 +Lee, analiza y te propone un plan, **sin editar ningún fichero**, como el Plan de OpenCode. Puede ejecutar los comandos simples que necesite para investigar, pero antes los revisa el **clasificador**. Cualquier otro comando te lo pregunta.
 +
 +El **clasificador** es una IA de Claude que decide qué tiene que preguntarte y qué no.
 +
 +Cuando el plan está bien y lo aceptas, Claude Code ofrece pasar directamente a Build para ejecutarlo.
 +
 +==== El modo Build ====
 +
 +Ejecuta: edita ficheros y lanza comandos. Es un único modo, pero hay **tres tipos según los permisos**, es decir, según qué te pregunta antes de hacer algo:
 +
 +^ Tipo ^ Editar en la carpeta ^ Comandos simples (''mkdir'', ''mv'', ''cp'', ''rm''…) ^ Todo el resto ^
 +| **Manual** | Pregunta | Pregunta | Pregunta |
 +| **Aceptar ediciones** | ✓ | ✓ | Pregunta |
 +| **Auto** | ✓ | ✓ | ✓ El clasificador revisa cada acción: bloquea lo peligroso y sigue |
 +
 +''Mayús+Tab'' recorre los tres tipos de Build y el Plan en este orden: Manual, Aceptar ediciones, Plan y Auto.
 +
 +Debajo de la caja de entrada se ve siempre en qué modo estás, con la coletilla «mode on»: ''plan mode on'', ''auto mode on''… En Manual no aparece nada.
 +
 +<note warning>**Auto** es cómodo, pero quien decide lo que se ejecuta ya no eres tú. Úsalo solo en un repositorio con todo commiteado, para poder volver atrás.</note>
 +
 +----
 +
 +===== 6. Comandos =====
 +
 +==== /init ====
 +
 +Genera las instrucciones fijas del proyecto: analiza el código y escribe qué es el proyecto, su arquitectura y los comandos habituales (arrancar, probar, construir). Es un punto de partida: revísalo y edítalo a mano.
 +
 +La trampa: **genera un ''CLAUDE.md''**, no un ''AGENTS.md'', y si existe un ''CLAUDE.md'' Claude Code deja de leer el ''AGENTS.md'' ([[cursos:sdd:07-agents-md#claudemdno_usarlo|por qué no usarlo]]). Así que se renombra; si ya tenías ''AGENTS.md'', se pasa a él lo que interese y el ''CLAUDE.md'' se borra.
 +
 +<sxh bash>
 +git mv CLAUDE.md AGENTS.md
 +</sxh>
 +
 +==== /clear ====
 +
 +Empieza de cero: borra la conversación y deja el contexto vacío. Se hace **cada vez que cambias de tarea**.
 +
 +==== /rewind ====
 +
 +Vuelve atrás: abre la lista de tus prompts, eliges hasta cuál volver y qué se restaura: el código, la conversación o los dos.
 +
 +<note important>Solo deshace lo que Claude Code **editó con sus herramientas**. Lo que hizo con un comando de shell (un ''rm'', un ''mv'', un ''git checkout'') no se recupera. El deshacer de verdad sigue siendo ''git''.</note>
 +
 +==== /compact ====
 +
 +Resume la conversación para liberar contexto y seguir en la misma sesión.
 +
 +<note warning>**No uses ''/compact''**: antes de llegar a él, usa ''/clear''. El resumen lo hace el modelo, que no sabe qué es lo importante para ti, y sigues trabajando con un contexto peor sin darte cuenta.</note>
 +
 +==== /copy ====
 +
 +Copia al portapapeles la última respuesta de Claude Code
 +
 +
 +==== /export ====
 +
 +Exporta toda la conversación (no solo la última respuesta)
 +
 +==== ESC ====
 +
 +No es un comando, es una tecla: pulsada una vez, para al agente en seco, esté pensando o a media tarea. Lo que ya ha hecho se queda hecho: le dices qué cambiar y sigue.
 +
 +<note important>No la pulses dos veces: con la caja de entrada vacía, ''ESC ESC'' no interrumpe, abre ''/rewind''.</note>
 +
 +----
 +
 +===== 7. Plugins =====
 +
 +Un plugin de Claude Code es un paquete que puede traer //skills//, subagentes, //hooks// y servidores MCP a la vez. No se instalan desde npm sino desde **//marketplaces//**: repositorios de GitHub con un catálogo de plugins. Al instalar, el plugin se nombra con ''@'' y el //marketplace// del que sale: ''plugin@marketplace''.
 +
 +Para ver los instalados y buscar en los catálogos, el gestor de plugins:
 +<sxh bash>
 +/plugin
 +</sxh>
 +
 +==== Desde el marketplace oficial ====
 +
 +El //marketplace// de Anthropic, ''claude-plugins-official'', ya viene añadido: sus plugins se instalan directamente.
 +
 +<sxh bash>
 +/plugin install frontend-design@claude-plugins-official
 +</sxh>
 +
 +==== Desde un repositorio de GitHub ====
 +
 +Un plugin que no está en el oficial se instala en dos pasos: primero se añade el //marketplace// de su repositorio y luego se instala el plugin.
 +
 +  * Añadir el //marketplace//, con ''usuario/repositorio'' de GitHub:
 +<sxh bash>
 +/plugin marketplace add jarrodwatts/claude-hud
 +</sxh>
 +
 +  * Instalar el plugin desde ese //marketplace//:
 +<sxh bash>
 +/plugin install claude-hud@claude-hud
 +</sxh>
 +
 +Lo que va detrás de la ''@'' es el nombre del //marketplace//, no el del repositorio. Suelen coincidir, pero no siempre. Para ver los marketplace que hay usar ''/plugin marketplace list''
 +
 +<note warning>Un plugin de un repositorio cualquiera ejecuta código en tu máquina con tus permisos (sus //hooks// y sus servidores MCP). Mira de quién es antes de instalarlo.</note>
 +
 +----
 +
 +===== 8. Plugins a instalar =====
 +
 +==== claude-hud: contexto y límites siempre a la vista ====
 +
 +Claude Code no enseña en pantalla el contexto ocupado ni cuánto queda del límite del plan: hay que pedirlo con ''/context'' y ''/usage''. [[https://github.com/jarrodwatts/claude-hud|claude-hud]] lo pone en la barra de estado, debajo de la caja de entrada: modelo, **porcentaje de contexto**, **uso del plan**, la herramienta o el subagente que se está ejecutando y las tareas pendientes. No ocupa contexto.
 +
 +Sin el plugin, debajo de la caja de entrada solo se ve el modo:
 +
 +{{:cursos:sdd:claude-hud-sin.png?700|Claude Code sin claude-hud}}
 +
 +Con el plugin, en la misma sesión aparece debajo una barra de estado con varias líneas:
 +
 +{{:cursos:sdd:claude-hud-con.png?700|Claude Code con claude-hud}}
 +
 +Vamos a ver qué es cada cosa:
 +
 +{{:cursos:sdd:claude-hud-con-anotada.png?700|Qué es cada dato de claude-hud}}
 +
 +  * **Modelo**: con el que estás trabajando (''Sonnet 5.5'').
 +  * **Proyecto**: la carpeta en la que se ha arrancado Claude Code (''tienda'').
 +  * **Directorio añadido**: otra carpeta a la que también tiene acceso (''+disenyo-interfaces'').
 +  * **Rama de git**: la rama actual; el ''*'' indica que hay cambios sin commitear.
 +  * **Duración de la sesión**: cuánto tiempo lleva abierta (''1m'').
 +  * **Contexto ocupado**: cuánto de la ventana de contexto se ha gastado (4 %). Es lo que dice cuándo hacer ''/clear''.
 +  * **Uso del plan**: cuánto llevas gastado del límite de tu suscripción (3 %) y cuándo se renueva (en 2 h 12 min).
 +  * **MCP y hooks cargados**: cuántos servidores MCP y //hooks// están activos.
 +  * **Herramientas que ha usado**: las que ha usado en la última petición y cuántas veces (''Read ×1''). Mientras trabaja se ve la que está ejecutando, y también los subagentes y las tareas pendientes.
 +  * **Modo**: este no es del plugin, sale también sin él.
 +
 +Se instala desde su repositorio de GitHub, como en [[#desde_un_repositorio_de_github|la sección anterior]], y se activa con:
 +
 +<sxh plain>
 +/claude-hud:setup
 +</sxh>
 +
 +Por defecto solo enseña el modelo, el proyecto, la rama de git, el contexto y el uso del plan. El resto de lo que sale en las capturas (la duración, los MCP y //hooks//, las herramientas, los subagentes y las tareas) hay que activarlo con:
 +
 +<sxh plain>
 +/claude-hud:configure
 +</sxh>
 +
 +Te pregunta qué quieres ver y lo guarda en ''~/.claude/plugins/claude-hud/config.json''. Esta es la configuración de las capturas; las líneas a ''true'' de ''display'' son lo que se ve:
 +
 +<sxh javascript;title:~/.claude/plugins/claude-hud/config.json>
 +{
 +  "lineLayout": "expanded",
 +  "showSeparators": false,
 +  "gitStatus": {
 +    "enabled": true,
 +    "showDirty": true,
 +    "showAheadBehind": false,
 +    "showFileStats": false
 +  },
 +  "display": {
 +    "showModel": true,
 +    "showContextBar": true,
 +    "showTools": true,
 +    "showAgents": true,
 +    "showTodos": true,
 +    "showProject": true,
 +    "showConfigCounts": true,
 +    "showTokenBreakdown": false,
 +    "showSpeed": false,
 +    "showUsage": true,
 +    "usageBarEnabled": true,
 +    "showSessionName": true,
 +    "showDuration": true,
 +    "customLine": ""
 +  }
 +}
 +</sxh>
 +
 +----
 +
 +===== 9. Enlaces =====
 +
 +  * [[https://code.claude.com|code.claude.com]]
 +  * [[https://code.claude.com/docs/es/overview|Documentación]]
 +  * [[https://code.claude.com/docs/en/interactive-mode|Atajos de teclado y modo interactivo]]: la lista completa