Complete foundational data layer with repository implementation
- Add GORM dependencies for SQLite and PostgreSQL - Create domain models (User, Session, File) with common errors - Implement repository interfaces and database layer with migrations - Update WebApp to bootstrap with database and repositories - Add comprehensive unit tests for repository methods - Update config structure to support multiple database drivers - Extend AGENTS.md with debugging principles and dependency rules
This commit is contained in:
12
AGENTS.md
12
AGENTS.md
@@ -49,6 +49,18 @@ go mod tidy # clean deps after add/remove
|
||||
|
||||
- DO put business logic in `internal/`, keep `cmd/` thin
|
||||
- DO write all code, comments, and documentation in English
|
||||
- DO add all Go module dependencies **before** writing code that uses them
|
||||
- DON'T read `go.sum` entirely into context — use `grep` or other tools to search specific patterns if needed
|
||||
- DON'T skip `go vet ./...` before finishing work
|
||||
- DON'T commit without explicit user request
|
||||
- DON'T add, remove, or change Go module dependencies after debugging has started — ask for explicit permission first
|
||||
|
||||
## Debugging Principles
|
||||
|
||||
When a test failure occurs, follow this strict order:
|
||||
|
||||
1. **Examine the test first** — ensure the test code correctly expresses the intended program behavior
|
||||
2. **Fix the test if it's wrong** — if the test doesn't represent correct expected behavior, correct the test to match the intended behavior
|
||||
3. **Fix the implementation if the test is correct** — only after confirming the test is valid, locate and fix the bug in the implementation
|
||||
4. **Never weaken tests to gain passing status** — do not relax assertions, remove edge cases, or simplify test logic just to make tests pass. Tests exist to catch problems, not to produce a 100% pass rate
|
||||
5. **Escalate after 6 rounds** — if a problem remains unresolved after 6 debugging attempts, stop and report the current state to the user for further investigation
|
||||
|
||||
Reference in New Issue
Block a user