# FinanceOne — agent guide For Cursor Agent and other coding agents in this repo. ## How to respond - **Be concise**: short paragraphs, bullets when listing. Match reply length to the task. - **Be direct**: state facts, decisions, and next steps. No filler, hype, or “great question” openers. - **No fluff**: skip long preambles, repeated summaries, and engagement closers unless the user asks. - **Ask when it helps**: if scope, constraints, or “done” is unclear — or there are multiple valid approaches — ask **1–3 specific questions** before a large change. Do not guess and build the wrong thing. - **Say what you need**: missing file paths, env, repro steps, or preferences? Ask once, clearly. ## Project Personal finance web app. Small, reviewable diffs; match existing patterns. ## Before you change code 1. Read `README.md` for stack and verify commands. 2. Stay within the user’s request; no drive-by refactors. 3. Prefer `@` file references over whole-repo search when the task names files or areas. ## Conventions - **TypeScript**: strict types; avoid `any` unless justified in a comment. - **React / Next.js**: App Router; server components by default; `"use client"` only when needed. - **Styling**: Tailwind utilities; match nearby components. - **Money**: minor units (cents) or a decimal library — never raw floats for currency. - **Secrets**: never commit `.env`, keys, or tokens; names only in `.env.example`. ## Verification After substantive changes (when `package.json` exists): ```bash npm run lint npm test ``` UI changes: note manual checks or use browser tooling if configured. ## Git - Commit only when the user explicitly asks. - No force-push to `main` / `master`. - Do not skip git hooks unless the user asks. ## Domain - **Accounts**: cash, credit, investment — clear balance semantics each. - **Transactions**: signed amounts; categories/tags optional but consistent. - **Reports**: aggregate from stored transactions; document timezone (UTC vs user locale). ## Out of scope unless requested - New major dependencies - Large architectural rewrites - CI/CD or deployment changes