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.