A dog-dating/adoption platform: swipe-to-match between dog owners, plus shelter-run adoption listings and applications. Built with an event-modeling discipline (state-change / state-view / automation slices) end to end, from design docs through codegen to the running .NET backend.
-
code/K9Crush-scaffold/K9Crush/— the actual product: a .NET modular monolith (vertical slice architecture, Marten + Wolverine on PostgreSQL/RabbitMQ, Redis) with a Blazor Web App frontend, YARP gateway, and Supabase Cloud for identity/Postgres/storage. Start with its ownREADME.mdandGETTING_STARTED.mdto build and run it, anddocs/05-event-modeling-blueprint.mdbefore adding a new slice. -
Design docs —
HLD/,Solution Arch/,Project Plan/,Infra/,Spec/(the board's fullK9CRUSH.emlang.yamlexport), andeventmodeling/(the blueprint doc plusFeatures/features.md). These are the source of truth the slices are built from — the codegen skills (below) are told to invent nothing that isn't in them.
Slices are designed on an eventmodelers.ai board, then turned into code by Claude Code using:
.claude/skills/— the actual codegen skills (connect,load-slice,update-slice-status,learn-eventmodelers-api,build-state-change,build-state-view,build-automation). Live at the repo root so any Claude Code session anywhere in the repo can use them.build-kit-dotnet/— the supporting Ralph loop + board-sync tooling that drives those skills againstcode/K9Crush-scaffold/K9Crush/. See its ownREADME.mdfor how to run it.build-kit/— the original Node/Express scaffold that eventmodelers.ai's code-export tool generates, kept only as an unmodified reference (K9Crush isn't built on this stack). See its ownREADME.md..eventmodelers/config.json— board credentials (id, token, org, base URL), gitignored; set up interactively via theconnectskill if missing.
- This repo pushes
devonly —mainis synced deliberately, not as a side effect of finishing a slice.