summaryrefslogtreecommitdiff
path: root/.agent/coding_standards.md
blob: dc39d7fb586262cdbbd6fac43d3b741384dd47a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Coding Standards

Technical standards for the **Claudomator** project.

## 1. Go (Backend)
- **CGo Dependency:** `go-sqlite3` requires a C compiler (`gcc`).
- **Concurrency:** Uses a bounded goroutine pool. Always test with `go test -race ./...`.
- **State Machine:** Follow `task.ValidTransition` for all state updates.
- **Sandboxing:** Task modifications happen in `/tmp/claudomator-sandbox-*`.

## 2. Testing
- **Reproduction:** Always create a failing test case for bugs.
- **Race Detector:** Mandatory for `internal/executor` and `internal/api/hub` changes.

## 3. Architecture
- **Single Binary:** Keep the binary self-contained using `go:embed` for web assets.
- **Durability:** Use SQLite with WAL mode.