agentleFS
krivooxkrivoox/agent-stack-template/.cursor/rules/project.mdc

agent-stack-template / rules

Cursor rule31 starsChanged 3 months agoMITView on GitHub

Product, stack and layer contract. Always applies.

  • Reads credentials

The file

We split this project.mdc into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If a feature spec is Draft, do not write product code.

    line 22
  2. Distinctive:

    When they conflict, this order wins.

    line 27
  3. Distinctive:

    If a spec lacks the detail you need, update the spec before writing code.

    line 35
  4. Very specific:

    Every business row carries workspaceId.

    line 61
  5. Distinctive:

    Commit only when the user asks.

    line 64

≈ “Common” is an estimate: at least 1 in 5 of the 6,668 Cursor rule files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
project.mdc
---
description: Product, stack and layer contract. Always applies.
alwaysApply: true
---

# Project contract

Full guide: `AGENTS.md`. This rule is the always-loaded summary; do not
duplicate detail here, point to the document that owns it.

## Work type

Classify first (`AGENTS.md` → "Every turn"). Open **that** guide only.

- New behaviour **with** a domain rule → spec **Accepted** or **Shipped**, then `docs/guides/new-feature.md`
- New behaviour **without** a domain rule → same guide; skip tests and `domain/`. Do not invent a function to TDD
- Wrong current behaviour → `docs/guides/bugfix.md`
- Same behaviour, new shape → `docs/guides/refactor.md`
- Tooling / deps / CI / docs-only → `docs/guides/chore.md`
- Problem without a spec → `product-manager`, no product code

If a feature spec is Draft, do not write product code. TDD applies only when
the change adds or breaks a domain rule — `AGENTS.md` → "Definition of Done".

## Sources of truth

When they conflict, this order wins. Open a file only if this turn needs it.

1. `docs/specs/<feature>.md` — business rules. Never invent one.
2. `docs/architecture.md` — when a layer, auth, data or performance boundary moves
3. `docs/stack.md` — when adding or substituting a dependency
4. `docs/adr/` — accepted decisions, when that decision is in play
5. `DESIGN.md` — UI only

If a spec lacks the detail you need, update the spec before writing code.

## Stack (do not substitute without an ADR)

Next.js App Router · React · TypeScript strict · Better Auth · Prisma +
PostgreSQL · Zod + React Hook Form · TanStack Query · Zustand (UI state only) ·
Tailwind + shadcn/ui · Vitest.

Next.js in this repo may differ from your training data. Check
`node_modules/next/dist/docs/` before using an API you are unsure about.

## Layers

New behaviour **with** a domain rule (not every turn):
`spec → domain tests → domain → services → actions → UI`

- `src/domain/**`, `src/features/*/domain/**` — pure. No Next, React, Prisma or
  ambient clock.
- `src/features/*/services/**` — the only place Prisma is called.
- `src/features/*/actions/**` — `defineAction` / `defineWorkspaceAction` only.
- `src/app/**` — thin routes: compose, do not compute.
- `src/lib/env.ts` — the only reader of `process.env`.

## Hard rules

- Business logic in `domain/`, never in a component, action or service.
- Every business row carries `workspaceId`; every query filters by it.
- Server Actions are public endpoints: authenticate and authorise inside them.
- Semantic Tailwind tokens only; mobile-first.
- Commit only when the user asks.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.