vibe-trace: Cursor rule for Cursor

.cursorrules

cursorrules is a cursor rule for Cursor from zpeakj/vibe-trace. It costs 1,197 tokens per session, scanned A, original, MIT.

A set of rules for recording coding-agent conversations in VibeTrace, a VS Code extension that shows a timeline of a project's agent-assisted work. Each substantive response or code change must produce a metadata record.

In plain words
What is it for?
Use it to create session identifiers, choose the correct module from .vibe/MODULE_DICT.md, and record metadata after substantive answers or code changes.
Why use it?
It preserves a searchable history of what happened during agent sessions and groups each turn under a consistent session and project module. The rules also require checking the project's module dictionary before classifying work.

Cursor rule for Cursor

Written for Cursor: installed under .cursor/.

This is zpeakj/vibe-trace's own configuration. It tells Cursor how to work on vibe-trace itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything vibe-trace configures →

Reuse

Borrowing it

Nothing to install: this file belongs to zpeakj/vibe-trace. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/zpeakj/vibe-trace/main/.cursorrules
Clone the repo
git clone --depth 1 https://github.com/zpeakj/vibe-trace

Made for: Cursor.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for cursorrules

README.md
[![agentmods](https://agentmods.dev/badge/rules/zpeakj/vibe-trace/cursorrules/github.svg)](https://agentmods.dev/rules/zpeakj/vibe-trace/cursorrules)
Your own site
<a href="https://agentmods.dev/rules/zpeakj/vibe-trace/cursorrules"><img src="https://agentmods.dev/badge/rules/zpeakj/vibe-trace/cursorrules/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for cursorrules

Your own site · 80×15
<a href="https://agentmods.dev/rules/zpeakj/vibe-trace/cursorrules"><img src="https://agentmods.dev/badge/rules/zpeakj/vibe-trace/cursorrules.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,197 This file is loaded in full into every session.
When invoked 1,197 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.01197 $0.01197
Opus 5.5 $0.00479 $0.00479
Sonnet 5.5 $0.00239 $0.00239
Haiku 4.5 $0.00120 $0.00120

Measured 2mo ago against content hash bc813adf7218, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

cursorrules 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 2mo 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.

.cursorrules · 112 lines

How it starts

The opening of the file, as written. The whole thing — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.

VibeTrace — Automatic Conversation Recording xxxxxx、

You are an agent in a VibeTrace-enabled project. At the end of every response where you made code changes or provided a substantive answer, you MUST generate a metadata record of this conversation turn.

This metadata powers the VibeTrace VS Code extension, which gives the user a visual timeline of their entire project's vibe-coding journey.


1. Determine Session ID

The session_id identifies which agent window this conversation belongs to. It should be human-readable so the user can recognize it in the VibeTrace sidebar.

  • First turn in this window: Create a session_id from the user's first request — a short CamelCase topic + 3 random lowercase letters. Example: user asks "add login page" → LoginPage-k7m.
  • Subsequent turns: Reuse the session_id from earlier in this conversation. Do not change it.

2. Determine Module

The module field classifies which business feature this turn belongs to.

  • BEFORE assigning a module, you MUST read the file .vibe/MODULE_DICT.md using the Read File tool.
  • If the current work matches an existing module in the dictionary, use that EXACT name (case-sensitive).
  • If NO existing module matches, you may create a new one.
    • New module names should be short CamelCase (e.g., UserProfile, PaymentGateway, DashboardUI).
    • Do NOT create variants of existing modules (e.g., if Auth exists, do NOT create Authentication or auth).

3. Generate the Metadata JSON

After completing the user's request, create a JSON file with the following structure:

{
  "id": "<YYYYMMDD>-<session_id>-<3randomchars>",
  "session_id": "<ShortTopic>-<3chars>, e.g. WechatQrLogin-a3f",
  "module": "<your determined module name>",

  "original_prompt": "<the user's raw prompt, copied verbatim>",
  "intent": "<1-sentence condensation of what the USER asked for>",
  "summary": "<1-sentence summary of what YOU did to fulfill it>",

  "impactFiles": [
    {
      "path": "relative/path/to/file.ts",
      "action": "create | modify | delete | read",
      "description": "<one-line description of what changed and why>"
    }
  ],

  "unresolved_issues": "<optional — things left undone, config needed, follow-up required>"
}

Read the full file on GitHub · 112 lines

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. 2mo ago First seen · 112 lines · 1,197 tokens per session scan A bc813adf7218

Subscribe to this mod's changes

cursorrules is a cursor rule published in the GitHub repository zpeakj/vibe-trace (5 stars, last pushed 5mo ago), licensed MIT. It adds 1,197 tokens to every session, about $0.0048 per session on Opus 5.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.

Related

cursorrules compared with cursor rules from other repositories

cursorrules next to 6 cursor rules from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
cursorruleszpeakj/vibe-traceCursor rule55mo agoMITA1,197Cursor
ponytailDietrichGebert/ponytailCursor rule185k8d agoMITA604Cursor
angular-20angular/angularCursor rule101kyesterdayMITA0Cursor
dev-standardapache/supersetCursor rule75ktodayApache-2.0A1,147Cursor
prefer-assertions-over-defensive-checksprisma/ormCursor rule48kyesterdayApache-2.0A0Cursor
prefer-direct-imports-over-module-mocksprisma/ormCursor rule48kyesterdayApache-2.0A0Cursor
shared-plane-packagesprisma/ormCursor rule48kyesterdayApache-2.0A0Cursor