agentreadme

Report · marked 26 Aug 2026

chenglou/pretext

Solid foundations, held back in a few specific places.

TypeScript · 50,029 stars · 127 files · branch main

Fix these first

01
Environment config
Add a .env.example listing every variable with a safe placeholder value. It's the cheapest possible fix and it unblocks the whole first run.
02
Lint and format rules
A formatter config is the cheapest way to stop reviewing whitespace in agent diffs. It moves style from opinion to a command.
03
Pinned runtime version
Add a .nvmrc, .python-version, or equivalent so the agent's toolchain matches yours.

The full marking

Every deduction below names the file or setting it came from.

Instructions 25/27 A+

Whether the repo tells an agent how to behave before it starts guessing.

Agent instruction file 12/12
AGENTS.md is present, which is the format the most tools read.
Also found: CLAUDE.md
Instruction quality 10/12
Specific enough that an agent can act on it.
Worth fixing: has no code blocks.
17,590 characters, a workable length
names the actual commands to run
uses headings, so an agent can skim it
README as an entry point 3/3
README has a clear getting-started section.
Setup 12/20 B-

Whether an agent can install the project and get it running without a human.

Deterministic install 6/6
bun.lock pins the dependency tree.
Found bun.lock
Discoverable commands 6/6
Commands are declared where an agent will look for them.
package.json scripts (accuracy-check, accuracy-check:firefox, accuracy-check:safari, accuracy-snapshot, accuracy-snapshot:firefox, accuracy-snapshot:safari…)
scripts/ directory
Environment config 0/4
Nothing documents the environment this needs. An agent will get a runtime error it can't diagnose.
Add a .env.example listing every variable with a safe placeholder value. It's the cheapest possible fix and it unblocks the whole first run.
Pinned runtime version 0/2
No pinned runtime version.
Add a .nvmrc, .python-version, or equivalent so the agent's toolchain matches yours.
Reproducible environment 0/2
No container or devcontainer definition.
A Dockerfile or devcontainer removes an entire class of 'it won't install' failures.
Verification loop 20/25 A-

Whether an agent can check its own work. This is the category that most decides whether agent output is trustworthy.

Tests exist 6/8
3 test files against 56 source files.
e.g. pages/emoji-test.html, scripts/package-smoke-test.ts, src/layout.test.ts
Test command is discoverable 7/7
An agent can find and run `npm run check`.
Continuous integration 4/4
1 GitHub Actions workflow define what "passing" means.
Lint and format rules 0/3
No linter or formatter config. Style is tribal knowledge, so agent output will drift from yours.
A formatter config is the cheapest way to stop reviewing whitespace in agent diffs. It moves style from opinion to a command.
Static type checking 3/3
Strict type checking is on, which catches a whole class of agent mistakes before they run.
Context economy 20/20 A+

Whether the repo fits in a context window, or fights it.

No committed build output 6/6
No generated directories committed.
.gitignore hygiene 3/3
.gitignore covers 21 patterns.
File sizes fit in context 6/6
No source file is large enough to crowd out a context window.
Repository weight 5/5
About 1.7MB checked out, which is comfortable.

Here is your AGENTS.md

Drafted from what is actually in this repository: the install command from your lockfile, the commands you already declare, your real directory layout. Anything marked TODO needs a person. Save it at the root as AGENTS.md.

AGENTS.md — drafted for chenglou/pretext
# AGENTS.md

Fast, accurate & comprehensive text measurement & layout

## Setup

```
bun install
```

## Commands

```
bun start                       # run the app
bun check                       # lint and type check
bun accuracy-check
bun accuracy-check:firefox
bun accuracy-check:safari
bun accuracy-snapshot
bun accuracy-snapshot:firefox
bun accuracy-snapshot:safari
```

## Layout

- `pages/`   25 source files
- `scripts/` 18 source files
- `src/`     11 source files
- `shared/`  1 source file

## Conventions

- Tests live alongside the code they cover, following `pages/emoji-test.html`.
- TypeScript runs in strict mode. Type errors are the fastest feedback available, so do not weaken it.
- CI defines what passing means. See `.github/workflows/pages.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

---

Drafted by agentreadme.com from what is in this repository. Everything marked TODO
needs a human. Check it in as AGENTS.md at the root.

Open the raw markdown  or  curl -o AGENTS.md agentreadme.com/draft/chenglou/pretext.md

Show the mark

The badge re-checks daily, so it keeps up as the repository changes. Use mark again to force it now.

agent ready 82 out of 100

[![agent ready](https://agentreadme.com/badge/chenglou/pretext.svg)](https://agentreadme.com/chenglou/pretext)

Other TypeScript repositories, marked

freeCodeCamp/freeCodeCamp 69 B openclaw/openclaw 68 B nilbuild/developer-roadmap 45 C vuejs/vue 67 B n8n-io/n8n 87 A anomalyco/opencode 80 A-

All TypeScript repositories

Think this mark is wrong?

Every deduction above names the file it came from, so this can be settled by looking. If a check missed something, that is a rule worth fixing.

Open an issue, already filled in