Generate a TECHNICAL_OVERVIEW.md file for any codebase. Automatically detects the tech stack, explores models/routes/services, and produces a concise reference document that helps future AI sessions (or humans) quickly understand the project without re-exploring. Use when starting work on an existing project, onboarding to a new codebase, or creating documentation for your team. Works with Laravel, Rails, Django, Node/Express, and other common stacks.
Generate a concise TECHNICAL_OVERVIEW.md file that captures the essential information needed to understand and work with a codebase.
This document helps future AI sessions (and humans) quickly orient themselves without re-exploring the entire codebase. It should be:
Check for framework indicators:
| File | Indicates |
|------|-----------|
| composer.json | PHP (Laravel, Symfony) |
| package.json | Node.js / JavaScript |
| Gemfile | Ruby (Rails) |
| requirements.txt / pyproject.toml | Python (Django, Flask) |
| go.mod | Go |
| Cargo.toml | Rust |
Extract key dependencies and versions from these files.
Read README.md (or README.rst, etc.) and assess:
If boilerplate or unclear: Ask the user:
"What does this application do in one sentence?"
Adapt exploration based on detected stack:
app/Models/*.php - Domain models and relationshipsapp/Http/Controllers/ - Entry pointsapp/Livewire/ or app/Http/Livewire/ - Livewire componentsroutes/web.php, routes/api.php - Route definitionsapp/Services/ - Business logicapp/Enums/ - Enumerationsapp/Providers/AppServiceProvider.php - Custom setup (Blade directives, etc.)bootstrap/app.php - Middleware aliases (Laravel 11+)config/ - Custom config files (ignore standard Laravel ones)database/factories/ - Factory states for testingapp/models/ - ActiveRecord modelsapp/controllers/ - Controllersconfig/routes.rb - Routesapp/services/ - Service objectsdb/schema.rb - Database schema*/models.py - Django models*/views.py - Views*/urls.py - URL routing*/services.py or */utils.py - Business logicsrc/models/ or models/ - Data modelssrc/routes/ or routes/ - Route handlerssrc/services/ or services/ - Business logicsrc/middleware/ - Custom middlewareLook for:
Use this template structure:
# Technical Overview
Last updated: YYYY-MM-DD
## What This Is
[One sentence from README or user]
## Stack
- [Language] [Version] / [Framework] [Version]
- [Key packages with versions]
## Directory Structure
[Only app-specific directories, not framework boilerplate] [Annotate what lives where]
## Domain Model
[ASCII diagram of model relationships] [Use arrows: → for belongs-to, ←→ for many-to-many]
### Key Model Fields
[Only the important fields, not every column]
### Enums
[List enums with their values and helper methods]
## Authorization
[Table of roles and how they're determined]
### [Framework-specific auth patterns]
[Middleware, directives, policies, decorators, etc.]
## Routes Overview
### Web Routes
[Table: Route | Handler | Access level]
### API Routes (if applicable)
[Table: Endpoint | Auth required]
## Key Business Logic
[Table: Location | Purpose]
## Testing
- Framework: [Test framework]
- Pattern: [How tests are structured]
- Factories/Fixtures: [Notable states or helpers]
- Run: [Command to run tests]
## Feature Flags
[List any config-based feature toggles]
## Local Development
[Key commands for local setup]
See the examples/ directory for sample outputs from different frameworks.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer