codebase-navigation
Navigate, search, and understand project structures. Use when onboarding to a codebase, locating implementations, tracing dependencies, or understanding architecture. Provides patterns for file searching with Glob, code searching with Grep, and systematic architecture analysis.
- License 许可
- MIT
- 最近更新
- 2026-11-01
- Stars
- ★ 3
- Forks
- 1
01 前言 Front Matter
- name
- codebase-navigation
- description
- Navigate, search, and understand project structures. Use when onboarding to a codebase, locating implementations, tracing dependencies, or understanding architecture. Provides patterns for file searching with Glob, code searching with Grep, and systematic architecture analysis.
02 资源文件 1
- 参考文档examples/exploration-patterns.md7.2 KB
03 SKILL.md 正文
Codebase Exploration
Systematic patterns for navigating and understanding codebases efficiently.
When to Use
- Onboarding to a new codebase - Understanding project structure and conventions
- Locating specific implementations - Finding where functionality lives
- Tracing dependencies - Understanding how components connect
- Architecture analysis - Mapping system structure and boundaries
- Finding usage patterns - Discovering how APIs or functions are used
- Investigating issues - Tracing code paths for debugging
Quick Structure Analysis
Start broad, then narrow down. This three-step pattern works for any codebase.
Step 1: Project Layout
# Understand top-level structure
ls -la
# Find configuration files (reveals tech stack)
ls -la *.json *.yaml *.yml *.toml 2>/dev/null
# Check for documentation
ls -la README* CLAUDE.md docs/ 2>/dev/null
Step 2: Source Organization
# Find source directories
Glob: **/src/**/*.{ts,js,py,go,rs,java}
# Find test directories
Glob: **/{test,tests,__tests__,spec}/**/*
# Find entry points
Glob: **/index.{ts,js,py} | **/main.{ts,js,py,go,rs}
Step 3: Configuration Discovery
# Package/dependency files
Glob: **/package.json | **/requirements.txt | **/go.mod | **/Cargo.toml
# Build configuration
Glob: **/{tsconfig,vite.config,webpack.config,jest.config}.*
# Environment/deployment
Glob: **/{.env*,docker-compose*,Dockerfile}
Deep Search Strategies
Finding Implementations
When you need to locate where something is implemented:
# Find function/class definitions
Grep: (function|class|interface|type)\s+TargetName
# Find exports
Grep: export\s+(default\s+)?(function|class|const)\s+TargetName
# Find specific patterns (adjust for language)
Grep: def target_name # Python
Grep: func TargetName # Go
Grep: fn target_name # Rust
Tracing Usage
When you need to find where something is used:
# Find imports of a module
Grep: import.*from\s+['"].*target-module
# Find function calls
Grep: targetFunction\(
# Find references (broad search)
Grep: TargetName
Architecture Mapping
When you need to understand system structure:
# Find all route definitions
Grep: (app\.(get|post|put|delete)|router\.)
# Find database models/schemas
Grep: (Schema|Model|Entity|Table)\s*\(
Glob: **/{models,entities,schemas}/**/*
# Find service boundaries
Glob: **/{services,controllers,handlers}/**/*
Grep: (class|interface)\s+\w+Service
Exploration Patterns by Goal
Goal: Understand Entry Points
# Web application routes
Grep: (Route|path|endpoint)
Glob: **/routes/**/* | **/*router*
# CLI commands
Grep: (command|program\.)
Glob: **/cli/**/* | **/commands/**/*
# Event handlers
Grep: (on|handle|subscribe)\s*\(
Goal: Find Configuration
# Environment variables
Grep: (process\.env|os\.environ|env\.)
# Feature flags
Grep: (feature|flag|toggle)
# Constants/config objects
Grep: (const|let)\s+(CONFIG|config|settings)
Glob: **/{config,constants}/**/*
Goal: Understand Data Flow
# Database queries
Grep: (SELECT|INSERT|UPDATE|DELETE|find|create|update)
Grep: (prisma|sequelize|typeorm|mongoose)\.
# API calls
Grep: (fetch|axios|http\.|request\()
# State management
Grep: (useState|useReducer|createStore|createSlice)
Best Practices
Search Efficiently
- Start with Glob for file discovery - faster than grep for locating files
- Use Grep for content search - supports regex and context
- Narrow scope - search in specific directories when possible
- Check output modes - use
files_with_matchesfor discovery,contentfor analysis
Build Mental Models
- Map the layers - presentation, business logic, data access
- Identify patterns - repository, service, controller, etc.
- Note conventions - naming, file organization, code style
- Document boundaries - where modules connect and separate
Avoid Common Pitfalls
- Do not search entire node_modules/vendor directories
- Do not assume structure without verifying
- Do not skip reading project documentation (README, CLAUDE.md)
- Do not grep for common words without filtering (use glob filters)
Output Format
After exploration, summarize findings:
## Codebase Overview
**Tech Stack:** [Languages, frameworks, tools]
**Architecture:** [Monolith, microservices, modular, etc.]
**Entry Points:** [Main files, routes, handlers]
## Key Directories
- `src/` - [Purpose]
- `lib/` - [Purpose]
- `tests/` - [Purpose]
## Conventions Observed
- Naming: [Pattern]
- File organization: [Pattern]
- Testing: [Pattern]
## Dependencies
- [Key dependency]: [Purpose]
- [Key dependency]: [Purpose]
References
- Exploration Patterns Examples - Detailed practical examples
04 同仓库更多 Skills
xiaolai-methodology
以李笑来(Li Xiaolai)的思考方式、方法论与表达风格,为用户做全方位 1-on-1 教练指导,覆盖创业、赚钱、投资、学习、自学、读书写作、用 AI、以及人生心态与自我管理。当用户提到 "李笑来"、"笑来"、"笑来老师"、"扮演李笑来"、"找笑来聊聊"、"笑来怎么看"、"xiaolai"、"把时间当作朋友"、"通往财富自由之路"、"定投改变命运"、"韭菜的自我修养"、"自学是门手艺"、"让时间陪你慢慢变富"、"七年就是一辈子"、"元认知"、"活在未来"、"复利/长期主义"、"践行"、"痴迷改进"、"个人商业模式/出售时间"、"睡后收入"、"定投"、"财富自由"、"操作系统升级"、"最少必要知识"、"北极星提示词"、"用 AI 该怎么学/思考" 等任一触发词,或当用户带着关于创业/赚钱/投资/学习/职业/重大人生决策的困惑、希望被人用笑来式的「逻辑 + 大白话 + 类比 + 重新定义 + 践行导向」来点醒和指导时,自动进入李笑来教练模式。
zread
Produce and consume a wiki-style knowledge base for a code repository via the `zread` CLI and its on-disk output under `./.zread/wiki/`. Use this skill whenever the user wants to understand, onboard onto, explore, summarize, map, or get an overview of an unfamiliar codebase; asks for architecture docs, a project wiki, a repo walkthrough, module/package explanations, or "what does this repo do"; wants to generate, regenerate, resume, browse, or serve code documentation locally; or mentions zread / zread.ai directly. Also use it proactively before diving into a large unknown repo — if `./.zread/wiki/current` exists, read the generated pages instead of crawling source file-by-file; if it doesn't, consider offering to run `zread generate`. The trigger is the intent (understand a codebase through generated docs), not the literal word "zread".
youtube
Launch the YouTube Creator Agent to auto-generate videos. Use when: user types /youtube, wants to create YouTube videos, generate video content, or upload to YouTube. Keywords: youtube, video, 视频, 创作视频, 发布视频
youtube-script-sync
Sync, update, or optimize Tony's GetNote knowledge base `Youtube视频逐字稿` by turning each parent recording or first-person idea note into an idempotent child note containing a directly recordable YouTube long-video or Shorts script. Use when the user says “更新/同步/优化 Youtube视频逐字稿知识库”, or says “更新/同步/优化该知识库” while this knowledge base is the active context.
writing-skills
How to write SKILL.md files that trigger reliably and teach effectively. Use when creating, improving, or reviewing Claude Code skills.
writing-rules
How to write .claude/rules/ files that Claude actually follows. Use when creating, improving, or reviewing project rules.