list_code_definition_names
La herramienta list_code_definition_names proporciona una visión general estructural de tu base de código listando las definiciones de código de los archivos fuente en el nivel superior de un directorio especificado. Ayuda a AI Cockpit Reasoning a comprender la arquitectura del código mostrando números de línea y fragmentos de definición.
Parámetros
La herramienta acepta estos parámetros:
path(requerido): La ruta del directorio para el que se listarán las definiciones de código fuente del nivel superior, relativa al directorio de trabajo actual
Qué Hace
Esta herramienta escanea los archivos de código fuente en el nivel superior de un directorio especificado y extrae definiciones de código como clases, funciones e interfaces. Muestra los números de línea y el código real de cada definición, proporcionando una forma rápida de mapear los componentes importantes de tu base de código.
¿Cuándo se usa?
- Cuando AI Cockpit Reasoning necesita comprender rápidamente la arquitectura de tu base de código
- Cuando AI Cockpit Reasoning necesita localizar construcciones de código importantes en múltiples archivos
- Al planificar la refactorización o extensiones del código existente
- Antes de profundizar en los detalles de implementación con otras herramientas
- Al identificar relaciones entre diferentes partes de tu base de código
Características Principales
- Extrae clases, funciones, métodos, interfaces y otras definiciones de los archivos fuente
- Muestra números de línea y código fuente real para cada definición
- Admite múltiples lenguajes de programación incluyendo JavaScript, TypeScript, Python, Rust, Go, C++, C, C#, Ruby, Java, PHP, Swift y Kotlin
- Procesa solo los archivos en el nivel superior del directorio especificado (no subdirectorios)
- Limita el procesamiento a un máximo de 50 archivos por rendimiento
- Se enfoca en las definiciones de nivel superior para evitar detalles abrumadores
- Ayuda a identificar patrones de organización del código en el proyecto
- Crea un mapa mental de la arquitectura de tu base de código
- Funciona en conjunto con otras herramientas como
read_filepara un análisis más profundo
Limitaciones
- Solo identifica definiciones de nivel superior, no las anidadas
- Solo procesa archivos en el nivel superior del directorio especificado, no subdirectorios
- Limitado a procesar un máximo de 50 archivos por solicitud
- Dependiente de analizadores específicos del lenguaje, con calidad de detección variable
- Puede no reconocer todas las definiciones en lenguajes con sintaxis compleja
- No es un sustituto para leer el código y comprender los detalles de implementación
- No puede detectar patrones de tiempo de ejecución o relaciones de código dinámicas
- No proporciona información sobre cómo se usan las definiciones
- Puede tener precisión reducida con código altamente dinámico o metaprogramado
- Limitado a lenguajes específicos admitidos por los analizadores Tree-sitter implementados
Cómo Funciona
Cuando se invoca la herramienta list_code_definition_names, sigue este proceso:
- Validación de Parámetros: Valida el parámetro requerido
path - Resolución de Ruta: Resuelve la ruta relativa a una ruta absoluta
- Escaneo de Directorio: Escanea solo el nivel superior del directorio especificado en busca de archivos de código fuente (no recursivo)
- Filtrado de Archivos: Limita el procesamiento a un máximo de 50 archivos
- Detección de Lenguaje: Identifica los tipos de archivo según las extensiones (.js, .jsx, .ts, .tsx, .py, .rs, .go, .cpp, .hpp, .c, .h, .cs, .rb, .java, .php, .swift, .kt, .kts)
- Análisis de Código: Usa Tree-sitter para analizar el código y extraer definiciones mediante estos pasos:
- Análisis del contenido del archivo en un Árbol de Sintaxis Abstracta (AST)
- Creación de una consulta usando una cadena de consulta específica del lenguaje
- Ordenación de las capturas por su posición en el archivo
- Formateo de Resultados: Genera definiciones con números de línea y código fuente real
Formato de Salida
La salida muestra las rutas de archivo seguidas de los números de línea y el código fuente real de cada definición. Por ejemplo:
src/utils.js:
0--0 | export class HttpClient {
5--5 | formatDate() {
10--10 | function parseConfig(data) {
src/models/User.js:
0--0 | interface UserProfile {
10--10 | export class User {
20--20 | function createUser(data) {
Cada línea muestra:
- Los números de línea de inicio y fin de la definición
- El símbolo de barra vertical (|) como separador
- El código fuente real de la definición
Este formato de salida te ayuda a ver rápidamente tanto dónde se encuentran las definiciones en el archivo como sus detalles de implementación.
Ejemplos de Uso
- Al comenzar una nueva tarea, AI Cockpit Reasoning primero lista las definiciones de código clave para comprender la estructura general de tu proyecto.
- Al planificar trabajo de refactorización, AI Cockpit Reasoning usa esta herramienta para identificar clases y funciones que podrían verse afectadas.
- Al explorar bases de código desconocidas, AI Cockpit Reasoning mapea las construcciones de código importantes antes de profundizar en los detalles de implementación.
- Al agregar nuevas características, AI Cockpit Reasoning identifica los patrones existentes y las definiciones de código relevantes para mantener la consistencia.
- Al solucionar errores, AI Cockpit Reasoning mapea la estructura de la base de código para localizar posibles fuentes del problema.
- Al planificar cambios de arquitectura, AI Cockpit Reasoning identifica todos los componentes afectados en los archivos.
Ejemplos de Uso
Listar las definiciones de código en el directorio actual:
<list_code_definition_names>
<path>.</path>
</list_code_definition_names>
Examinar la estructura de un módulo específico:
<list_code_definition_names>
<path>src/components</path>
</list_code_definition_names>
Explorar una biblioteca de utilidades:
<list_code_definition_names>
<path>lib/utils</path>
</list_code_definition_names>