Polished and well engineered. Punching above its star count.

Fast, easy Javascript finite state machines with visualizations; enjoy a one liner FSM instead of pages. MIT; Typescripted; 100% test coverage. Implements the FSL language.

Documentation

85

Contributing guide5pt25

Contributing guidance is in the README, not a dedicated CONTRIBUTING.md (−20 pts).

Moving it to a CONTRIBUTING.md makes it easier to find and keeps the README focused. A dedicated file earns +47 pts base.

Install and run instructions9pt90

README documents how to install the project.

README12pt100

README is present.

License6pt100

Licensed under MIT.

Engineering

84

CI/CD14pt57

CI is configured (.github/workflows/nodejs.yml).

Reproducibility6pt70

Lockfile present (package-lock.json). Installs are reproducible.

Tests18pt100

Test files detected (src/buildjs/tests).

Linting and formatting5pt100

Linter or formatter configured (.editorconfig).

Issue and PR templates6pt100

Issue or PR templates present.

Project health

100

Dependency manifest6pt100

Dependency manifest found (package.json).

Repository metadata5pt100

Repository has a description.

Activity5pt100

Actively maintained (pushed within the last month).

Housekeeping3pt100

.gitignore present.

Repository health signals

Activity, community, and responsiveness at scan time

Activity

  • Commits (30d / 90d)
  • 24
    Forks
  • 303
    Releaseslatest 4y ago

Community

  • Community health
  • authors own >50% of commits
  • 366
    Watchers

Responsiveness

  • 59d 22h
    Median issue response
  • <1h
    Median PR merge time
  • 51
    Open issues
Repository files53 root entries
  • .github
    Good: CI is configured (.github/workflows/nodejs.yml).
    Good: Issue or PR templates present.
  • benchmark
  • coverage
  • dist
  • notes
  • scripts
  • sketch
  • src
    Good: Test files detected (src/buildjs/tests).
  • .clocignore
  • .codeclimate.yml
  • .editorconfig
    Good: Linter or formatter configured (.editorconfig).
  • .eslintrc.json
  • .gitattributes
  • .gitignore
    Good: .gitignore present.
  • .log-progress.json
  • .nycrc
  • .travis.yml
  • CHANGELOG.long.md
  • CHANGELOG.md
  • CLAUDE.md
  • custom-elements-manifest.config.mjs
  • custom-elements.json
  • delete-merged-branches.ps1
  • jssm_viz.es5.d.cts
  • jssm_viz.es6.d.ts
  • jssm.cli.d.cts
  • jssm.cli.d.ts
  • jssm.es5.d.cts
  • jssm.es6.d.ts
  • LICENSE.md
    Good: Licensed under MIT.
  • log-progress.data.json
  • MIGRATING-jssm-viz.md
  • package-lock.json
    Good: Lockfile present (package-lock.json). Installs are reproducible.
  • package.json
    Good: Dependency manifest found (package.json).
  • README.md
    Good: README is present.
    Good: README is well structured with multiple sections.
    Good: README includes screenshots or visuals. Great for first impressions.
    Good: README has code examples.
    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.
  • rollup.config.cli.js
  • rollup.config.core.js
  • rollup.config.deno.js
  • rollup.config.viz.js
  • rollup.config.wc.instance.cdn.js
  • rollup.config.wc.instance.es6.js
  • rollup.config.wc.viz.cdn.js
  • rollup.config.wc.viz.es6.js
  • tsconfig.cli.json
  • tsconfig.json
  • tutorial_learn_testing.md
  • typedoc-options.cjs
  • vitest.docs.config.ts
  • vitest.dragon.config.ts
  • vitest.setup.ts
  • vitest.spec.config.ts
  • vitest.stoch.config.ts
  • vitest.unicode.config.ts