codebase-navigation

Systematic patterns for navigating and understanding codebases efficiently.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "codebase-navigation" with this command: npx skills add rsmdt/the-startup/rsmdt-the-startup-codebase-navigation

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_matches for discovery, content for 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

References

  • Exploration Patterns Examples - Detailed practical examples

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

codebase-analysis

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-review

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-quality-review

No summary provided by upstream source.

Repository SourceNeeds Review