For AI-native developers / CLAUDE CODE

A SaaS boilerplate
Claude Code can work inside

CLAUDE.md tells Claude Code the rules. Hooks, ESLint and CI make it keep them. Here is exactly which files useDeploy ships for each, and where the guarantee stops.

How Claude Code loads your rules

Per the official memory docs (https://code.claude.com/docs/en/memory), Claude Code reads CLAUDE.md at the start of every session, from ./CLAUDE.md or ./.claude/CLAUDE.md, and it can also read a repository's AGENTS.md in place of CLAUDE.md. The same page is explicit about the limit: Claude treats CLAUDE.md as context, not enforced configuration, and to block an action regardless of what Claude decides you use a PreToolUse hook. Rules in a file are a request. Enforcement lives in hooks, lint and CI.

What useDeploy ships today, file by file

File in the repoWhat it doesWho enforces it
CLAUDE.mdLong-form operating manual: DDD layering, contracts, API regeneration, docs rules, design system.Context only. Claude Code reads it at session start.
AGENTS.mdShort architecture rules: layers, contracts, "done means green". Any agent that reads AGENTS.md gets them.Context the agent reads. The rules it states are backed by the ESLint layer rules.
.claude/settings.jsonRegisters the two Claude Code hooks (PostToolUse and Stop).Claude Code only.
.claude/hooks/lint-edited-file.mjsPostToolUse hook: lints each file the agent just edited and sends the ESLint report back in the same turn.Claude Code only. It reports after the edit; it does not block it.
.claude/hooks/verify-before-stop.mjsStop hook: when the agent tries to finish and bun run guardrails fails, it sends the agent back once with the failure.Claude Code only. One forced retry, not a guarantee.
packages/eslint-config/ddd.jsESLint layer rules: domain and application cannot import express, Prisma or BetterAuth; contexts talk through types.Any tool, any editor. This is the part the agent cannot talk its way past.
.github/workflows/ci.ymlLint and typecheck jobs run on every pull request (the test job too).Any tool. This is the shared gate.

What useDeploy does not ship for Claude Code

No PreToolUse hook: nothing stops an edit before it happens. The lint hook reports right after the edit and the Stop hook forces a single retry, so a failure the agent cannot fix gets through to CI, which is the real gate. We do not ship a project-level skills library for the SaaS itself either (the .claude folder holds the hooks, a code-smell subagent and a few WhatsApp integration skills). If you want a PreToolUse block, the kit is the place to extend.

Honest comparison: others ship agent files too

useDeploy is our product, so weigh this accordingly. MakerKit, supastarter, Nextbase, ShipAny and Indie Kit also ship an AGENTS.md, rules files or agent skills for AI tools, and AnotherWrapper sells a blocking-hook harness ("Hooks, not instructions"). What useDeploy adds on top of AGENTS.md is the combination of ESLint layer rules, Claude Code hooks and a CI gate in the same repo. It is not the only kit with agent files, and a rules file alone, ours or anyone's, is only a request.

The open-source kit and the guides

Take the guardrails without the boilerplate

The hooks and settings are published as an MIT kit: https://github.com/KonixDev/claude-code-guardrails. Drop it into any repo with an ESLint config and a guardrails script.

Write the files yourself

Guides: /blog/claude-md-file-example-saas (CLAUDE.md), /blog/claude-code-hooks-enforce-architecture (hooks), /blog/cursor-rules-nextjs-typescript (Cursor rules), /blog/claude-code-skills-subagents-architecture-review (skills and subagents).

Compare the kits

Roundup by use case, with the cases where another kit fits better.

FAQ

Does Claude Code need CLAUDE.md or can it use AGENTS.md?+
Claude Code can read AGENTS.md as project instructions when the repo has no CLAUDE.md (docs: https://code.claude.com/docs/en/memory). useDeploy ships both: CLAUDE.md as the long-form manual and AGENTS.md as the short rules other tools read.
Do the hooks guarantee the agent cannot break the architecture?+
No. The lint hook reports a violation right after the edit and the Stop hook sends the agent back once when bun run guardrails fails. The ESLint rules and the CI jobs are what actually stop a bad change from merging.
How much does useDeploy cost?+
Founder $99 or Lifetime $199, one-time payment, full source, 14-day refund. You can create a free account (sign up to explore the dashboard) before buying.
useDeploy at a glance
PriceFounder $99 or Lifetime $199, one-time payment (no subscription)
LicenseFull source, commercial use, unlimited projects. Founder is a frozen snapshot; Lifetime includes every future release.
StackNext.js frontend, Express API, Bun runtime, Prisma, BetterAuth
AuthBetterAuth: sessions, 2FA, magic links, password reset
Multi-tenancy and RBACOrganizations with members, invitations, roles and permissions
PaymentsPolar: full billing (checkout, customer portal, webhooks, plan sync). MercadoPago: Checkout Pro one-time payments with signed webhooks; subscriptions are not supported yet. Stripe: adapter scaffold, not charging yet.
Guardrails for AI agentsESLint-enforced architecture layers, Claude Code hooks and an AGENTS.md
Refund14 days
Try it: free accountSign up free and explore the dashboard: organizations, roles, billing, audit log. You buy the license from inside. https://usedeploy.dev/register
DocsDocumentation in English, with Spanish and Portuguese translations of the main guides

Rules the agent reads, walls it cannot cross.

Start from a base where the architecture is enforced by lint and CI, and the agent files are already written.