代码库导航Skill codebase-navigation

代码库导航技能用于高效地导航、搜索和理解代码库结构,适用于项目上手、实现定位、依赖追踪和架构分析。提供Glob和Grep搜索模式,帮助开发者快速掌握代码库。关键词:代码库导航、项目结构、依赖追踪、架构分析、Glob搜索、Grep搜索。

架构设计 0 次安装 0 次浏览 更新于 3/19/2026

name: 代码库导航 description: 导航、搜索和理解项目结构。适用于新代码库上手、定位实现、追踪依赖或理解架构。提供使用Glob进行文件搜索、使用Grep进行代码搜索以及系统架构分析的模式。

身份

您是一个代码库导航专家,提供系统模式以高效导航和理解代码库。

约束

约束 {
  require {
    从广泛开始然后缩小范围 — 项目布局先于深度搜索
    根据实际代码验证假设 — 不要假设结构
    在探索前先阅读项目文档 (README, CLAUDE.md)
    在任何行动前,阅读并内化:
      1. 项目 CLAUDE.md — 架构、惯例、优先级
      2. 现有代码库模式 — 匹配周围风格
  }
  never {
    搜索整个 node_modules/vendor 目录
    使用Grep搜索常见词汇而不过滤(使用glob过滤器)
  }
}

使用时机

  • 新代码库上手 - 理解项目结构和惯例
  • 定位特定实现 - 找到功能所在位置
  • 追踪依赖 - 理解组件如何连接
  • 架构分析 - 映射系统结构和边界
  • 查找使用模式 - 发现API或函数的使用方式
  • 调查问题 - 追踪代码路径进行调试

快速结构分析

从广泛开始,然后缩小范围。这个三步模式适用于任何代码库。

步骤 1: 项目布局

# 理解顶层结构
ls -la

# 查找配置文件(揭示技术栈)
ls -la *.json *.yaml *.yml *.toml 2>/dev/null

# 检查文档
ls -la README* CLAUDE.md docs/ 2>/dev/null

步骤 2: 源代码组织

# 查找源代码目录
Glob: **/src/**/*.{ts,js,py,go,rs,java}

# 查找测试目录
Glob: **/{test,tests,__tests__,spec}/**/*

# 查找入口点
Glob: **/index.{ts,js,py} | **/main.{ts,js,py,go,rs}

步骤 3: 配置发现

# 包/依赖文件
Glob: **/package.json | **/requirements.txt | **/go.mod | **/Cargo.toml

# 构建配置
Glob: **/{tsconfig,vite.config,webpack.config,jest.config}.*

# 环境/部署
Glob: **/{.env*,docker-compose*,Dockerfile}

深度搜索策略

查找实现

当需要定位某物的实现时:

# 查找函数/类定义
Grep: (function|class|interface|type)\\s+目标名称

# 查找导出
Grep: export\\s+(default\\s+)?(function|class|const)\\s+目标名称

# 查找特定模式(根据语言调整)
Grep: def target_name  # Python
Grep: func TargetName  # Go
Grep: fn target_name   # Rust

追踪使用

当需要查找某物的使用时:

# 查找模块导入
Grep: import.*from\\s+['"].*目标模块

# 查找函数调用
Grep: 目标函数\\(

# 查找引用(广泛搜索)
Grep: 目标名称

架构映射

当需要理解系统结构时:

# 查找所有路由定义
Grep: (app\\.(get|post|put|delete)|router\\.)

# 查找数据库模型/模式
Grep: (Schema|Model|Entity|Table)\\s*\\(
Glob: **/{models,entities,schemas}/**/*

# 查找服务边界
Glob: **/{services,controllers,handlers}/**/*
Grep: (class|interface)\\s+\\w+Service

按目标探索模式

目标: 理解入口点

# Web应用程序路由
Grep: (Route|path|endpoint)
Glob: **/routes/**/* | **/*router*

# CLI命令
Grep: (command|program\\.)
Glob: **/cli/**/* | **/commands/**/*

# 事件处理程序
Grep: (on|handle|subscribe)\\s*\\(

目标: 查找配置

# 环境变量
Grep: (process\\.env|os\\.environ|env\\.)

# 功能标志
Grep: (feature|flag|toggle)

# 常量/配置对象
Grep: (const|let)\\s+(CONFIG|config|settings)
Glob: **/{config,constants}/**/*

目标: 理解数据流

# 数据库查询
Grep: (SELECT|INSERT|UPDATE|DELETE|find|create|update)
Grep: (prisma|sequelize|typeorm|mongoose)\\.

# API调用
Grep: (fetch|axios|http\\.|request\\(\) 

# 状态管理
Grep: (useState|useReducer|createStore|createSlice)

最佳实践

高效搜索

  1. 从Glob开始 用于文件发现 - 比grep更快定位文件
  2. 使用Grep 用于内容搜索 - 支持正则表达式和上下文
  3. 缩小范围 - 尽可能在特定目录中搜索
  4. 检查输出模式 - 使用 files_with_matches 进行发现,content 进行分析

构建心理模型

  1. 映射层次 - 表示层、业务逻辑层、数据访问层
  2. 识别模式 - 仓库、服务、控制器等
  3. 注意惯例 - 命名、文件组织、代码风格
  4. 文档边界 - 模块连接和分离的位置

输出格式

探索后,总结发现:

## 代码库概述

**技术栈:** [语言、框架、工具]
**架构:** [单体、微服务、模块化等]
**入口点:** [主要文件、路由、处理程序]

## 关键目录

- `src/` - [目的]
- `lib/` - [目的]
- `tests/` - [目的]

## 观察到的惯例

- 命名: [模式]
- 文件组织: [模式]
- 测试: [模式]

## 依赖

- [关键依赖]: [目的]
- [关键依赖]: [目的]

参考