agentreadme

Report · marked 26 Aug 2026

carbon-app/carbon

An agent can work here, but it will waste turns finding its footing.

JavaScript · 36,089 stars · 179 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.
03
Test command is discoverable
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.

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/20 B+

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

Deterministic install 6/6
yarn.lock pins the dependency tree.
Found yarn.lock
Discoverable commands 6/6
Commands are declared where an agent will look for them.
package.json scripts (dev, build, start, test:e2e, deploy, prettier…)
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 2/2
The language runtime version is pinned.
package.json engines.node >=12
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 13/25 C+

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

Tests exist 6/8
7 test files against 100 source files.
e.g. cypress/integration/background-color.spec.js, cypress/integration/basic.spec.js, cypress/integration/embed.spec.js
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
1 GitHub Actions workflow define what "passing" means.
Lint and format rules 3/3
.eslintrc.js encodes the house style.
Static type checking 0/3
No static type checking.
A type checker gives an agent an error message instead of a runtime surprise. It's the second-fastest feedback loop after the compiler.
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 21.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 carbon-app/carbon
# AGENTS.md

:black_heart: Create and share beautiful images of your source code

## Setup

```
yarn install
```

## Commands

```
yarn dev           # run locally
yarn start         # run the app
yarn build         # produce a build
yarn lint          # lint
yarn test:e2e
yarn deploy
yarn prettier
yarn contrib:add
```

## Layout

- `components/` 62 source files
- `lib/`        14 source files
- `cypress/`    10 source files
- `pages/`      10 source files
- `bin/`        1 source file

## Conventions

- Tests live alongside the code they cover, following `cypress/integration/background-color.spec.js`.
- CI defines what passing means. See `.github/workflows/validate.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/carbon-app/carbon.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 59 out of 100

[![agent ready](https://agentreadme.com/badge/carbon-app/carbon.svg)](https://agentreadme.com/carbon-app/carbon)

Other JavaScript repositories, marked

react/react 71 B+ affaan-m/ECC 90 A trekhleb/javascript-algorithms 69 B Snailclimb/JavaGuide 53 C+ airbnb/javascript 54 C+ vercel/next.js 78 A-

All JavaScript 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