82
/ 100
Well engineered. The main gaps are issue and PR templates and a contributing guide.
GTM Grid — local-first programmable GTM spreadsheet. Columns are functions. Source-available (FSL-1.1).
Top fixes
Highest-impact changes first, ranked by point weight
- 1README12pt
Add a GIF, screenshot, or logo image. It is the fastest way to show what your project does.
- 2README12pt
Add CI/build status badges from shields.io or your CI provider to signal project health.
- 3Reproducibility6pt
Add .github/dependabot.yml with at least one package-ecosystem entry, or a renovate.json, so dependencies are updated automatically.
- 4Issue and PR templates6pt
Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.
Working through the fixes? Let every push regrade itself.
The free GitHub App rescans this repo on every push and posts the grade as a commit check, so the score climbs without coming back to rescan by hand.
Scorecard
Every check, grouped by category and sorted worst-first
Documentation
73
No CONTRIBUTING.md found (−47 pts base + up to −53 pts more for content).
→ Add a CONTRIBUTING.md telling newcomers how to get involved. Include setup, code style, test, and PR instructions.
README is present.
README documents how to install the project.
Licensed under Other.
Engineering
85
No issue or PR templates found (−100 pts).
→ Add .github/ISSUE_TEMPLATE/ with bug_report.md and feature_request.md to guide contributors. It dramatically improves issue quality.
Lockfile present (pnpm-lock.yaml). Installs are reproducible.
Test files detected (apps/web/app/api/crm/attio/authorize/route.test.ts).
CI is configured (.github/workflows/ci.yml).
Linter or formatter configured (apps/web/eslint.config.mjs).
Project health
92
Dependency manifest found (package.json).
Repository has a description.
Actively maintained (pushed within the last month).
.gitignore present.
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- 0 / 0Commits (30d / 90d)
- 8Forks
- 120Releaseslatest 5mo ago
Community
- 37% - WeakCommunity health
- 1 bus factorlowauthor own >50% of commits
- 17Watchers
Responsiveness
- -Median issue response
- <1hMedian PR merge time
- 37Open issues
Repository files30 root entries
- .changeset
- .githubGood: CI is configured (.github/workflows/ci.yml).
- .turbo
- appsGood: Test files detected (apps/web/app/api/crm/attio/authorize/route.test.ts).Good: Linter or formatter configured (apps/web/eslint.config.mjs).
- bin
- docs
- extensions
- integrations
- marketing
- packages
- patches
- scripts
- supabase
- .env.example
- .gitignoreGood: .gitignore present.
- .oxlintrc.json
- AGENTS.md
- CLAUDE.md
- DESIGN.md
- docker-compose.ymlGood: Environment pinned via docker-compose.yml.
- LICENSEGood: Licensed under Other.
- package.jsonGood: Dependency manifest found (package.json).
- pnpm-lock.yamlGood: Lockfile present (pnpm-lock.yaml). Installs are reproducible.
- pnpm-workspace.yaml
- posthog-setup-report.md
- README.mdGood: README is present.Good: README is well structured with multiple sections.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.Good: README has code examples.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.Good: README documents how to run the project.
- tsconfig.base.json
- tsconfig.json
- turbo.json
- vitest.config.ts
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/badapplesdotdev/gtm-grid)