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.
npx agentmods add rules/squirrelogic/mcp-feature-discussion/file-organizationgit clone --depth 1 https://github.com/squirrelogic/mcp-feature-discussionWrote 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.
[](https://agentmods.dev/rules/squirrelogic/mcp-feature-discussion/file-organization)<a href="https://agentmods.dev/rules/squirrelogic/mcp-feature-discussion/file-organization"><img src="https://agentmods.dev/badge/rules/squirrelogic/mcp-feature-discussion/file-organization.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00950 | $0.00950 |
| Opus 5 | $0.00475 | $0.00475 |
| Sonnet 5 | $0.00190 | $0.00190 |
| Haiku 4.5 | $0.00095 | $0.00095 |
Grade A, and why
file-organization 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 5d 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.
This is a copy
100% identical to file-organization — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 162 lines — stays where its author put it; the contents beside it link to each section on GitHub.
File Organization
Guidelines for organizing code into files following single responsibility principle.
actions:
-
type: suggest message: | When organizing code into files, follow these rules:
-
Single Definition Per File:
- Each class should be in its own file
- Each standalone function should be in its own file
- Each complex type/interface (more than one line) should be in its own file Example:
// Bad: Multiple definitions in one file // user-types.ts interface UserCredentials { username: string; password: string; } interface UserProfile { id: string; name: string; email: string; } class UserService { // ... } // Good: Separate files for each definition // user-credentials.ts interface UserCredentials { username: string; password: string; } // user-profile.ts interface UserProfile { id: string; name: string; email: string; } // user-service.ts class UserService { // ... } -
File Naming Conventions:
- Use kebab-case for filenames
- Name files after their primary export
- Use suffixes to indicate type:
.interface.ts,.type.ts,.service.ts, etc. Example:
// Good file names: user-credentials.interface.ts user-profile.interface.ts user-service.ts create-user.function.ts -
Simple Type Exceptions:
- Single-line type aliases and interfaces can be co-located if they're tightly coupled Example:
// Acceptable in the same file: type UserId = string; type UserRole = 'admin' | 'user'; interface BasicUser { id: string; role: UserRole; } -
Barrel File Usage:
- Use index.ts files to re-export related components
- Keep barrel files simple - export only, no implementations Example:
// users/index.ts export * from './user-credentials.interface'; export * from './user-profile.interface'; export * from './user-service'; -
Directory Structure:
- Group related files in directories
- Use feature-based organization Example:
src/ ├── users/ │ ├── interfaces/ │ │ ├── user-credentials.interface.ts │ │ └── user-profile.interface.ts │ ├── services/ │ │ └── user-service.ts │ └── index.ts └── ... -
Import Organization:
- Keep imports organized by type (external, internal, relative)
- Use explicit imports over namespace imports Example:
// External imports import { Injectable } from '@nestjs/common'; import { v4 as uuid } from 'uuid'; // Internal imports (from your app) import { UserProfile } from '@/users/interfaces'; import { DatabaseService } from '@/database'; // Relative imports (same feature) import { UserCredentials } from './user-credentials.interface';
-
examples:
-
input: | // Bad: Multiple concerns in one file interface UserData { id: string; name: string; }
class UserService { getUser(id: string) { } }
function validateUser(user: UserData) { } output: | // user-data.interface.ts interface UserData { id: string; name: string; }
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.
- 5d ago First seen · 162 lines · 950 tokens per session scan A d8a0edb7497d
file-organization is a cursor rule published in the GitHub repository squirrelogic/mcp-feature-discussion (1 stars, last pushed 1y ago), licensed MIT. It adds 950 tokens to every session, about $0.0047 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to file-organization, differing in 0 lines, and is treated as a copy.
Other cursor rules, from other repositories
ponytail
Ponytail, lazy senior dev mode. Always pick the simplest solution that works.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
cli-error-handling
CLI command error handling patterns.
control-plane-descriptors
Control plane descriptor and instance implementation patterns.
family-instance-domain-actions
Family instance domain action implementation patterns.