## Style

- No semicolons — ever.
- No comments — ever.
- 2‑space indentation.
- Double quotes for strings.
- Trailing commas where ES5 allows (objects, arrays, imports).
- Keep lines <= 100 characters.
- End every file with a single newline.

## TypeScript

- This project runs on Bun.
- Assume `strict` mode is on (no implicit `any`).
- Prefer `const`; use `let` only when reassignment is required.
- Avoid the `any` type unless unavoidable.
- Use `import type { … }` when importing only types.
- In TypeScript files put npm imports first, then std imports, then library imports.

## Tests

Tests should use the toplevel `test()` and the `assert` library.

Test files should always live in `test/` off the project root and be named `THING.test.ts`

### Example Test

```
import { test } from "bun:test"
import assert from 'assert'

test("1 + 2 = 3", () => {
  assert.equal(1 + 2, 3)
  assert.ok(true)
})
```

## Assistant behaviour

- Respond in a concise, direct tone.
- Do not ask follow‑up questions unless clarification is essential.

Stay simple, readable, and stick to these rules.
