agentreadme

Report · marked 25 Aug 2026

sahat/hackathon-starter

Ready for an agent to work in without hand-holding.

JavaScript · 35,248 stars · 171 files · branch master

Fix these first

01
Instruction quality
Worth fixing: it's 31k characters, which burns context on every single turn; has no code blocks.
02
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.
03
Reproducible environment
A Dockerfile or devcontainer removes an entire class of 'it won't install' failures.

The full marking

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

Instructions 23/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 8/12
Real instructions, with gaps.
Worth fixing: it's 31k characters, which burns context on every single turn; has no code blocks.
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 18/20 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 (clean-install, lint, lint-check, postinstall, prepare, scss…)
Environment config 4/4
.env.example documents what the app needs to run.
Pinned runtime version 2/2
The language runtime version is pinned.
package.json engines.node >=24.18.0
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 22/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
75 test files against 57 source files.
e.g. test/.env.test, test/TESTING.md, test/app-links.test.js
Test command is discoverable 7/7
An agent can find and run `npm run test`.
Continuous integration 4/4
2 GitHub Actions workflows define what "passing" means.
Lint and format rules 3/3
eslint.config.mjs 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 39 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 17.2MB 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 sahat/hackathon-starter
# AGENTS.md

A boilerplate for Node.js web applications

## Setup

```
npm ci
```

## Commands

```
npm run start           # run the app
npm run test            # run the test suite, must pass before any commit
npm run lint            # lint
npm run clean-install
npm run lint-check
npm run postinstall
npm run prepare
npm run scss
```

## Layout

- `test/`        37 source files
- `controllers/` 7 source files
- `config/`      6 source files
- `public/`      3 source files
- `models/`      2 source files

## Conventions

- Tests live alongside the code they cover, following `test/.env.test`.
- CI defines what passing means. See `.github/workflows/build.yml`, and keep it green.
- TODO: add the two or three conventions a newcomer always gets wrong here.

## Gotchas

- Copy `.env.example` before running anything that needs configuration.

---

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/sahat/hackathon-starter.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 89 out of 100

[![agent ready](https://agentreadme.com/badge/sahat/hackathon-starter.svg)](https://agentreadme.com/sahat/hackathon-starter)

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 77 B+

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