{"schemaVersion":1,"rulesetVersion":4,"packs":[{"id":"aspnet-web-api","title":"ASP.NET Core web API","description":"Minimal APIs on .NET 10 with EF Core and PostgreSQL: endpoints, errors, data, authorization and tests.","tags":[".NET","ASP.NET Core","EF Core","PostgreSQL"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":false,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#aspnet-web-api","init":"aibysitter init --packs aspnet-web-api --format claude","sections":[{"id":"commands","heading":"Commands","score":100,"grade":"A"},{"id":"endpoints","heading":"Endpoints","score":100,"grade":"A"},{"id":"errors","heading":"Errors","score":100,"grade":"A"},{"id":"data","heading":"Data","score":100,"grade":"A"},{"id":"authorization","heading":"Authorization","score":100,"grade":"A"},{"id":"tests","heading":"Tests","score":100,"grade":"A"},{"id":"pull-requests","heading":"Pull requests","score":100,"grade":"A"}]},{"id":"dotnet-razor-pages","title":"ASP.NET Core Razor Pages","description":"Razor Pages on .NET 10 with EF Core and SQL Server: layout, pages, data access, logging and tests.","tags":[".NET","ASP.NET Core","Razor Pages","EF Core","SQL Server"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":false,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#dotnet-razor-pages","init":"aibysitter init --packs dotnet-razor-pages --format claude","sections":[{"id":"layout","heading":"Layout","score":100,"grade":"A"},{"id":"commands","heading":"Commands","score":100,"grade":"A"},{"id":"pages","heading":"Pages","score":100,"grade":"A"},{"id":"data-access","heading":"Data access","score":100,"grade":"A"},{"id":"logging","heading":"Logging","score":100,"grade":"A"},{"id":"tests","heading":"Tests","score":100,"grade":"A"},{"id":"done","heading":"Done","score":100,"grade":"A"}]},{"id":"go-http-service","title":"Go HTTP service","description":"Go service on net/http with PostgreSQL through pgx and sqlc: layout, handlers, errors, logging and tests.","tags":["Go","PostgreSQL","sqlc"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":false,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#go-http-service","init":"aibysitter init --packs go-http-service --format claude","sections":[{"id":"commands","heading":"Commands","score":100,"grade":"A"},{"id":"layout","heading":"Layout","score":100,"grade":"A"},{"id":"handlers","heading":"Handlers","score":100,"grade":"A"},{"id":"errors-and-context","heading":"Errors and context","score":100,"grade":"A"},{"id":"logging","heading":"Logging","score":100,"grade":"A"},{"id":"tests","heading":"Tests","score":100,"grade":"A"},{"id":"dependencies","heading":"Dependencies","score":100,"grade":"A"}]},{"id":"monorepo","title":"pnpm and Turborepo monorepo","description":"Root rules for a pnpm workspaces and Turborepo monorepo: commands, workspace, scope, versioning and pull requests.","tags":["TypeScript","pnpm","Turborepo","Monorepo"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":false,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#monorepo","init":"aibysitter init --packs monorepo --format claude","sections":[{"id":"commands-from-the-repo-root","heading":"Commands (from the repo root)","score":100,"grade":"A"},{"id":"workspace","heading":"Workspace","score":100,"grade":"A"},{"id":"scope","heading":"Scope","score":100,"grade":"A"},{"id":"versioning","heading":"Versioning","score":100,"grade":"A"},{"id":"pull-requests","heading":"Pull requests","score":100,"grade":"A"}]},{"id":"nextjs-typescript","title":"Next.js with TypeScript","description":"Next.js App Router, strict TypeScript and Tailwind CSS with pnpm: structure, TypeScript, styling, server code and tests.","tags":["TypeScript","Next.js","React","Tailwind CSS","pnpm"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":false,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#nextjs-typescript","init":"aibysitter init --packs nextjs-typescript --format claude","sections":[{"id":"commands","heading":"Commands","score":100,"grade":"A"},{"id":"structure","heading":"Structure","score":100,"grade":"A"},{"id":"typescript","heading":"TypeScript","score":100,"grade":"A"},{"id":"styling","heading":"Styling","score":100,"grade":"A"},{"id":"server-code","heading":"Server code","score":100,"grade":"A"},{"id":"tests","heading":"Tests","score":100,"grade":"A"},{"id":"before-opening-a-pr","heading":"Before opening a PR","score":100,"grade":"A"}]},{"id":"python-fastapi","title":"Python FastAPI service","description":"FastAPI with async SQLAlchemy, PostgreSQL and Alembic, run through uv: layout, API, money, code style and tests.","tags":["Python","FastAPI","SQLAlchemy","PostgreSQL","uv"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":false,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#python-fastapi","init":"aibysitter init --packs python-fastapi --format claude","sections":[{"id":"commands","heading":"Commands","score":100,"grade":"A"},{"id":"layout","heading":"Layout","score":100,"grade":"A"},{"id":"api","heading":"API","score":100,"grade":"A"},{"id":"money","heading":"Money","score":100,"grade":"A"},{"id":"code-style","heading":"Code style","score":100,"grade":"A"},{"id":"tests","heading":"Tests","score":100,"grade":"A"},{"id":"done","heading":"Done","score":100,"grade":"A"}]},{"id":"starter","title":"Starter","description":"Stack-neutral template: stack, commands, working rules and a definition of done, with bracketed parts to fill in.","tags":["Template","Any stack"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":true,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#starter","init":"aibysitter init --packs starter --format claude","sections":[{"id":"stack","heading":"Stack","score":100,"grade":"A"},{"id":"commands","heading":"Commands","score":100,"grade":"A"},{"id":"rules","heading":"Rules","score":100,"grade":"A"},{"id":"done","heading":"Done","score":100,"grade":"A"}]},{"id":"winforms-devexpress","title":"WinForms with DevExpress","description":"WinForms desktop app on .NET 10 with DevExpress controls: projects, forms, CSV export, settings and tests.","tags":[".NET","WinForms","DevExpress","Windows"],"targets":["ClaudeMd","AgentsMd","GeminiMd","CopilotInstructions","CursorMdc","CursorRules","WindsurfRules"],"license":"CC0-1.0","standalone":false,"score":100,"grade":"A","pageUrl":"https://aibysitting.net/Packs#winforms-devexpress","init":"aibysitter init --packs winforms-devexpress --format claude","sections":[{"id":"commands","heading":"Commands","score":100,"grade":"A"},{"id":"projects","heading":"Projects","score":100,"grade":"A"},{"id":"forms","heading":"Forms","score":100,"grade":"A"},{"id":"export-format","heading":"Export format","score":100,"grade":"A"},{"id":"settings","heading":"Settings","score":100,"grade":"A"},{"id":"devexpress","heading":"DevExpress","score":100,"grade":"A"},{"id":"tests","heading":"Tests","score":100,"grade":"A"}]}]}