3.1 KiB
3.1 KiB
AGENTS.md
This file defines how AI coding agents should work in this repository.
Core Principles
- Correctness comes before speed.
- Preserve the scanner-first product goal: reduce artifact decisions, guide hopping, and manual bookkeeping.
- Prefer small, reviewable changes over broad rewrites.
- Do not invent Genshin game data, API behavior, OCR confidence, or optimization rules without documenting the assumption.
- Keep all game interaction read-only by default. Never add delete, feed, enhance, memory-read, hook, or game-modification behavior.
- Keep user work and local app state intact.
- Validate Electron main-process changes with a build and, when practical, a manual Smart Capture smoke test.
Read Before Write
Before editing code, inspect the relevant source files and the project documents:
docs/PROJECT.mddocs/ARCHITECTURE.mddocs/CONVENTIONS.mddocs/DECISIONS.mddocs/CHECKLISTS.md
Use rg or rg --files for search.
Product Safety
The app may capture the Genshin window or screen and may later support optional input automation. Treat those areas as high risk.
- Capture must not require memory reads, hooks, injection, or game file modification.
- Input automation, if added, must be opt-in, reversible, whitelisted, and stoppable.
- The app must never delete, feed, enhance, or spend in-game resources.
- Uncertain OCR data must remain reviewable instead of being silently trusted.
Implementation Expectations
- Keep Electron main-process code focused on OS integration, capture, and IPC.
- Keep React code focused on UI state and presentation.
- Keep parsing, scoring, and recommendation logic in
src/lib. - Keep domain types in
src/types. - Prefer deterministic parsers and data packages over hardcoded one-off exceptions.
- When OCR requires heuristics, record the limitation in docs or code comments.
Validation
Run the strongest practical checks for the change:
npm run lintnpm testnpm run build
For scanner changes, also manually verify Smart Capture against an open artifact detail view when possible.
Definition Of Done
A task is done when:
- The requested behavior exists.
- The implementation follows the documented architecture and conventions.
- Relevant checks passed or skipped checks are explained.
- Scanner/OCR changes fail safely into review or uncertainty.
- The final summary names the changed areas and remaining risks.
Obsidian Handoff
For durable project changes, follow:
C:\Users\vmbao\Desktop\Ordner\Obsidian-Vault\Resources\Obsidian\Agent Project Sync Protocol.md
The compact project mirror is:
C:\Users\vmbao\Desktop\Ordner\Obsidian-Vault\Projects\Genshin Artifact Assistant\README.md
- Update this repository's canonical docs first, then the Vault mirror at semantic checkpoints.
- Sync material changes to scope, status, architecture, decisions, verified scanner state, major risks, next priorities, and repeatable workflows.
- Do not mirror every source edit, raw log, or transient debugging result.
- If the Vault is unavailable, report the exact pending handoff instead of claiming synchronization.