Multi Tenant Fullstack Crud Skill banner
DevN-gr DevN-gr

Multi Tenant Fullstack Crud Skill

Security community

Description

A full-stack CRUD Agent Skill for building production-ready multi-tenant web apps with role-based access, audit trails, Express, Sequelize, vanilla JS, MySQL, Docker, shared rules and end-to-end tests. Simple, opinionated architecture for Claude Code and compatible AI coding agents.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Multi-Tenant Full-Stack CRUD Skill

![Agent Skill](https://img.shields.io/badge/Agent-Skill-8A5CF6) ![Claude Code](https://img.shields.io/badge/Claude-Code-8A5CF6) ![License: MIT](https://img.shields.io/badge/license-MIT-blue)

A **multi-tenant full-stack CRUD Agent Skill** for Claude Code that teaches an opinionated, production-oriented architecture for building **role-scoped, audited business web apps** with **Express, Sequelize, MySQL, vanilla JavaScript, Docker and Traefik**.

Use it to start a full-stack CRUD application or extend an existing one with models, controllers, routes, views, authorization rules, audit trails, tests and deployment configuration.

The architecture deliberately trades framework features for a surface small enough that one person can hold all of it: **no frontend framework, no build step, no migrations, no hand-written CRUD and no action routes**.

A generic `crudThat` factory serves almost every resource. What an operation *means* belongs in the model's controller hooks rather than in additional endpoints. Authorization is enforced through tenant and role scopes rather than UI state, and the browser and server run the same domain-rules module so each rule has one implementation with enforcement on both sides of the API boundary.

The repository includes `samples/`, a runnable reference implementation of the complete stack: frontend, backend, shared rules, authentication, role-based access, auditing, MySQL deployment and three levels of automated testing.

Its annotated files document not just what the architecture does, but why particular decisions exist. Many of those decisions came from bugs that were paid for once already.

What this skill teaches Claude to do differently

  • **Adds a hook, not a route.** `POST /tasks/:id/cancel` creates a second authorization surface and it is the one that gets forgotten, so cancelling is a `PUT` told apart by what the body carries.

  • **Puts access control in `extraFilters`.** It is a `where`