immerjs/immer
GitHubCreate the next immutable state by mutating the current one
- immutable
- immutables
- reducer
- redux
- state-tree
- Stars:
- 29k
- Language:
- JavaScript
- Default branch:
- main
- Last scored:
At a glance
- Rank
- #198 of 401
- Top 49% · #11 of 15 JavaScript repos
- Checks passed
- 8 of 17
- Full list below
- Best set up for
- Claude Code
- Score 71.6
- Needs most work for
- OpenHands
- Biggest fix: .openhands/setup.sh (+10.0 pts)
What it has
What it's missing
What to fix first
Showing fixes for Claude Code
- 1AGENTS.md / CLAUDE.mdAdd an AGENTS.md covering project goals, layout, setup commands, and conventions. Aim for 800+ chars of real guidance (not boilerplate).+13.2 pts
- 2CONTRIBUTING guideAdd CONTRIBUTING.md describing branch naming, commit style, test commands, and the PR process.+5.3 pts
- 3Pre-commit / git hooksSet up pre-commit (.pre-commit-config.yaml), husky, or lefthook to run format+lint on every commit.+5.3 pts
Score for each AI agent
Each agent weighs the checks by its own docs. Under each score are its top three. How each agent is scored →
Does immerjs/immer have agent instructions?
An AGENTS.md (or CLAUDE.md) at the root tells AI coding agents how to build, test and work in the repo. A few agents also read a file of their own.
- AGENTS.md / CLAUDE.md
- None at the root (no AGENTS.md, CLAUDE.md, AGENT.md, .claude/CLAUDE.md or .claude/AGENTS.md)
- Agent-specific files
- None: no GEMINI.md, .cursor/rules, .openhands/setup.sh, .aider.conf.yml or .agents/skills
- Repos that have one
- 9 of 15 JavaScript repos · 221 of 401 repos on the leaderboard · See examples →
Get a starter AGENTS.md
From the files the checks found. Fill in the commands, then commit it at the root.
# AGENTS.md
Guidance for AI coding agents working in immerjs/immer. Create the next immutable state by mutating the current one. Written mainly in JavaScript.
## Where things are
- Dependencies are declared in `package.json`.
- Tests live in `__tests__`.
- Lint and format rules are configured in `.prettierrc`.
- Type checking is configured in `tsconfig.json`.
- CI is defined in `.github/workflows`; read it for the exact install, lint and test steps.
- Project tasks are the `scripts` in `package.json`.
## Commands
<!-- Fill in the exact commands CI runs. -->
- Install: TODO
- Test: TODO
- Lint: TODO
All 17 checks · 8 passed
How immerjs/immer compares
- vs leaderboard average
- 1.0 pts above
- Average 66.8
- vs JavaScript average
- 5.9 pts below
- Average 73.7
- Stars among JavaScript repos
- #11 of 15
Missing here, and how many repos have it
- CONTRIBUTING guide · passed by 86% of leaderboard repos, 80% of JavaScript repos
- Pre-commit / git hooks · passed by 29% of leaderboard repos, 33% of JavaScript repos
- Skills (.agents/skills) · passed by 17% of leaderboard repos, 20% of JavaScript repos
Passes checks most repos miss
- Manageable size · only 16% of repos pass it
One fix for the most agents: AGENTS.md / CLAUDE.md would raise the score for all 9 agents, by up to 13.3 points.
Similar repos
Same language and host as this repo, closest in overall score.
- eslint/eslint71.1JavaScript · 27.6k ★
- preactjs/preact69.2JavaScript · 39k ★
- JavaScript · 52.4k ★
- JavaScript · 20k ★
- fastify/fastify64.8JavaScript · 37.3k ★
- react/react64.1JavaScript · 251.9k ★
Same topics, any language
Repos tagged with the same GitHub topics, most shared first.
- pmndrs/zustand72.8TypeScript · redux
Add a badge to your README
Paste this at the top of the README. It shows the score, and links back to this page.
[](https://agentfriendlycode.com/repo/github/immerjs/immer)Check the score on every pull request
A GitHub Action posts one comment per pull request with how the score changed and why.