Uso básico de Claude Code

Este capítulo presenta las funciones principales más utilizadas de Claude Code en el desarrollo diario, incluido cómo conversar con Claude, leer y modificar código, ejecutar comandos, manejar archivos, así como algunos consejos prácticos que pueden mejorar enormemente la eficiencia.


Modo básico de conversación

1. Modo interactivo (el más utilizado)

Inicia Claude Code en el directorio del proyecto y, una vez en el modo interactivo, puedes escribir directamente preguntas o instrucciones:

cd /path/to/your/project
claude

En el modo interactivo, basta con escribir en lenguaje natural, sin necesidad de ningún formato especial:

¿Qué hace este proyecto?
帮我找出 src/auth.ts 里的 bug
给 UserService 添加一个 getUserById 方法

usar@Por ejemplo, se pueden especificar archivos; supongamos que tenemos un test.html en el directorio claude-test.

Podemos entrar en claude-test:

cd claude-test

Luego preguntar:

@test.html 这个文件是干嘛的

2. Modo de tarea única

Si solo necesitas ejecutar una tarea, sin entrar en el modo interactivo, puedes añadir la descripción de la tarea directamente después del comando:

claude "解释一下 package.json 里的 scripts 字段"

Se cierra automáticamente al terminar, adecuado para usar en scripts de shell o para consultas rápidas.

3. Modo de consulta única (-p)

Usa-pel parámetro para ejecutar una consulta única. La respuesta de Claude se imprime directamente en la terminal, adecuado para combinarlo con otros comandos:

claude -p "这段代码有什么问题" < src/utils.ts
# 将 Claude 的分析结果保存到文件
claude -p "分析项目依赖的安全风险" > security-report.md

4. Continuar la conversación anterior (-c)

Claude Code guarda el historial de conversación. Usa-cel parámetro para continuar en el directorio actual la conversación más reciente no finalizada, sin necesidad de reconstruir el contexto:

claude -c

Comprender y analizar código

1. Conocer la situación general del proyecto

Cuando acabas de entrar en un proyecto desconocido, puedes pedir a Claude que haga un análisis general:

¿Cómo es la arquitectura de este proyecto?
¿Qué tecnologías y dependencias principales utiliza el proyecto?
Por favor, presenta la estructura de directorios del proyecto.

Claude Code leerá automáticamente los archivos del proyecto para analizarlos.No necesitas especificar manualmente qué archivos debe leer.Él mismo determinará qué contenido debe revisar.

2. Analizar archivos o módulos específicos

解释一下 src/middleware/auth.ts 的工作原理
UserRepository 类里有哪些方法?分别是做什么的?
这个 SQL 查询语句是什么意思?

3. Rastrear la cadena de llamadas del código

Cuando el usuario inicia sesión, ¿cuál es el flujo de ejecución del código? Enuméralo todo desde la entrada hasta la base de datos.
findUserByEmail 这个函数在哪里被调用?
¿En qué tabla de la base de datos se almacenan finalmente los datos de esta interfaz?

4. Entender lógica compleja

¿Qué significa esta función recursiva? ¿Puedes dar un ejemplo para explicarlo?
为什么这里要用 useCallback?不用会怎样?
¿Qué formato de cadenas puede hacer coincidir esta expresión regular?

Modificar código

1. Añadir nuevas funciones

Describe la función que necesitas y Claude encontrará el lugar adecuado y la implementará:

在 UserService 里添加一个 updatePassword 方法,需要验证旧密码
给登录接口添加请求频率限制,同一 IP 每分钟最多 5 次
创建一个 formatCurrency 工具函数,支持传入货币代码参数

2. Corregir errores (bugs)

Describe el síntoma del problema, Claude localizará la causa y ofrecerá una solución:

Después de que el usuario cierra sesión, al actualizar la página todavía se muestra el estado de sesión iniciada. Ayúdame a encontrar la causa y corregirlo.
Esta función falla cuando la entrada es un array vacío. Arrégiala.
控制台报错 "Cannot read properties of undefined (reading 'map')",帮我定位并修复

3. Refactorizar código

把这个 500 行的组件拆分成更小的子组件
将 callback 风格的异步代码改为 async/await
Estas funciones tienen mucho código duplicado. Ayúdame a extraerlo en una función genérica.

4. Revisar los cambios realizados

Claude Code muestra el diff antes de cada modificación de archivos para que puedas revisarlo. Puedes discutirlo después de que Claude proponga el plan de cambios:

No modifiques el código todavía; solo dime cómo piensas hacer los cambios.
Tu modificación anterior tiene un problema: no maneja la concurrencia. Vuelve a hacerlo.
这个方案可以,但把函数名改成 validateUserCredentials

Claude Code muestra el contenido del cambio y solicita tu confirmación antes de realizar cualquier modificación de archivos. Puedes elegirAceptar (yes)、Rechazar (no), o continuar discutiendo antes de confirmar. No sientas que debes aceptar todos los cambios de una vez: primero mira y, si te parece bien, confirma.


Ejecutar comandos y pruebas

1. Hacer que Claude ejecute comandos

Claude Code puede ejecutar comandos directamente en la terminal; puedes describir en lenguaje natural lo que quieres hacer:

Ejecuta las pruebas y mira si hay alguna que falle.
安装 dayjs 这个依赖
Compila el proyecto y mira si hay errores.

Claude elegirá el comando correcto según la configuración del proyecto (por ejemplo,package.jsonlos scripts enCLAUDE.mdo los comandos en) elegirá el comando correcto y lo ejecutará.

2. Ejecutar pruebas específicas

运行 auth 模块的测试
Ejecuta todas las pruebas y genera el informe de cobertura.
¿Por qué falló esta prueba? Ayúdame a corregirla.

3. Ver la salida de los comandos

Claude utilizará la salida del comando como contexto y, basándose en ella, dará sugerencias para los siguientes pasos:

运行 npm run build,如果有报错帮我修复
跑一下 lint,把所有警告都修复掉

Operaciones con archivos

1. Crear nuevos archivos

创建 src/utils/date.ts,实现日期格式化相关的工具函数
新建一个 Docker Compose 配置文件,包含 PostgreSQL 和 Redis 服务
创建 .github/workflows/ci.yml,配置 GitHub Actions 自动运行测试

2. Buscar archivos y contenido

¿Hay código en el proyecto que maneje la carga de archivos? ¿Dónde está?
哪些地方用到了 localStorage?
找出所有使用了 console.log 的文件

3. Modificaciones por lotes

把所有文件里的 http://api.example.com 替换成 https://api.example.com
把 src/components/ 下所有组件的 PropTypes 改为 TypeScript 类型定义
给 src/api/ 目录下所有接口函数添加 JSDoc 注释

Operaciones con Git

Claude Code está profundamente integrado con Git, por lo que puedes realizar casi todas las operaciones de Git en lenguaje natural.

1. Ver cambios

¿Qué archivos he modificado?
¿Qué cambios incluye esta modificación?
最近 10 次提交都改了什么?

2. Confirmar código (commit)

Haz commit de estos cambios.
把这次的修改提交,commit 信息说明修复了登录验证的 bug

Claude generará automáticamente un mensaje de commit conforme a las normas según el contenido real de los cambios; también puedes usar comandos rápidos:

claude commit

3. Gestión de ramas

新建一个 feature/user-profile 分支
切换到 develop 分支
把 main 分支的最新改动合并进来

4. Resolver conflictos de fusión (merge)

Ayúdame a resolver los conflictos de fusión.
Este archivo tiene conflictos. Ayúdame a ver qué versión es la correcta.

Técnicas de gestión del contexto

1. Especificar archivos manualmente

Usa@ruta del archivola sintaxis para indicar claramente a Claude qué archivo debe consultar, evitando que tenga que adivinarlo:

参考 @src/types/user.ts 里的类型定义,给 UserService 添加类型注解
对照 @docs/api-spec.md 里的规范,检查接口实现是否符合要求

2. Limpiar el contexto

Cuando la conversación ha durado mucho tiempo o has cambiado a una tarea completamente distinta, se recomienda limpiar el contexto y empezar de nuevo:

/clear

Una vez limpiado, la "memoria" de Claude vuelve al estado inicial; la nueva sesión no se ve afectada por el contenido de conversaciones anteriores.

3. Comprimir el contexto

Cuando sientas que Claude empieza a "olvidar" contenido anterior, o cuando la conversación se ha vuelto muy larga, puedes comprimir el contexto:

/compact

Esto hará que Claude resuma el contenido actual de la conversación en un resumen conciso, liberando espacio en el contexto y conservando la información clave para seguir trabajando.

4. Dividir tareas adecuadamente

No describas todas las tareas complejas de una sola vez; es mejor dividirlas en varios pasos y completarlas gradualmente:

❌ Mala práctica: lanzar demasiados requisitos a Claude de una sola vez:

Ayúdame a refactorizar todo el módulo de usuario, incluyendo agregar anotaciones de tipo, dividir archivos, optimizar consultas de base de datos, agregar caché, escribir pruebas y actualizar la documentación.

✅ Buena práctica: dividir en pasos independientes siguiendo un orden lógico:

第一步:"分析 src/user/ 目录的现有结构,告诉我有哪些问题"
第二步:"先给所有函数添加 TypeScript 类型注解"
第三步:"把超过 200 行的文件拆分成更小的模块"
第四步:"优化数据库查询,添加必要的索引"

Comandos de barra inclinada comunes

En el modo interactivo, escribe/y se mostrará una lista de todos los comandos disponibles. A continuación se muestran los comandos de barra inclinada más utilizados:

Comando Función Caso de uso
/help Ver todos los comandos disponibles y sus descripciones Cuando no sabes qué funciones hay
/clear Limpiar el historial de conversación y comenzar una sesión nueva Al cambiar a una tarea nueva
/compact Comprimir el contexto de la conversación actual para liberar espacio Cuando la conversación es larga y Claude empieza a olvidar
/init Analizar el proyecto y generar el archivo CLAUDE.md Al usarlo por primera vez en un proyecto nuevo
/resume Seleccionar y restaurar una conversación anterior desde el historial Continuar una tarea pendiente de ayer
/undo Deshacer la última modificación de archivos Cuando el resultado de la modificación de Claude no es el correcto
/redo Rehacer la modificación que se deshizo Cuando tras deshacer descubres que lo original era mejor
/login Iniciar sesión o cambiar de cuenta Cuando necesitas cambiar a otra cuenta
/config Ver y modificar la configuración Ajustar la configuración de comportamiento de Claude Code
/cost Ver el uso de tokens de la sesión actual Cuando usas una cuenta de API, presta atención a los costos

Consejos prácticos

1. Pedir a Claude que analice antes de actuar

Ante problemas complejos, pide a Claude que explique su enfoque y, después de confirmar que el rumbo es correcto, deja que ejecute:

No modifiques el código; primero analiza las posibles causas del fallo de inicio de sesión y enumera tu procedimiento de depuración.
¿Cómo piensas implementar esta funcionalidad? Primero describe el plan y, cuando lo confirme, escribes el código.

2. Proporcionar mensajes de error y registros (logs)

Cuando encuentres un error, pega directamente el mensaje de error en la conversación. Claude localizará el problema según el contenido del error:

运行时报了这个错误,帮我分析原因:
TypeError: Cannot read properties of null (reading 'userId')
    at getUserProfile (src/services/user.ts:42:18)
    at async ProfileController.getProfile (src/controllers/profile.ts:15:20)

3. Usar capturas de pantalla para describir problemas de interfaz

Claude Code admite entrada multimodal. Puedes pegar capturas de pantalla directamente en la conversación para describir problemas relacionados con la UI:

[Pegar captura de pantalla] Este botón no responde al hacer clic, pero la consola no muestra errores. Ayúdame a depurarlo.
[粘贴设计稿截图] 按照这个设计实现 Header 组件

4. Usar bien la opción "continuar"

Si la respuesta de Claude se corta, o crees que aún no ha terminado de hablar, simplemente di "continuar":

Continúa.
¿Hay algo más?
Implementa también el resto.

5. Pedir explicación de los cambios

Para modificaciones importantes de código, puedes pedirle a Claude que explique el motivo de cada cambio:

Después de modificar, explícame el propósito de cada cambio.
这里为什么要用 Promise.allSettled 而不是 Promise.all?

6. Limitar el alcance de las acciones de Claude

Cuando no quieras que Claude modifique otros archivos a su antojo, puedes delimitar explícitamente el ámbito:

只修改 src/auth.ts 这一个文件,不要改其他地方
Solo lee el código sin modificar; ayúdame a analizar los cuellos de botella de rendimiento de este módulo.

Ejemplos de flujos de trabajo comunes

Flujo de trabajo 1: Conocer rápidamente un proyecto nuevo

Ejemplo

# Primer paso: Iniciar y conocer el proyecto
> ¿Qué hace este proyecto? ¿Qué tecnologías utiliza?

# Segundo paso: Conocer la estructura de directorios
> Presenta la estructura de directorios del proyecto, haciendo especial hincapié en los módulos principales

# Tercer paso: Saber cómo ejecutarlo
> ¿Cómo puedo ejecutar este proyecto en local?

# Cuarto paso: Generar el archivo de documentación del proyecto
> Ayúdame a generar un archivo CLAUDE.md que resuma la información clave del proyecto

Flujo de trabajo 2: Corregir un bug

Ejemplo

# Primer paso: Describir el problema
> Comentario de usuarios: después de modificar la información personal, el nombre de usuario en la parte superior de la página no se actualiza en tiempo real

# Segundo paso: Pedirle a Claude que analice la causa
> Primero analiza las posibles causas, sin modificar el código

# Tercer paso: Corregir después de confirmar el plan
> La segunda causa que mencionaste parece más probable, corrígelo siguiendo esa línea

# Cuarto paso: Verificar la corrección
> Ejecuta las pruebas relacionadas para confirmar que la corrección es efectiva

Flujo de trabajo 3: Añadir una nueva función

Ejemplo

# Primer paso: Describir el requisito
> Necesito añadir a la lista de pedidos una función de filtrado por estado. Los estados son: pendiente de pago, pagado, enviado, completado

# Segundo paso: Conocer el código existente
> Primero observa la estructura de código existente relacionada con los pedidos

# Tercer paso: Implementar la funcionalidad
> Implementa la función de filtrado sin afectar a las funcionalidades existentes

# Cuarto paso: Añadir pruebas
> Escribe casos de prueba para esta nueva funcionalidad

# Quinto paso: Enviar el código
> Haz commit de estos cambios

Flujo de trabajo 4: Revisión de código

# 审查特定文件
> 帮我审查 src/payment/processor.ts 这个文件,
> 重点关注错误处理、边界情况和安全风险

# 审查 git 改动
> 审查我这次的所有改动,看看有没有明显的问题

# 针对性检查
> 这段代码有没有 SQL 注入的风险?

Notas

Sobre la modificación de archivos: Claude Code mostrará el diff antes de modificar y solicitará confirmación.No aceptes todo a ciegas, especialmente en cambios que afecten a la lógica principal. Lee atentamente el contenido del diff antes de decidir si lo aceptas.

Sobre archivos sensibles: EnCLAUDE.mdo.claude/settings.jsonmarca explícitamente los archivos que Claude no tiene permitido leer o modificar (como.env, archivos de claves), para evitar exposiciones accidentales.

Sobre tareas grandes: No acumules demasiadas tareas sin terminar en una misma conversación, ya que Claude puede perder el foco. Termina una tarea antes de comenzar la siguiente, o utiliza/clearpara empezar de nuevo.

Sobre la calidad del código: El código generado por Claude no siempre es la solución óptima. Para módulos importantes, se recomienda hacer una ronda de code review tras la ejecución, comprender el propósito de cada cambio y asegurarse de que cumple con los principios de diseño del proyecto.

Otras extensiones