Skip to content

Commit 059190e

Browse files
authored
Merge pull request #21 from thefrontside/chore/fmt
Format AGENTS.md
2 parents 9adb34b + 8349467 commit 059190e

1 file changed

Lines changed: 21 additions & 23 deletions

File tree

AGENTS.md

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,34 @@
22

33
## Spec-driven development
44

5-
- Specs in `specs/` are the source of truth. Code conforms to specs,
6-
not the other way around.
5+
- Specs in `specs/` are the source of truth. Code conforms to specs, not the
6+
other way around.
77

8-
- Never add, remove, or change a public API in code without first
9-
updating the relevant spec and getting explicit approval from the
10-
user. This includes changes to `Term`, `createTerm`, `render()`,
11-
directive constructors (`open`, `close`, `text`), sizing helpers
12-
(`grow`, `fixed`, `fit`), and any future spec'd interfaces.
8+
- Never add, remove, or change a public API in code without first updating the
9+
relevant spec and getting explicit approval from the user. This includes
10+
changes to `Term`, `createTerm`, `render()`, directive constructors (`open`,
11+
`close`, `text`), sizing helpers (`grow`, `fixed`, `fit`), and any future
12+
spec'd interfaces.
1313

14-
- The workflow is: propose the spec change, wait for approval,
15-
then implement. Do not combine spec changes with implementation
16-
in a single step.
14+
- The workflow is: propose the spec change, wait for approval, then implement.
15+
Do not combine spec changes with implementation in a single step.
1716

18-
- The renderer and input parser are specified separately
19-
(`renderer-spec.md` and `input-spec.md`). They are architecturally
20-
independent. Do not introduce dependencies between them.
17+
- The renderer and input parser are specified separately (`renderer-spec.md` and
18+
`input-spec.md`). They are architecturally independent. Do not introduce
19+
dependencies between them.
2120

22-
- Each test file tests exactly one spec. Do not put tests for one
23-
spec into another spec's test file.
21+
- Each test file tests exactly one spec. Do not put tests for one spec into
22+
another spec's test file.
2423

2524
## Rendering invariants
2625

27-
- The renderer MUST NOT perform IO. It produces bytes; the caller
28-
writes them.
26+
- The renderer MUST NOT perform IO. It produces bytes; the caller writes them.
2927

30-
- The renderer MUST NOT manage terminal state (alternate buffer,
31-
cursor visibility, mouse reporting, keyboard protocol modes).
28+
- The renderer MUST NOT manage terminal state (alternate buffer, cursor
29+
visibility, mouse reporting, keyboard protocol modes).
3230

33-
- Each frame is a complete snapshot. The renderer carries no UI tree
34-
state between frames — only cell buffers for diffing.
31+
- Each frame is a complete snapshot. The renderer carries no UI tree state
32+
between frames — only cell buffers for diffing.
3533

36-
- Directives are plain objects. No classes, no methods, no prototype
37-
chains. The flat array pattern is normative.
34+
- Directives are plain objects. No classes, no methods, no prototype chains. The
35+
flat array pattern is normative.

0 commit comments

Comments
 (0)