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