Codebase Audit
Instructions
Perform a comprehensive, systematic audit of the codebase to identify quality issues, architectural problems, and technical debt.
Phase 1: Discovery & Planning
- •Identify scope - Determine which files/directories to audit based on user request
- •Create comprehensive file list - Use Glob to find all relevant files
- •Initialize todo list - Create a todo with one item per file to audit
- •Set up audit report - Create structured markdown report at
.audit/audit-report-[timestamp].md
Phase 2: Automated Analysis
Run automated tools to supplement manual review:
- •TypeScript compiler diagnostics
- •ESLint (if configured)
- •Grep for common patterns: TODO, FIXME, HACK, XXX, @deprecated
Phase 3: Systematic File Review
For EACH file in the todo list:
- •
Read and analyze the file thoroughly
- •
Check for issues in these categories:
- •Deprecations: Deprecated APIs, patterns, or code marked for removal
- •TODOs/FIXMEs: Unfinished work or known issues
- •Architectural anti-patterns:
- •God objects/classes
- •Circular dependencies
- •Tight coupling
- •Violation of SOLID principles
- •Inconsistent patterns
- •Type issues:
- •Use of
anyorunknown - •Missing type annotations
- •Incorrect type usage
- •Type casts that hide issues
- •Use of
- •Code smells:
- •Duplicated code
- •Long functions/classes
- •Complex conditionals
- •Dead code
- •Magic numbers/strings
- •Poor naming
- •
Assign severity to each finding:
- •CRITICAL: Breaks functionality, security issues, data corruption risks
- •HIGH: Architectural violations, major maintainability issues
- •MEDIUM: Code smells, minor anti-patterns, missing types
- •LOW: Style issues, minor TODOs, cosmetic improvements
- •
Check for cross-file patterns - As you review, note patterns that appear across multiple files
- •
Update report - Add findings to the structured report
- •
Mark file as completed in todo list
Phase 4: Cross-File Analysis
After reviewing all individual files:
- •Identify systemic patterns - Issues that appear across multiple files
- •Architectural assessment - Overall system architecture health
- •Dependency analysis - Check for circular dependencies or coupling issues
- •Consistency check - Verify naming conventions, patterns are followed
Phase 5: Validation & Summary
- •
Run final checks:
- •TypeScript type check (
tsc --noEmitor similar) - •Linting (
npm run lintor similar) - •Build process if applicable
- •TypeScript type check (
- •
Generate executive summary:
- •Total issues by category
- •Total issues by severity
- •Top 10 most critical findings
Audit Report Structure
markdown
# Audit Report - [Date] ## Executive Summary - **Files Audited**: X - **Total Issues Found**: Y - **Critical**: A | **High**: B | **Medium**: C | **Low**: D ## Top 10 Critical Findings 1. [Issue description] - Severity: CRITICAL - File: path/to/file.ts:line ## Issues by Category ### Deprecations - [Issue] - Severity - File:line ### TODOs/FIXMEs - [Issue] - Severity - File:line ### Architectural Anti-Patterns - [Issue] - Severity - File:line ### Type Issues - [Issue] - Severity - File:line ### Code Smells - [Issue] - Severity - File:line ## Cross-File Patterns - [Pattern description and affected files] ## Automated Tool Results - TypeScript diagnostics summary - ESLint results summary
Critical Principles
- •NEVER skip files - Audit every file in the todo list
- •NEVER edit files during audit - This is read-only analysis
- •NEVER provide recommendations - Only identify and report problems
- •NEVER create action plans - That's a separate responsibility
- •DO use memory/pinboard - Store context as you discover patterns
- •DO be thorough - Think critically about each file
- •DO be objective - Report what you find, not what to do about it
- •DO track progress - Keep todo list updated in real-time
- •DO find all relevant files - If you discover new files that should be audited, add them to the todo
Dynamic File Discovery
If during audit you discover additional files that should be reviewed:
- •Add them to the todo list immediately
- •Continue systematic review
- •Ensure no stone is left unturned