Skip to content

/discover-context - Intelligent Code Analysis & Pattern Discovery

Purpose

The /discover-context prompt performs deep analysis of existing codebases to understand patterns, extract knowledge, and document discoveries. It's essential for working with unfamiliar code, documenting legacy systems, or understanding project architecture.

Use Cases

  1. Legacy Code Understanding: Analyze and document existing systems
  2. Onboarding Acceleration: Help new team members understand codebases
  3. Pattern Extraction: Identify recurring patterns and conventions
  4. Architecture Documentation: Map system structure and relationships
  5. Technical Debt Assessment: Find improvement opportunities

Argument Structure

/discover-context [path] [focus-area] [--options]

Arguments

  1. path (optional)

    • Directory or file to analyze
    • Defaults to current directory
    • Can be specific: "./src/auth"
  2. focus-area (optional)

    • Specific aspect to analyze
    • Examples: "patterns", "architecture", "dependencies"
    • Defaults to comprehensive analysis
  3. options (optional)

    • --depth: Analysis depth (quick, standard, comprehensive)
    • --output: Output location for findings
    • --ignore: Patterns to exclude

Examples

bash
# Analyze entire project
/discover-context

# Focus on specific module
/discover-context ./src/billing

# Pattern-focused analysis
/discover-context ./src "patterns" --depth=comprehensive

# Quick architecture overview
/discover-context . "architecture" --depth=quick

Adaptation Strategies

Multi-Layer Analysis

The prompt examines:

  1. Code Structure

    • Directory organization
    • Module boundaries
    • Naming conventions
    • File patterns
  2. Architecture Patterns

    • Design patterns used
    • Service communication
    • Data flow
    • Dependency structure
  3. Code Patterns

    • Common idioms
    • Error handling
    • State management
    • API patterns
  4. Quality Indicators

    • Test coverage
    • Documentation
    • Code complexity
    • Technical debt

Intelligent Recognition

Identifies:

  • Framework conventions
  • Custom patterns
  • Anti-patterns
  • Improvement opportunities
  • Hidden dependencies

Knowledge Extraction

Captures:

  • Business logic
  • Domain concepts
  • Integration points
  • Configuration patterns
  • Deployment context

Memory Usage

Discovery Documentation

.orchestre/
├── discovery/
│   ├── context/
│   │   ├── overview.md           # Project overview
│   │   ├── architecture.md       # System architecture
│   │   ├── patterns.md           # Identified patterns
│   │   └── conventions.md        # Coding conventions
│   ├── modules/
│   │   ├── auth/                 # Module-specific findings
│   │   │   ├── analysis.md
│   │   │   └── patterns.md
│   │   └── billing/
│   │       ├── analysis.md
│   │       └── flows.md
│   └── insights/
│       ├── improvements.md       # Suggested improvements
│       ├── risks.md             # Identified risks
│       └── opportunities.md     # Enhancement opportunities

Discovery Report Example

markdown
# Project Discovery: E-Commerce Platform

## Executive Summary
- **Type**: Monolithic Node.js application
- **Age**: ~3 years (based on git history)
- **Size**: 45,000 LOC
- **Tech Stack**: Express, PostgreSQL, React, Redis
- **Architecture**: MVC with service layer

## Architecture Overview

### High-Level Structure

src/ ├── controllers/ # HTTP request handlers ├── services/ # Business logic layer ├── models/ # Database models (Sequelize) ├── utils/ # Shared utilities ├── middleware/ # Express middleware └── config/ # Configuration management


### Key Patterns Identified

#### 1. Service Layer Pattern
All business logic isolated in service classes:
```javascript
// Pattern found in 23 files
class UserService {
  async createUser(data) {
    // Validation
    const validated = await this.validate(data);
    
    // Business logic
    const user = await User.create(validated);
    
    // Side effects
    await EmailService.sendWelcome(user);
    
    return user;
  }
}

2. Error Handling Pattern

Consistent error handling across services:

javascript
// Found in all service methods
try {
  // Operation
} catch (error) {
  logger.error('Operation failed', { error, context });
  throw new AppError(error.message, error.code);
}

3. Repository Pattern (Partial)

Some modules use repository pattern:

javascript
// Found in newer modules (billing, subscriptions)
class OrderRepository {
  async findByUser(userId, options = {}) {
    return Order.findAll({
      where: { userId },
      ...options
    });
  }
}

Domain Understanding

Core Business Entities

  1. Users: Multi-role system (customer, vendor, admin)
  2. Products: Complex categorization, variants
  3. Orders: State machine for order lifecycle
  4. Payments: Stripe integration with webhooks

Business Flows

  1. Order Flow: Cart → Checkout → Payment → Fulfillment → Delivery

  2. Vendor Flow: Registration → Verification → Product Management → Order Processing

Technical Insights

Strengths

  • Consistent service layer architecture
  • Good separation of concerns
  • Comprehensive error handling
  • Well-structured API routes

Improvement Opportunities

  1. Inconsistent Patterns: Mix of repository and direct model access
  2. Test Coverage: Only 42% coverage, mainly happy paths
  3. Type Safety: No TypeScript, prone to runtime errors
  4. Performance: N+1 queries in product listings

Technical Debt

  • Outdated dependencies (Express 4.16)
  • Mixed async patterns (callbacks and promises)
  • Hardcoded configuration values
  • Incomplete migration to repositories

Recommendations

Immediate Actions

  1. Update critical dependencies
  2. Add TypeScript for type safety
  3. Complete repository pattern migration
  4. Implement query optimization

Long-term Improvements

  1. Consider microservices for scaling
  2. Implement event-driven architecture
  3. Add comprehensive monitoring
  4. Improve test coverage to 80%+

Hidden Gems

  • Sophisticated caching strategy in product service
  • Well-designed plugin system in checkout flow
  • Elegant state machine for order management

## Workflow Examples

### Legacy System Analysis
```bash
# 1. Deep discovery
/discover-context . --depth=comprehensive

# 2. Focus on problem areas
/discover-context ./src/legacy "technical-debt"

# 3. Document findings
/document-feature "Legacy System Architecture"

# 4. Plan modernization
/orchestrate "Modernize legacy components based on discovery"

New Team Member Onboarding

bash
# 1. Project overview
/discover-context . "architecture" --depth=quick

# 2. Key modules
/discover-context ./src/core "patterns"

# 3. Create guide
/document-feature "Developer Onboarding Guide"

# 4. Identify starter tasks
/discover-context . "good-first-issues"

Pre-Refactoring Analysis

bash
# 1. Understand current state
/discover-context ./src/auth

# 2. Identify patterns
/discover-context ./src/auth "patterns" --depth=comprehensive

# 3. Find dependencies
/discover-context . "dependencies:auth"

# 4. Plan refactoring
/execute-task "Refactor auth module based on discovery"

Analysis Categories

1. Architecture Discovery

bash
/discover-context . "architecture"

Reveals:

  • System boundaries
  • Service relationships
  • Data flow patterns
  • Integration points
  • Deployment structure

2. Pattern Recognition

bash
/discover-context . "patterns"

Identifies:

  • Design patterns
  • Coding conventions
  • Common utilities
  • Shared components
  • Recurring solutions

3. Dependency Analysis

bash
/discover-context . "dependencies"

Maps:

  • Module dependencies
  • External libraries
  • Service connections
  • Database relationships
  • API integrations

4. Quality Assessment

bash
/discover-context . "quality"

Evaluates:

  • Code complexity
  • Test coverage
  • Documentation quality
  • Performance patterns
  • Security practices

Intelligent Features

Pattern Learning

  • Recognizes framework patterns
  • Identifies custom conventions
  • Learns naming schemes
  • Understands file organization
  • Detects architectural styles

Relationship Mapping

  • Service dependencies
  • Database relationships
  • API call patterns
  • Event flows
  • State management

Knowledge Synthesis

  • Combines findings
  • Identifies contradictions
  • Suggests improvements
  • Highlights risks
  • Documents insights

Contextual Understanding

  • Business domain extraction
  • Use case identification
  • User flow mapping
  • Integration discovery
  • Configuration analysis

Discovery Depth Levels

Quick (15-30 minutes)

  • File structure overview
  • Main technology identification
  • Basic pattern recognition
  • High-level architecture
  • Key module listing

Standard (1-2 hours)

  • Detailed architecture analysis
  • Pattern documentation
  • Dependency mapping
  • Quality indicators
  • Improvement suggestions

Comprehensive (4+ hours)

  • Deep pattern analysis
  • Full dependency graph
  • Performance analysis
  • Security review
  • Complete documentation

Integration Points

With Other Prompts

  • → /orchestrate: Use findings for planning
  • → /execute-task: Implement improvements
  • → /document-feature: Create documentation
  • → /security-audit: Focus security review

With Development Flow

  • Before major changes
  • New developer onboarding
  • Architecture reviews
  • Technical debt planning
  • Documentation updates

Best Practices

  1. Start Broad

    bash
    # Get overview first
    /discover-context . --depth=quick
    
    # Then dive deep
    /discover-context ./src/critical-module --depth=comprehensive
  2. Focus Analysis

    bash
    # Specific concerns
    /discover-context ./src/api "security-patterns"
    
    # Problem areas
    /discover-context ./src/legacy "technical-debt"
  3. Document Findings

    bash
    # After discovery
    /discover-context ./src/billing
    
    # Document insights
    /document-feature "Billing System Architecture"

Advanced Discovery

Cross-Repository Analysis

bash
/discover-context "../{service1,service2,service3}" "integration-patterns"
# Analyzes patterns across multiple services

Historical Analysis

bash
/discover-context . "evolution" --git-history
# Understands how code evolved over time

Performance Profiling

bash
/discover-context ./src "performance-patterns" --profile
# Identifies performance bottlenecks and patterns

Tips

  1. Regular Discovery: Run periodically to track changes
  2. Before Big Changes: Always discover before refactoring
  3. Share Findings: Discovery benefits whole team
  4. Act on Insights: Use findings to improve code
  5. Update Documentation: Keep discoveries current

Built with ❤️ for the AI Coding community, by Praney Behl