Imported from virb30/tax-report (
AGENTS.md). Install upstream withnpx skills add virb30/tax-report. Copyright stays with the author.
Repository Guidelines
Main Technologies
- Main language: TypeScript.
- Main framework: Electron.
- Frontend: React.
- Database: sqlite (better-sqlite3 + knex)
- Tests: jest
- Lint: eslint
- Format: prettier
Load the relevant rules before executing any task.
Rules Map
| Rule | Path | Use when |
|---|---|---|
| Architecture | @.agents/rules/architecture.md |
Changing responsibilities, dependency direction, use cases, repositories, adapters, entities, or DTOs. |
| Folder Structure | @.agents/rules/folder-structure.md |
Creating, moving, or reviewing files and folders in src/**. |
| Code Standards | @.agents/rules/code-standards.md |
Any code edit. This is the default baseline. |
| Tests | @.agents/rules/tests.md |
Adding, changing, fixing, or reviewing tests, or validating behavior changes. |
| React | @.agents/rules/react.md |
Working in src/renderer/** with pages, hooks, components, styles, or renderer tests. |
| Backend | @.agents/rules/backend.md |
Working in src/main/** with services, handlers, repositories, parsers, database code, or backend tests. |
| Electron | @.agents/rules/electron.md |
Changing IPC, preload.ts, src/shared/**, or anything crossing main/renderer boundaries. |
Loading Order
- Always load
@.agents/rules/code-standards.md. - Load
@.agents/rules/architecture.mdbefore modifying structure or responsibilities. - Load
@.agents/rules/folder-structure.mdbefore creating, moving, or reviewing files insrc/**. - Load
@.agents/rules/react.mdfor renderer work insrc/renderer/**. - Load
@.agents/rules/backend.mdfor backend work insrc/main/**. - Load
@.agents/rules/electron.mdfor IPC,preload.ts,src/shared/**, or process-boundary work. - Load
@.agents/rules/tests.mdwhenever tests are involved.
Useful Commands
nvm use && npm install: use the Node version from.nvmrcand install dependencies.npm run dev: start the app in development mode.npm run start:debug: start the app with remote debugging on port9222.npm test: run the Jest suite with coverage.npm run lint: run ESLint with zero warnings allowed.npm run format: check Prettier formatting.npm run format:write: apply Prettier formatting.npm run package: package the app.npm run make: build installers.