86/ 100 · B
A well-known project done right. Strong docs and solid engineering throughout.
🤖 Headless, performant, and type-safe form state management for TS/JS, React, Vue, Angular, Solid, and Lit.
TypeScript6,571 starsMITupdated 16d ago
DocumentationREADME, setup, examples, license
EngineeringTests, CI, linting, lockfiles
Project healthDescription, activity, stars, deps
What to fix first
The highest-impact improvements for this repo.
- 1CI/CDEngineeringInfo
Add a lint step (e.g. `npm run lint`, `ruff check .`, `cargo clippy`) to catch style issues automatically.
- 2CI/CDEngineeringInfo
Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
- 3READMEDocumentationWarning
Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
Detailed breakdown
Documentation
79- README65
- README is present.
- README is well structured with multiple sections.
- No screenshots or images in the README (−20 pts).Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
- README has no code examples (−15 pts).Show a quick-start snippet so contributors can see what using your project looks like.
- README links to a live demo or deployed app.
- README includes status badges.
- Install and run instructions90
- README documents how to install the project.
- README documents how to run the project.
- If your project uses environment variables, add a .env.example listing them (+10 pts).Add a .env.example listing all required environment variables so contributors know what to set up.
- License100
- Licensed under MIT.
- Contributing guide70
- Contributing guide is detailed and thorough.
- Contributing guide lacks a setup section (−12 pts).Show new contributors how to get a local dev environment running.
- Contributing guide lacks a code style section (−8 pts).Describe your linting/formatting rules and how to run them (e.g. npm run lint, ruff check .).
- Contributing guide lacks a testing section (−8 pts).Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).
- Contributing guide describes the PR/review workflow.
- Contributing guide includes code examples.
- Optional: add a Code of Conduct (+5 pts).A CODE_OF_CONDUCT.md signals that your project is welcoming. GitHub has a template you can add in one click.
Engineering
92- Tests100
- Test files detected (packages/angular-form/tests).
- CI/CD85
Not applicable?
- CI is configured (.github/workflows/autofix.yml).
- CI workflow runs tests.
- CI runs on pull requests, not just on pushes to main.
- CI does not appear to run a linter (−15 pts).Add a lint step (e.g. `npm run lint`, `ruff check .`, `cargo clippy`) to catch style issues automatically.
- Optional: add type checking to CI.Add `tsc --noEmit`, `mypy`, or `cargo check` to catch type errors before they merge.
- CI reports or uploads test coverage.
- CI includes a build step.
- Linting and formatting95
- Linter or formatter configured (.editorconfig).
- Lint script wired into package.json.
- tsconfig.json has `strict: true`. Full TypeScript type safety enabled.
- Reproducibility80
- Lockfile present (pnpm-lock.yaml). Installs are reproducible.
- Environment pinned via .nvmrc.
- No Dependabot config (adding it earns up to +20 pts).Add .github/dependabot.yml with at least one package-ecosystem entry so dependencies are updated automatically.
- Issue and PR templates90
- Issue or PR templates present.
- Optional: add a SECURITY.md.A SECURITY.md explains how to responsibly disclose vulnerabilities. Worth adding once the project has real users.
Project health
84- Dependency manifest75
- Dependency manifest found (package.json).
- package.json is missing a description (−10 pts).Add a one-line description to package.json. It appears in npm search and on GitHub.
- package.json links back to the repository.
- package.json has no keywords (−8 pts).Add a `keywords` array to help people find your package on npm.
- package.json has no homepage field (−7 pts).Add a `homepage` field pointing to your docs or project website.
- Repository metadata70
- Repository has a description.
- Primary language detected: TypeScript.
- Activity100
- Actively maintained (pushed within the last month).
- 6,571 stars.
- Housekeeping100
- .gitignore present.
Repository files26 root entries
- .changeset
- .githubGood: CI is configured (.github/workflows/autofix.yml).Good: Issue or PR templates present.
- .nx
- docs
- examples
- media
- packagesGood: Test files detected (packages/angular-form/tests).
- scripts
- .editorconfigGood: Linter or formatter configured (.editorconfig).
- .gitattributes
- .gitignoreGood: .gitignore present.
- .npmrc
- .nvmrcGood: Environment pinned via .nvmrc.
- .prettierignore
- codecov.yml
- CONTRIBUTING.mdGood: Contributing guide is detailed and thorough.Info: Contributing guide lacks a setup section (−12 pts).Fix: Show new contributors how to get a local dev environment running.Info: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them (e.g. npm run lint, ruff check .).Info: Contributing guide lacks a testing section (−8 pts).Fix: Show contributors how to run the test suite (e.g. npm test, pytest, cargo test).Good: Contributing guide describes the PR/review workflow.Good: Contributing guide includes code examples.
- eslint.config.js
- knip.json
- LICENSEGood: Licensed under MIT.
- nx.json
- package.jsonGood: Dependency manifest found (package.json).
- pnpm-lock.yamlGood: Lockfile present (pnpm-lock.yaml). Installs are reproducible.
- pnpm-workspace.yaml
- prettier.config.js
- README.mdGood: README is present.Good: README is well structured with multiple sections.Warning: No screenshots or images in the README (−20 pts).Fix: Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.Info: README has no code examples (−15 pts).Fix: Show a quick-start snippet so contributors can see what using your project looks like.Good: README links to a live demo or deployed app.Good: README includes status badges.Good: README documents how to install the project.Good: README documents how to run the project.
- tsconfig.json