Installation
Clone the Repository
git clone https://github.com/destacey/Wayd.git
cd Wayd
Enable the Git Hooks
Once per clone:
git config core.hooksPath .githooks
pre-commitwarns when a change to anAGENTS.mdleaves the guidance an agent loads for a directory larger than Codex reads (32 KiB).commit-msgwarns about a commit message that breaks the convention, without blocking it.pre-pushrefuses a branch whose name breaks that convention, and a push that changes the@wayd/mcppackage without a changeset, the same check CI runs on the pull request. See MCP Server.
Build the Backend
dotnet build Wayd.slnx
Install Frontend Dependencies
cd Wayd.Web/src/wayd.web.reactclient
npm install
Set Up the Database
Wayd uses SQL Server. The default configuration points at the mssql service in docker-compose.yml, which works on Windows, Linux and macOS. A full SQL Server instance also works, as does LocalDB on Windows - see Prerequisites.
Apply Migrations
The API applies pending migrations on startup, so this step is optional. To apply them without starting the API, run from the repository root (after dotnet tool restore):
dotnet ef database update \
--project "Wayd.Infrastructure/src/Wayd.Infrastructure.Migrators.MSSQL" \
--startup-project "Wayd.Web/src/Wayd.Web.Api"
Run the Application
Option 1: .NET Aspire (Recommended)
cd Wayd.AppHost
dotnet run
The Aspire dashboard opens at https://localhost:17153 (http://localhost:15206 with the http launch profile) for telemetry, logs, and service URLs. The client is at http://localhost:3000. See Local Development.
Option 2: Run Services Individually
# Terminal 1 - API
cd Wayd.Web/src/Wayd.Web.Api
dotnet run
# Terminal 2 - Frontend
cd Wayd.Web/src/wayd.web.reactclient
npm run dev
Option 3: Docker Compose
docker compose up
Access points:
- API:
https://localhost:5001(http://localhost:5000) - Client:
http://localhost:5002 - Seq (logs):
http://localhost:8081 - SQL Server:
localhost:1433(MSSQL_PORTin.env)
The API container mounts your user secrets and HTTPS development certificate from the host; their paths differ per OS, so copy .env.example to .env and set USER_SECRETS_DIR and HTTPS_CERT_DIR as it describes. Changing an environment variable needs docker compose down and up, not a restart.
First-Run Setup
On first boot with an empty database, Wayd prints a one-time bootstrap token to the log. Navigate to /setup in your browser and use the token to create the first administrator account.
See First-Run Setup for the full walkthrough.