Getting Started - GuitarAlchemist/ga GitHub Wiki
Getting Started
Prerequisites
- .NET 10 SDK -- download
- Node.js 18+ -- for React frontend
- MongoDB -- for data persistence (or use Aspire orchestration)
- Git with submodule support
Clone
git clone --recurse-submodules https://github.com/GuitarAlchemist/ga.git
cd ga
If you already cloned without submodules:
git submodule update --init --recursive
Setup
# One-time setup (prereqs, NuGet, npm, build)
pwsh Scripts/setup-dev-environment.ps1
# Install pre-commit hooks (format + build enforcement)
pwsh Scripts/install-git-hooks.ps1
Build
# Full solution
dotnet build AllProjects.slnx -c Debug
Test
# Full test suite
dotnet test AllProjects.slnx
# Backend only (faster)
pwsh Scripts/run-all-tests.ps1 -BackendOnly -SkipBuild
# Playwright E2E
pwsh Scripts/run-all-tests.ps1 -PlaywrightOnly
# Single test
dotnet test --filter "FullyQualifiedName~GrothendieckServiceTests"
Run
# Start everything via Aspire (MongoDB, API, Chatbot, dashboards)
pwsh Scripts/start-all.ps1 -Dashboard
# Daily restart without rebuild
pwsh Scripts/start-all.ps1 -NoBuild -Dashboard
Frontend Development
cd ReactComponents/ga-react-components
npm ci
npm run dev # Development server
npm run build # Production build
Code Quality
# Format (pre-commit hook enforces this)
dotnet format AllProjects.slnx
# Verify without changes (CI uses this)
dotnet format AllProjects.slnx --verify-no-changes
Contributing
- All contributions are governed by the Demerzel framework
- Run
dotnet formatbefore committing (pre-commit hook enforces this) - All agents must comply with the 11-article operational constitution
- New agents require governance review and persona definitions