Skip to content

System Context

Danny Volz edited this page Jul 9, 2025 · 1 revision

System Context Diagram

Overview

This document presents the C4 Level 1 System Context diagram for Coda Code Assistant, showing how the system interacts with external entities and services.

System Context Diagram

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml

title System Context Diagram for Coda Code Assistant

Person(user, "Developer", "Software developer using Coda for AI-assisted development")

System_Boundary(coda, "Coda Code Assistant") {
    System(coda_cli, "Coda CLI", "Command-line interface for AI-powered coding assistance")
}

System_Ext(openai, "OpenAI API", "GPT models for code generation and assistance")
System_Ext(anthropic, "Anthropic API", "Claude models for advanced reasoning")
System_Ext(litellm, "LiteLLM", "Unified interface for multiple LLM providers")
System_Ext(oci, "OCI GenAI", "Oracle Cloud Infrastructure AI services")
System_Ext(ollama, "Ollama", "Local LLM deployment")
System_Ext(filesystem, "Local Filesystem", "Project files and code repositories")
System_Ext(mcp, "MCP Servers", "Model Context Protocol servers for extended capabilities")
System_Ext(git, "Git Repository", "Version control system")

Rel(user, coda_cli, "Uses", "Terminal/Shell")
Rel(coda_cli, openai, "Queries", "HTTPS/REST")
Rel(coda_cli, anthropic, "Queries", "HTTPS/REST")
Rel(coda_cli, litellm, "Queries", "HTTPS/REST")
Rel(coda_cli, oci, "Queries", "HTTPS/REST")
Rel(coda_cli, ollama, "Queries", "HTTP/REST")
Rel(coda_cli, filesystem, "Reads/Writes", "OS File API")
Rel(coda_cli, mcp, "Communicates", "JSON-RPC")
Rel(coda_cli, git, "Manages", "Git CLI")

@enduml

Context Elements

Primary User

  • Developer: Software engineers using Coda for AI-assisted development tasks

Core System

  • Coda CLI: The main command-line application that orchestrates all functionality

External Systems

AI Model Providers

  1. OpenAI API

    • Provides GPT-3.5, GPT-4, and other OpenAI models
    • Used for code generation, explanation, and general assistance
  2. Anthropic API

    • Provides Claude models for advanced reasoning
    • Supports function calling and structured outputs
  3. LiteLLM

    • Unified interface for 100+ LLM providers
    • Simplifies integration with various AI services
  4. OCI GenAI

    • Oracle Cloud Infrastructure generative AI services
    • Enterprise-grade AI capabilities
  5. Ollama

    • Local LLM deployment and management
    • Enables offline AI capabilities

Local Resources

  1. Local Filesystem

    • Read and write project files
    • Navigate directory structures
    • Manage code artifacts
  2. Git Repository

    • Version control integration
    • Commit management
    • Branch operations

Extended Capabilities

  1. MCP Servers
    • Model Context Protocol servers
    • Extend Coda with custom tools and capabilities
    • Plugin-based architecture

Data Flow Summary

Inbound Data

  • User commands and queries via CLI
  • File content from local filesystem
  • Git repository state and history
  • MCP server capabilities and responses

Outbound Data

  • AI model queries with context
  • File modifications and creations
  • Git operations (commits, branches)
  • MCP server requests

Security Boundaries

  • All external API calls use HTTPS (except local Ollama)
  • API keys stored securely in environment or config files
  • File system access restricted to user permissions
  • MCP servers run in isolated processes

Key Architectural Decisions

  1. Multi-Provider Support: Abstract provider interface allows seamless switching between AI services
  1. Local-First Design: Core functionality works offline with Ollama, online features are additive
  1. Extensibility via MCP: Plugin architecture enables custom tool development without core modifications
  1. Session Persistence: All interactions are automatically saved for continuity

Next Steps

Clone this wiki locally