Build and modify the Olevin .NET 10 API (`server/`: ASP.NET Core + Wolverine HTTP + EF Core/PostgreSQL + FluentValidation + Logto JWT) so every endpoint, entity, validator and config stays consistent with the API contract, data, auth, and code-style…
Enforce the vertical-slice layout of the Olevin .NET API (`server/`) — `Features/` own their endpoints, data and logic; code used by several features goes to `Shared/`; technical wiring lives in `Infrastructure/`; features never reach into each other except…
Pick the right dependency and use existing ones correctly in the Olevin Next.js web app (`web-app/`), which keeps a small, deliberate set of runtime deps (Next, React, Logto, conform, React Aria, Phosphor icons, Zod, Zustand). Use this skill before running…
Pick the right NuGet package and use existing ones correctly in the Olevin .NET API (`server/`), which keeps a deliberate set of dependencies (Wolverine, EF Core + Npgsql, FluentValidation, JWT bearer, Serilog, OpenTelemetry, Scalar, DotNetEnv; xUnit v3 for…
Enforce Feature-Sliced Design (FSD) layer rules — downward-only imports, barrel-only cross-slice access, and strict `index.ts` placement — in the Olevin Next.js web app (`web-app/`). Use this skill the moment any of these questions arise: "Where does this new…
Read, write, and keep up-to-date lightweight per-feature specs (markdown files colocated inside each `src/features/<slice>/` directory) for the Olevin Next.js web app (`web-app/`). Always use this skill before touching any existing feature — check whether a…
Keep code comments in the Olevin web app (`web-app/`) short and plain. Use this skill whenever writing or editing a JSDoc comment (`/** … */`) or an inline `//` comment, adding a new component, helper, constant, route, Server Action or i18n file, or reviewing…
Read, write, and keep up-to-date lightweight per-feature specs (markdown files colocated inside each `Olevin.Api/Features/<Feature>/` directory) for the Olevin .NET API (`server/`). Always use this skill before touching any existing feature — check whether a…