my-project-rules

A project-specific instruction set for a React and Vite application using Convex, Mantine, and Bun. It records the project's preferred development commands and coding patterns.

In plain words
What is it for?
Use it when changing this project's React interface, Convex data handling, Mantine styling, event handlers, tests, or type checks.
Why use it?
It gives an AI coding agent the local rules it needs to avoid starting services unnecessarily, using the wrong package manager, or breaking the project's style.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/mikecann/effect-sim/my-project-rules
Clone the repo
git clone --depth 1 https://github.com/mikecann/effect-sim

Made for: Cursor.

Per session 356 This file is loaded in full into every session.
When invoked 356 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00356 $0.00356
Opus 5 $0.00178 $0.00178
Sonnet 5 $0.00071 $0.00071
Haiku 4.5 $0.00036 $0.00036

Measured 2d ago against content hash 4a93e3f148ab, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

my-project-rules scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/my-project-rules.mdc · 24 lines

What it actually says

General Guidelines

Some things you should always know about this project:

  • This is a Convex project, all data is managed on the server by convex
  • This is a React and Vite project, we should follow clean sensible best practices
  • I will be keeping BOTH the convex dev server and the vite server running at all times, YOU DO NOT need to run these yourself, you should assume they are always running
  • We are using Mantine for the styling, we should always use Mantine best practices
  • This project uses Bun for its package management. You should use that unless you encounter errors or otherwise instructed to use npm
  • To run tests you should use "bun run test" NOT "bun test"
  • If you want to typecheck this project run "bun run typecheck"
  • You should NEVER "npm build"

User Preferences

  • I prefer to have event handlers at the lowest level possible rather than prop drilling callbacks up through multiple component layers. Keep the logic close to where it's used.
  • I strongly prefer to inline event handlers directly in JSX rather than extracting them to separate functions. Use inline arrow functions for onClick, onChange, etc. unless the logic is complex or reused multiple times. This makes the code more direct and easier to read.
  • Avoid unnecessary props that are never customized by parent components. If a prop always has the same value, make it a constant or hardcode it. Use shared constants in /shared/constants.ts for values that need to be consistent between frontend and backend.
  • When breaking a large component into multiple related sub-components (like photo uploading/display functionality), organize them into a dedicated subfolder to keep related components together and make the codebase more maintainable.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 24 lines · 356 tokens per session scan A 4a93e3f148ab

Subscribe to this mod's changes

my-project-rules is a cursor rule published in the GitHub repository mikecann/effect-sim (10 stars, last pushed 7mo ago), licensed Apache-2.0. It adds 356 tokens to every session, about $0.0018 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.