Files
Live_RC/AGENTS.md
larssand 82d52ed6cd add
2026-09-02 22:04:42 +02:00

34 lines
2.3 KiB
Markdown

# AI Agent Rules - Live_RC (Linux/Node.js)
## Environment & Tech Stack
- **OS:** Linux (Ubuntu/Debian architecture)
- **Runtime:** Node.js v22/v24 LTS, npm 10+
- **Core:** Vanilla JavaScript, HTML5, SQLite (`data/rc_timing.sqlite`)
- **Tests:** Native Node.js test runner (`npm test`)
- **Binaries:** GLIBC 2.39+ compatible tools in `AMMC/linux_x86-64/`
## Critical Token & Kvot Optimization
1. **Compact Output Only:** NEVER rewrite or output whole files (e.g., `server.js` or `src/app.js`). Only output the exact lines, functions, or unified diffs that change.
2. **Git Hygiene:** Use `git status` or `git diff --stat` to inspect the workspace. Do not pipe huge `git diff` outputs into the context window.
3. **Ignore Data & Binaries:** Completely ignore the `data/` directory, `logs/`, and `AMMC/` binaries. Do not scan them.
## Linux Runtime Commands
Always use these exact Linux commands for management:
- Start Background: `npm start`
- Start Foreground (Debug): `npm run start:fg`
- Stop Server: `npm stop`
- Check Status: `npm run status`
- Run Tests: `npm test` (Runs on isolated temporary port)
## Code & Git Conventions
- **Commits:** Conventional Commits (e.g., `fix(lap): repair split calculations`, `feat(audio): add linux sound trigger`).
- **File System:** Ensure `chmod +x` commands are suggested if modifying scripts under `scripts/` or `AMMC/`.
- Always respect frontend `localStorage` to backend SQLite synchronization.
## Feature Generation Rules (Kvot-räddare för nya funktioner)
When implementing a NEW feature or module:
1. **Architecture Blueprint First:** Do NOT write the code immediately. Output a 3-bullet-point layout explaining *where* the new logic goes (e.g., frontend state, backend API route, or SQLite schema change). Wait for human confirmation.
2. **Draft Modular Skeleton:** Output only the function definitions, routes, or component names with empty bodies (stubs) first.
3. **Fill Code Incremental:** Implement the feature in small, separate code blocks (max 30 lines at a time). Never generate frontend, backend, and database changes in a single massive response.
4. **Use Existing Utilities:** Always check `server.js` and `src/app.js` for existing helper functions (like DB queries, WebSocket broadcasts, or audio hooks) instead of writing new ones from scratch.