MANOVIK System Rules: Steer Your AI Agent with a .manovikrules File
The fastest way to make an autonomous coding agent feel like a senior teammate is to hand it your team's playbook. In MANOVIK, that playbook is a .manovikrules file — a plain-text list of standards, patterns, and preferences the agent reads on every turn. Think of it as the sovereign, self-hosted answer to .cursorrules.
Why rules beat prompting
You could repeat "use TypeScript strict mode, prefer server functions, never import from src/pages" in every prompt. But rules encode the intent once, apply it everywhere, and survive context resets. Teams that adopt rules see three wins:
- Consistency — every generated file follows the same conventions.
- Efficiency — no re-explaining architecture on each task.
- Reviewability — the rules file is version-controlled and diff-able.
Creating your first .manovikrules file
Drop a .manovikrules file at the root of your repository. MANOVIK loads it automatically before every agent turn. Keep it short — under 200 lines is a good target — and phrase each rule as an imperative.
# .manovikrules
## Stack
- TanStack Start + React 19, Tailwind v4, Supabase.
- Prefer server functions (createServerFn) over API routes for app-internal logic.
## Style
- TypeScript strict, no `any`.
- Named exports only. No default exports.
- Tailwind semantic tokens (bg-background, text-foreground) — never bg-white.
## Architecture
- RLS enabled on every public table. Grants required.
- Roles live in public.user_roles, never on the profiles table.
## Don't
- Don't add src/pages/ — this is TanStack, routes go under src/routes/.
- Don't touch src/routeTree.gen.ts (auto-generated).
- Don't ship secrets to the client. process.env is server-only.What to put in rules (and what not to)
Rules shine for decisions the agent would otherwise re-litigate: the stack, naming conventions, folder layout, forbidden patterns, preferred libraries. Skip anything that changes per task — those belong in the prompt.
- ✅ "Use zod for input validation."
- ✅ "Never store JWTs in localStorage."
- ❌ "Build a pricing page." (task, not rule)
- ❌ "The button color is #3B82F6." (put it in the design system, not rules)
Scoped rules for monorepos
For large repos, place a .manovikrules at any subdirectory. MANOVIK merges the closest rules file with the root — nearer files win on conflict. This lets a packages/api workspace enforce different conventions than apps/web.
Rules vs. system prompt vs. memory
Three ways to steer MANOVIK, in order of persistence:
- System prompt — one-off, per conversation.
- Memory — cross-session facts about you or the project.
- .manovikrules — version-controlled team standards.
Migrating from .cursorrules
Already have a .cursorrules? Copy it to .manovikrules and delete anything Cursor-specific (IDE shortcuts, chat behavior). The vast majority of coding conventions transfer directly.
Try it
Open a project on MANOVIK, add a .manovikrules at the repo root, and watch the next agent turn honor it — with no extra prompting.