architecture

A set of project rules for a TypeScript application that standardises testing, imports, type checking, build limits, and architecture. It requires Jest for tests and prohibits mixing certain source and built-file import styles.

In plain words
What is it for?
Use it as guidance when writing or reviewing TypeScript source files, tests, builds, and architectural changes.
Why use it?
It prevents inconsistent test setup and import paths that can cause build or type-checking failures. It also records project limits for startup time, memory, and bundle size.

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/sethdford/flowx/architecture
Clone the repo
git clone --depth 1 https://github.com/sethdford/flowx

Made for: Cursor.

Per session 0 Nothing until a file matches its globs; then the whole rule loads.
When invoked 1,950 The whole file, excluding the scripts and references it only reads on demand.
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.00000 $0.01950
Opus 5 $0.00000 $0.00975
Sonnet 5 $0.00000 $0.00390
Haiku 4.5 $0.00000 $0.00195

Measured yesterday against content hash 5452f7acea4f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

architecture 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 yesterday.

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/architecture.mdc · 198 lines

How it starts

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

VibeX Cursor Rules - Architectural Enforcement

CRITICAL: Testing Framework Rules

  • NEVER use vitest imports - We use Jest exclusively
  • ALWAYS import from Jest: import { describe, test, expect, beforeEach, afterEach, jest } from '@jest/globals'
  • NEVER import from 'vitest' - This causes build failures
  • Test file imports MUST use .ts/.tsx extensions - Never import from .js files that don't exist
  • Jest mocks MUST be properly typed - Use jest.Mock<ReturnType, Args[]> format

Import Path Rules

  • Source files: Import from .ts/.tsx files in development
  • Built files: Only reference .js files when importing from dist/
  • Test files: Always import from TypeScript source files (.ts/.tsx)
  • NEVER mix .js and .ts imports in the same file

TypeScript Configuration

  • Source code: Must compile with zero TypeScript errors
  • Tests: Excluded from main TypeScript compilation to prevent blocking builds
  • Build process: Must complete under 50ms for startup performance

Architecture Enforcement

  • Performance First: <50ms startup, <40MB runtime, <5MB bundle
  • Type Safety: Zero any types, no @ts-ignore suppressions
  • Modular Design: Files <300 lines, functions <30 lines
  • Error Handling: Custom UserError with category/resolution/details
  • No Console Pollution: Use structured logger, never console.log

Testing Standards

  • Framework: Jest only (configured in jest.config.js)
  • Environment: jsdom for React components
  • Coverage: Minimum 10% global, aiming for 90%+
  • Mock Strategy: Proper Jest mocks with explicit typing
  • Test Structure: Describe/test blocks with clear naming

File Organization

  • Source: src/**/*.ts and src/**/*.tsx
  • Tests: tests/**/*.test.ts and tests/**/*.test.tsx
  • Built: dist/**/*.js (generated, never edit)
  • Demos: Use tsx to run TypeScript directly

Quality Gates

  • Pre-commit: npm run typecheck && npm run lint && npm run build
  • TypeScript: Zero errors in src/ directory
  • Linting: Address critical errors, defer style issues
  • Build: Must succeed and produce working CLI

Read the full file on GitHub · 198 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. yesterday First seen · 198 lines · 0 tokens per session scan A 5452f7acea4f

Subscribe to this mod's changes

architecture is a cursor rule published in the GitHub repository sethdford/flowx (2 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,950 tokens. 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.