ScuttleBot
| 6d0d615… | lmata | 1 | # Calliope — scuttlebot |
| 6d0d615… | lmata | 2 | <!-- Agent shim for https://github.com/calliopeai/calliope-cli --> |
| 6d0d615… | lmata | 3 | |
| 6d0d615… | lmata | 4 | Primary conventions doc: [`bootstrap.md`](bootstrap.md) |
| 6d0d615… | lmata | 5 | |
| 10b6d92… | lmata | 6 | Read it before writing any code. |
| 6d0d615… | lmata | 7 | |
| 6d0d615… | lmata | 8 | --- |
| 6d0d615… | lmata | 9 | |
| 6d0d615… | lmata | 10 | ## Project-specific notes |
| 6d0d615… | lmata | 11 | |
| 10b6d92… | lmata | 12 | - Language: Go 1.22+ |
| 10b6d92… | lmata | 13 | - Transport: IRC — all agent coordination flows through Ergo IRC channels and messages |
| 10b6d92… | lmata | 14 | - HTTP API: `internal/api/` — Bearer token auth, JSON, serves the web UI at `/ui/` |
| 10b6d92… | lmata | 15 | - No ORM, no database — state persisted as YAML/JSON files |
| 6d0d615… | lmata | 16 | - Human observable by design: everything an agent does is visible in IRC |
| 10b6d92… | lmata | 17 | - Test runner: `go test ./...` |
| 10b6d92… | lmata | 18 | - Formatter: `gofmt` (enforced) |
| 10b6d92… | lmata | 19 | - Linter: `golangci-lint run` |
| 10b6d92… | lmata | 20 | - Dev helper: `./run.sh` (start / stop / restart / token / log / test / e2e / clean) |