Developer Internals
Technical documentation for Rust developers contributing to GAT
Architecture
- Data Flow & Design — How data moves through GAT, from input to solution
- CLI Architecture — Command hierarchy and module structure
- Solver Architecture — Native solver plugin system, subprocess IPC, vendored builds
- Crate Layout — Workspace organization
Crates
GAT is organized as a Cargo workspace with focused crates:
| Crate | Purpose |
|---|---|
gat-core | Network graph, data structures, base types |
gat-algo | Solvers: power flow, OPF, state estimation |
gat-io | File I/O: MATPOWER, PSS/E, CIM |
gat-cli | Command-line interface |
gat-dist | Distribution system analysis |
gat-adms | ADMS domain features |
gat-derms | DERMS domain features |
gat-scenarios | Scenario management and batch runs |
Contributing
- Contributing Guide — How to contribute
- CI/CD Pipeline — Build, test, and release process
- Documentation Workflow — How docs are built
API Reference
Rustdoc API documentation:
- Run
cargo doc --openlocally for the latest - docs.rs will be available when published to crates.io
For Integrators
- MCP Server — Using GAT with AI agents
- Feature Matrix — Cargo features and targets
- Packaging — Building releases
MCP Server Setup
MCP onboarding for GAT
CI/CD Workflows
CI/CD Workflows
Feature Matrix
gat-cli Feature Matrix and Distribution Builds
Data Flow & Design
How data moves through GAT, from input to solution
CLI Architecture
CLI Architecture
TUI Reference
`gat-tui` architecture, panel registry, and analytics tabs
Scaling Guide
Scaling roadmap
Solver Benchmarks
Complete PGLib-OPF validation results for GAT's SOCP solver
Solver Architecture
How GAT's native solver plugin system works
Packaging & Installation
Building release packages and installing GAT with modular components
Documentation Workflow
Documentation updates and issue tracking workflow
GUI Dashboard
Native desktop application for interactive grid analysis