Skip to content

System Architecture

Orchestre V3 is built on a modern, modular architecture that leverages the Model Context Protocol (MCP) to transform Claude Code into an intelligent development platform. This page provides a comprehensive overview of how all the pieces fit together.

High-Level Architecture

Core Components

1. MCP Server (src/server.ts)

The heart of Orchestre - an MCP server that:

  • Registers tools for Claude Code to use
  • Handles communication between Claude and external services
  • Manages tool execution and response formatting
  • Provides error handling and logging
typescript
// Simplified server structure
const server = new MCPServer({
  tools: [
    initializeProjectTool,
    analyzeProjectTool,
    generatePlanTool,
    multiLlmReviewTool,
    researchTool
  ]
});

2. MCP Tools (src/tools/)

Five specialized tools that provide core functionality:

initializeProject.ts

  • Purpose: Smart project initialization
  • Capabilities: Template selection, structure setup, command installation
  • AI Model: None (deterministic)
  • Source: src/tools/initializeProject.ts:1-150

analyzeProject.ts

  • Purpose: Deep requirements analysis
  • Capabilities: Complexity assessment, risk identification, recommendations
  • AI Model: Gemini 2.0 Flash Thinking
  • Source: src/tools/analyzeProject.ts:1-200

generatePlan.ts

  • Purpose: Intelligent project planning
  • Capabilities: Phased approach, dependency mapping, time estimation
  • AI Model: Gemini 2.0 Flash Thinking
  • Source: src/tools/generatePlan.ts:1-250

multiLlmReview.ts

  • Purpose: Consensus-based code review
  • Capabilities: Multi-perspective analysis, security checks, performance review
  • AI Models: GPT-4 + Claude Sonnet
  • Source: src/tools/multiLlmReview.ts:1-300

research.ts

  • Purpose: Technical research and best practices
  • Capabilities: Current trends, implementation patterns, recommendations
  • AI Model: GPT-4
  • Source: src/tools/research.ts:1-150

3. Dynamic Commands (src/commands/)

Commands are intelligent prompts that orchestrate workflows:

4. Template System (templates/)

Each template is a complete knowledge pack:

Data Flow

1. Command Execution Flow

2. Multi-LLM Review Flow

Memory Management

Distributed Memory Architecture

Orchestre uses a distributed memory system:

  1. CLAUDE.md files - Distributed contextual documentation
  2. .orchestre/ - Configuration and cache
  3. Git - Version control for all memory

Memory File Structure

Each CLAUDE.md file contains relevant context:

markdown
# Feature/Module Name

## Overview
What this feature does and why

## Current Status
- Phase: Implementation
- Progress: 75% complete

## Implementation Details
- Key decisions made
- Patterns used
- Integration points

## Next Steps
- Remaining tasks
- Known issues

Integration Points

1. Claude Code Integration

Orchestre integrates seamlessly through MCP:

json
{
  "mcpServers": {
    "orchestre": {
      "command": "node",
      "args": ["path/to/orchestre/dist/server.js"],
      "env": {
        "GEMINI_API_KEY": "...",
        "OPENAI_API_KEY": "..."
      }
    }
  }
}

2. AI Model Integration

Each model is used for its strengths:

ModelPurposeIntegration
Gemini 2.0Analysis & PlanningGoogle AI SDK
GPT-4Review & ResearchOpenAI SDK
Claude 3ImplementationNative in Claude Code

3. Version Control Integration

Orchestre is designed to work with Git:

  • All state is text-based
  • Changes are trackable
  • Branching is supported
  • Merge conflicts are minimal

Security Architecture

API Key Management

  • Keys stored in environment variables
  • Never committed to version control
  • Passed securely to MCP server
  • Scoped to specific operations

Code Review Security

  • Automated security scanning
  • Vulnerability detection
  • Best practice enforcement
  • Consensus-based validation

Performance Considerations

Caching Strategy

  • Tool results cached when appropriate
  • Template data cached locally
  • AI responses not cached (freshness)

Parallel Processing

  • Multiple tools can run concurrently
  • Independent tasks distributed
  • Results aggregated efficiently

Resource Management

  • Minimal memory footprint
  • Efficient file operations
  • Lazy loading of templates

Extension Points

Adding New Tools

typescript
// src/tools/myNewTool.ts
export const myNewTool: ToolDefinition = {
  name: 'my_new_tool',
  description: 'Description of what it does',
  input_schema: {
    type: 'object',
    properties: {
      // Define inputs
    }
  },
  handler: async (args) => {
    // Implementation
  }
};

Adding New Commands

markdown
<!-- src/commands/my-command.md -->
# My new command

You are an expert at [specific task].

## Steps
1. Understand the context
2. Apply your expertise
3. Generate solution

## Tools Available
- Use @tool_name for specific operations

Adding New Templates

json
{
  "name": "my-template",
  "displayName": "My Template",
  "description": "What this template provides",
  "commands": ["custom-command-1", "custom-command-2"],
  "structure": {
    "directories": ["src", "tests"],
    "files": ["README.md", "package.json"]
  }
}

Architecture Principles

1. Separation of Concerns

  • Tools handle data operations
  • Commands handle orchestration
  • Templates provide domain knowledge
  • State remains independent

2. Composability

  • Tools can be combined
  • Commands can call multiple tools
  • Templates can extend base functionality
  • Workflows can be chained

3. Adaptability

  • Commands discover context
  • Templates provide patterns
  • Tools analyze dynamically
  • Implementation adapts

4. Transparency

  • All state is human-readable
  • All operations are logged
  • All decisions are documented
  • All changes are tracked

Next Steps

Now that you understand the architecture:

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