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/luxvil/ai-coding-rules/93-state-managementgit clone --depth 1 https://github.com/Luxvil/ai-coding-rulesWhat 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 | $0.00000 | $0.01016 |
| Opus 5 | $0.00000 | $0.00508 |
| Sonnet 5 | $0.00000 | $0.00203 |
| Haiku 4.5 | $0.00000 | $0.00102 |
Grade A, and why
93-state-management 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.
This is a copy
100% identical to 93-state-management — 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 — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.
🔄 State Management Rules
Auto-activated for store and state files.
Store Structure (Zustand)
// stores/useAuthStore.ts
import { create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
interface AuthState {
// State
user: User | null;
isLoading: boolean;
error: string | null;
// Actions
login: (credentials: Credentials) => Promise<void>;
logout: () => void;
clearError: () => void;
}
export const useAuthStore = create<AuthState>()(
devtools(
persist(
(set, get) => ({
// Initial state
user: null,
isLoading: false,
error: null,
// Actions
login: async (credentials) => {
set({ isLoading: true, error: null });
try {
const user = await authApi.login(credentials);
set({ user, isLoading: false });
} catch (error) {
set({ error: error.message, isLoading: false });
}
},
logout: () => {
set({ user: null });
},
clearError: () => set({ error: null }),
}),
{ name: 'auth-storage' }
),
{ name: 'AuthStore' }
)
);
Rules
1. Store Separation
stores/
├── useAuthStore.ts # Authentication
├── useUIStore.ts # UI state (modals, toasts)
├── useCartStore.ts # Shopping cart
└── index.ts # Re-exports
2. State Shape (STRICT)
// ✅ GOOD: Normalized state
interface ProductsState {
byId: Record<string, Product>;
allIds: string[];
isLoading: boolean;
}
// ❌ BAD: Nested arrays
interface ProductsState {
products: Product[]; // Hard to update individual items
categories: Category[]; // Duplicated data
}
3. Selector Pattern
// ✅ Create selectors for computed state
export const useAuthStore = create<AuthState>()(...);
// Selectors (outside store)
export const selectUser = (state: AuthState) => state.user;
export const selectIsAuthenticated = (state: AuthState) => !!state.user;
export const selectUserRole = (state: AuthState) => state.user?.role;
// Usage
const user = useAuthStore(selectUser);
const isAuthenticated = useAuthStore(selectIsAuthenticated);
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.
- 2d ago First seen · 169 lines · 0 tokens per session scan A c6df61039128
93-state-management is a cursor rule published in the GitHub repository Luxvil/ai-coding-rules (3 stars, last pushed 3d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,016 tokens. A static security scan graded it A with 0 findings. It is 100% identical to 93-state-management, differing in 0 lines, and is treated as a copy.
Other cursor rules, from other repositories
exam-answer-format
Guidelines for writing exam-style answers in a practical, conversational style with definitions first followed by real-world examples.
lecture-reference-linking
Guidelines for including course materials lists and inline references when writing exam answers or documentation that references course materials.
mermaid-diagrams
Guidelines for adding Mermaid diagrams to exam answers and documentation with automatic SVG generation support.
short-answer-version
Guidelines for creating short/concise versions of detailed answers.
documentation-formatting
Guidelines for formatting markdown documentation to improve readability and scannability.
human-writing-style
Rules for writing naturally and authentically - avoid robotic AI tone in documentation, code comments, error messages, and explanations. Write like a human colleague, not a customer service bot.