Good community traction and solid fundamentals. Nearly in the top tier.
The open LMS by Instructure, Inc.
Documentation
56
README12pt
30
README is present.
Install and run instructions9pt
45
README documents how to install the project.
Contributing guide5pt
85
Contributing guide is detailed and thorough.
License6pt
100
Licensed under AGPL-3.0.
Engineering
98
Reproducibility6pt
80
Lockfile present (Gemfile.lock). Installs are reproducible.
Tests18pt
100
Test files detected (app/controllers/test).
CI/CD14pt
100
CI is configured (.github/workflows/claude-code-review.yml).
Linting and formatting5pt
100
Linter or formatter configured (.editorconfig).
Issue and PR templates6pt
100
Issue or PR templates present.
Project health
87
Dependency manifest6pt
75
Dependency manifest found (Gemfile).
Activity5pt
80
Actively maintained (pushed within 3 months).
Repository metadata5pt
100
Repository has a description.
Housekeeping3pt
100
.gitignore present.
Repository files124 root entries
- .claude
- .config
- .devcontainer
- .githubGood: CI is configured (.github/workflows/claude-code-review.yml).Good: Issue or PR templates present.
- .vscode
- appGood: Test files detected (app/controllers/test).
- bin
- build
- config
- db
- doc
- docker-compose
- Gemfile.d
- gems
- hooks
- inst-cli
- jest
- lib
- log
- packages
- patches
- public
- script
- scripts
- spec
- tmp
- ui
- ui-build
- vendor
- .codeclimate.yml
- .dependency-cruiser.js
- .devcontainer.json
- .dockerignore
- .editorconfigGood: Linter or formatter configured (.editorconfig).
- .git-blame-ignore-revs
- .gitignoreGood: .gitignore present.
- .gitmessage
- .groovylintrc.json
- .i18nignore
- .i18nrc
- .irbrc
- .lintstagedrc.js
- .npmrc
- .nvmrc
- .rspec
- .rubocop.yml
- .sentryignore
- .stylelintrc
- .yarnrc.yml
- AGENTS.md
- biome.json
- CLAUDE.md
- code_of_conduct.mdGood: Code of conduct present.
- CODEOWNERS
- config.ru
- CONTRIBUTING.mdGood: Contributing guide is detailed and thorough.Issue: Contributing guide lacks a setup section (−12 pts).Fix: Show new contributors how to get a local dev environment running.Good: Contributing guide describes code style expectations.Issue: 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.
- COPYRIGHT
- docker-compose.localstack.yml
- docker-compose.new-jenkins-flakey-spec-catcher.yml
- docker-compose.new-jenkins-js.yml
- docker-compose.new-jenkins-linters.yml
- docker-compose.new-jenkins-package-translations.yml
- docker-compose.new-jenkins-selenium.yml
- docker-compose.new-jenkins.consumer.yml
- docker-compose.new-jenkins.vendored-gems.yml
- docker-compose.new-jenkins.yml
- docker-compose.spring.yml
- docker-compose.yml
- DockerfileGood: Environment pinned via Dockerfile.
- Dockerfile.githook
- Dockerfile.jenkins
- Dockerfile.jenkins-cache
- Dockerfile.jenkins.final
- Dockerfile.jenkins.js
- Dockerfile.jenkins.linters
- Dockerfile.jenkins.ruby-runner
- Dockerfile.jenkins.webpack-assets
- Dockerfile.jenkins.webpack-builder
- Dockerfile.jenkins.webpack-cache
- Dockerfile.jenkins.webpack-runner
- Dockerfile.jenkins.yarn-runner
- Dockerfile.master-bouncer
- Dockerfile.package-translations
- Dockerfile.production
- Dockerfile.puma
- eslint.config.jest.js
- eslint.config.js
- eslint.config.vitest.js
- GemfileGood: Dependency manifest found (Gemfile).
- Gemfile.lockGood: Lockfile present (Gemfile.lock). Installs are reproducible.
- gulpfile.js
- issue_template.md
- Jenkinsfile
- Jenkinsfile.axe
- Jenkinsfile.coverage
- Jenkinsfile.coverage-js
- Jenkinsfile.crystalball
- Jenkinsfile.docker-smoke
- Jenkinsfile.dynamodb
- Jenkinsfile.js
- Jenkinsfile.junit-uploader
- Jenkinsfile.master-bouncer-check-all
- Jenkinsfile.package-translations
- Jenkinsfile.postgres
- Jenkinsfile.redis
- Jenkinsfile.rspecq
- Jenkinsfile.selenium.flakey_spec_catcher
- Jenkinsfile.selenium.performance.chrome
- Jenkinsfile.test-subbuild
- Jenkinsfile.vendored-gems
- Jenkinsfile.xbrowser
- LICENSEGood: Licensed under AGPL-3.0.
- oxlint.json
- package.json
- Rakefile
- README.mdGood: README is present.Issue: README is fairly short (−10 pts). At 400+ chars you get partial credit; 1,500+ earns the full +20 pts.Fix: Expand with a description, install steps, usage, and examples.Issue: README has little structure (−15 pts). Add 2-3 headings for +8 pts; 4+ earns +15 pts.Fix: Break it into sections (Overview, Install, Usage, Contributing) using Markdown headings.Issue: 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.Issue: 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.Issue: No status badges in the README (−10 pts).Fix: Add CI/build status badges from shields.io or your CI provider to signal project health.Good: README documents how to install the project.Issue: No run or usage instructions found (−45 pts).Fix: Add a section showing how to start or use the project.
- renovate.json
- rspack.config.js
- schema.graphql
- SECURITY.mdGood: Security policy present.
- tsconfig.json
- vitest.config.ts
- vitest.workspace.ts
- yarn.lock