agentreadme

Report · marked 25 Aug 2026

nilbuild/developer-roadmap

An agent will struggle here, mostly for fixable reasons.

TypeScript · 365,386 stars · 10,535 files · branch master

Fix these first

01
Agent instruction file
Add an AGENTS.md at the root: what the project is, how to install, how to run, how to test, and the two or three conventions a newcomer always gets wrong.
02
Instruction quality
Instructions earn their keep by naming exact commands. 'Run the tests with `pnpm test`' beats three paragraphs of philosophy.
03
Tests exist
This is the single highest-leverage change on this page. Agents don't need full coverage, they need one command that goes red when they break something. Even a handful of tests on the core path converts blind editing into a feedback loop.

The full marking

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

Instructions 2/27 F

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

Agent instruction file 0/12
None found. Every agent that opens this repo starts from zero.
Add an AGENTS.md at the root: what the project is, how to install, how to run, how to test, and the two or three conventions a newcomer always gets wrong.
Looked for AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, .cursorrules
Instruction quality 0/12
Nothing to judge, since there are no instructions.
Instructions earn their keep by naming exact commands. 'Run the tests with `pnpm test`' beats three paragraphs of philosophy.
README as an entry point 2/3
README exists but never explains how to get the thing running.
Give the README an Install and a Usage heading with real commands under each. Agents pattern-match on those headings.
Setup 12/14 A

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

Deterministic install 6/6
pnpm-lock.yaml pins the dependency tree.
Found pnpm-lock.yaml
Discoverable commands 6/6
Commands are declared where an agent will look for them.
package.json scripts (format, sync:content-to-repo, sync:repo-to-database, cleanup:orphaned-content)
scripts/ directory
Environment config n/a
Not applicable — this reads as a library, with no environment to configure.
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 n/a
Not applicable — a library doesn't need a container to be worked on.
Verification loop 7/25 F

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

Tests exist 0/8
No test files found. An agent has no way to know whether its change broke anything.
This is the single highest-leverage change on this page. Agents don't need full coverage, they need one command that goes red when they break something. Even a handful of tests on the core path converts blind editing into a feedback loop.
Test command is discoverable 0/7
There's no obvious way to run the tests. Even if tests exist, an agent won't reliably find the entry point.
Add a `test` script or a `test` target that runs the whole suite with no arguments. The convention is the interface — an agent tries `npm test` and `make test` before it tries reading your CI config.
Continuous integration 4/4
8 GitHub Actions workflows 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 17/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 11 patterns.
File sizes fit in context 6/6
No source file is large enough to crowd out a context window.
Repository weight 2/5
About 363MB checked out. Large enough that cloning and searching are both slow.
Large binaries and vendored trees slow every operation an agent performs. Git LFS or a separate assets repo keeps the working tree navigable.

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 nilbuild/developer-roadmap
# AGENTS.md

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

## Setup

```
pnpm install
```

## Commands

```
pnpm format                     # format
pnpm sync:content-to-repo
pnpm sync:repo-to-database
pnpm cleanup:orphaned-content
```

## Layout

- `scripts/` 8 source files

## Conventions

- There are no tests yet. An agent has no way to check its own work here.
- 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/aws-costs.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/nilbuild/developer-roadmap.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 45 out of 100

[![agent ready](https://agentreadme.com/badge/nilbuild/developer-roadmap.svg)](https://agentreadme.com/nilbuild/developer-roadmap)

Other TypeScript repositories, marked

freeCodeCamp/freeCodeCamp 69 B openclaw/openclaw 68 B vuejs/vue 67 B n8n-io/n8n 87 A anomalyco/opencode 80 A- deepseek-ai/deepseek-harness 88 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