Architecture - GuitarAlchemist/ga GitHub Wiki

Architecture

Project Structure

ga/
├── AllProjects.slnx              # Solution file
├── AllProjects.AppHost/          # Aspire orchestration
├── AllProjects.ServiceDefaults/  # Shared service config
├── Common/                       # Core libraries
│   ├── GA.Business.Core/         # Music theory engine (scales, chords, voicings)
│   ├── GA.Business.ML/           # Machine learning integration
│   ├── GA.Business.DSL/          # Domain-specific language for music
│   ├── GA.Business.ProbabilisticGrammar/  # Grammar-based generation
│   ├── GA.Business.AI/           # AI/LLM integration
│   ├── GA.Business.Analytics/    # Usage analytics
│   ├── GA.Business.Graphiti/     # Knowledge graph
│   ├── GA.Business.Intelligence/ # Insights engine
│   ├── GA.Business.Personalization/ # Adaptive learning
│   ├── GA.Core/                  # Shared utilities
│   ├── GA.Domain.Core/           # Domain model
│   ├── GA.Domain.Services/       # Domain services
│   ├── GA.Infrastructure/        # Infrastructure layer
│   └── GA.Testing.Semantic/      # Semantic test framework
├── Apps/
│   ├── GaChatbot/                # AI chatbot (main app)
│   ├── ga-client/                # React frontend
│   ├── ga-dashboard/             # Monitoring dashboard
│   ├── ga-server/                # API server
│   ├── InteractiveTutorial/      # Guided learning
│   ├── VoicingSearchDemo/        # Voicing search tool
│   ├── GaMusicTheoryLsp/         # Language Server Protocol
│   └── GaCli/                    # CLI tool
├── .agent/
│   ├── agents/                   # 9 declarative AI agents
│   └── skills/                   # 15+ agent skills
├── ReactComponents/              # React component library
├── governance/
│   └── demerzel/                 # Demerzel governance submodule
├── Tests/                        # Test projects
├── Scripts/                      # PowerShell automation
└── mcp-servers/                  # MCP server implementations

Technology Stack

Component Technology
Platform .NET 10 / C# 14
Orchestration Aspire AppHost
Frontend React + TypeScript
Database MongoDB
Knowledge Graph Graphiti
GPU Compute CUDA via ML.NET
Testing xUnit, Playwright (E2E)
Code Quality dotnet format, pre-commit hooks
CI GitHub Actions

Agent System

9 declarative agents defined in .agent/agents/:

Agent Purpose
composer Music composition assistance
critic Musical analysis and feedback
theory Music theory explanation
technique Guitar technique guidance
tab Tablature generation
grammar-governor Probabilistic grammar management
compound-researcher Multi-step research tasks
codebase-documenter Code documentation generation
fsharp-architect F# architecture guidance (cross-repo with tars)

MCP Integration

GA exposes music theory capabilities via MCP for use by Claude Code, ix, and tars. The .mcp.json configures the server federation.