# AGENTS.md — Balinyaar Guidance for AI coding agents working in this repository. Read this first, then the project-specific `AGENTS.md` for whichever side you are editing. ## What this repository is Balinyaar is a full-stack application split into two independent projects: | Path | Project | Stack | Detail | | -------------------------- | -------------- | ----------------------------------------------------------- | ------------------------------- | | [`client/`](client/) | Web frontend | Next.js (App Router), React, TypeScript, Material UI (MUI) | [client/AGENTS.md](client/AGENTS.md) | | [`server/`](server/) | Backend API | ASP.NET Core (.NET 10), Clean Architecture, CQRS, EF Core | [server/AGENTS.md](server/AGENTS.md) | The two communicate over HTTP/JSON (and optionally gRPC). The client reads the API base URL from `NEXT_PUBLIC_API_URL`; the server runs on `https://localhost:5002` by default. There is **no root-level build** — each project is built and run on its own. `client/` and `server/` are not part of the same package/solution. ## Working agreements - **Stay within one project per change** unless the task explicitly spans both. A frontend change rarely needs server files and vice-versa. - **Match the surrounding style.** Each project has its own conventions (see its `AGENTS.md`). Mirror the existing patterns rather than introducing new ones. - **Run the project's own checks** before declaring work done: - client: `npm run lint` and `npm run type` (and `npm run test:ci` if tests are touched) - server: `dotnet build` and `dotnet test` - **Do not reintroduce template/starter scaffolding.** This repo was derived from two open-source starters; their branding, demo/showcase pages, NuGet template packaging, and `_TITLE_`/`_DESCRIPTION_` placeholders have been intentionally removed. Don't add them back. - **Secrets**: never commit real connection strings, keys, or tokens. Use `.env` (client) and `appsettings.*.json` / user-secrets (server). ## Quick start ```bash # Frontend cd client && npm install && npm run dev # http://localhost:3000 # Backend cd server && dotnet run --project src/API/CleanArc.Web.Api/CleanArc.Web.Api.csproj # https://localhost:5002/swagger ``` ## Naming note The server's C# namespaces and solution file still use the `CleanArc*` prefix (e.g. `CleanArc.Web.Api`, `CleanArcTemplate.sln`). This is the internal project naming and is **not** template branding — do not mass-rename it unless explicitly asked, as it touches every file, the `.sln`, and EF migrations.