agentreadme

Report Β· marked 26 Aug 2026

pmndrs/zustand

Solid foundations, held back in a few specific places.

TypeScript Β· 58,610 stars Β· 144 files Β· branch main

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.

The full marking

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

Instructions 3/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 3/3
README has a clear getting-started section.
Setup 14/14 A+

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

βœ“Deterministic install 6/6
package-lock.json pins the dependency tree.
Found package-lock.json
βœ“Discoverable commands 6/6
Commands are declared where an agent will look for them.
package.json scripts (prebuild, build, build-watch, build:base, build:vanilla, build:react…)
–Environment config n/a
Not applicable β€” this reads as a library, with no environment to configure.
βœ“Pinned runtime version 2/2
The language runtime version is pinned.
package.json engines.node >=12.20.0
–Reproducible environment n/a
Not applicable β€” a library doesn't need a container to be worked on.
Verification loop 25/25 A+

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

βœ“Tests exist 8/8
15 test files against 50 source files.
e.g. tests/basic.test.tsx, tests/devtools.test.tsx, tests/immer.test.tsx
βœ“Test command is discoverable 7/7
An agent can find and run `npm run test`.
βœ“Continuous integration 4/4
8 GitHub Actions workflows define what "passing" means.
βœ“Lint and format rules 3/3
eslint.config.mjs encodes the house style.
βœ“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 16 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 8.1MB 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 pmndrs/zustand
# AGENTS.md

🐻 Bear necessities for state management in React

## Setup

```
pnpm install
```

## Commands

```
pnpm build              # produce a build
pnpm test               # run the test suite, must pass before any commit
pnpm prebuild
pnpm build-watch
pnpm build:base
pnpm build:vanilla
pnpm build:react
pnpm build:middleware
```

## Layout

- `examples/` 17 source files
- `src/`      16 source files
- `tests/`    15 source files

## Conventions

- Tests live alongside the code they cover, following `tests/basic.test.tsx`.
- 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/compressed-size.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/pmndrs/zustand.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 75 out of 100

[![agent ready](https://agentreadme.com/badge/pmndrs/zustand.svg)](https://agentreadme.com/pmndrs/zustand)

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