78
/ 100
Good shape overall. A few tweaks would push it into the top tier.
PostHog FOSS is a read-only mirror of PostHog, with all proprietary code removed. NOTE: This repo is synced automatically from the main PostHog repo. Please raise any issues and PRs there.
Top fixes
Highest-impact changes first, ranked by point weight
- 1Tests18pt
Set scripts.test in package.json to your actual test command, e.g. "vitest" or "jest".
- 2CI/CD14pt
If your CI lives elsewhere (a private repo that builds this one) or this project is itself a CI/CD tool, mark this check Not Applicable. Otherwise add a GitHub Actions workflow that runs tests on each push. It takes 15 minutes and reassures contributors their changes won't break things.
- 3Reproducibility6pt
Add .github/dependabot.yml with at least one package-ecosystem entry so dependencies are updated automatically.
- 4Dependency manifest6pt
Add a one-line description to package.json. It appears in npm search and on GitHub.
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
95
Contributing guide is detailed and thorough.
README is present.
README documents how to install the project.
Licensed under MIT.
Engineering
63
No CI configuration detected in this repository.
→ If your CI lives elsewhere (a private repo that builds this one) or this project is itself a CI/CD tool, mark this check Not Applicable. Otherwise add a GitHub Actions workflow that runs tests on each push. It takes 15 minutes and reassures contributors their changes won't break things.
Lockfile present (pnpm-lock.yaml). Installs are reproducible.
Test files detected (.github/scripts/assign-reviewers.test.js).
Linter or formatter configured (.editorconfig).
Issue or PR templates present.
Project health
85
.gitignore present.
Dependency manifest found (package.json).
Repository has a description.
Actively maintained (pushed within the last month).
Repository health signals
Activity, community, and responsiveness at scan time
Activity
- 8125 / 19231Commits (30d / 90d)
- 101Forks
- 0Releases
Community
- 87% - GoodCommunity health
- 5 bus factorauthors own >50% of commits
- 516Watchers
Responsiveness
- -Median issue response
- -Median PR merge time
- 0Open issues
Repository files106 root entries
- .agentsGood: Security policy present.
- .claude
- .config
- .cursor
- .dagster_home
- .depot
- .floxGood: .gitignore present.
- .githubGood: Test files detected (.github/scripts/assign-reviewers.test.js).Good: Issue or PR templates present.
- .husky
- .ideaIssue: Build artifacts or local files may be committed (.idea/posthog.iml) (−40 pts).Fix: Remove them and add to .gitignore.
- .interface-design
- .pi
- .posthog-code
- .run
- .semgrep
- .vscode
- .zed
- agent-os
- bin
- cli
- common
- devenv
- docker
- docs
- frontend
- funnel-udf
- livestream
- nodejs
- packages
- patches
- playwright
- posthog
- products
- proto
- rust
- services
- share
- terraform
- tools
- .cursorignore
- .cursorrules
- .dockerignore
- .editorconfigGood: Linter or formatter configured (.editorconfig).
- .env.development
- .env.example
- .env.local.example
- .env.services
- .envrc
- .git-blame-ignore-revs
- .gitattributes
- .gitignore
- .kearc
- .mcp.json
- .nvmrc
- .oxfmtrc.json
- .oxlintrc.json
- .stylelintignore
- .stylelintrc.js
- .test_durations
- .test_quarantine.json
- .watchmanconfig
- .worktreeinclude
- .worktreelink
- AGENTS.md
- AI_POLICY.md
- CHANGELOG.md
- CLAUDE.md
- conftest.py
- 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.Issue: Contributing guide lacks a code style section (−8 pts).Fix: Describe your linting/formatting rules and how to run them.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.Issue: Contributing guide has no code examples (−5 pts).Fix: Add code blocks showing example commands for setup, running tests, and submitting a PR.
- dagster_cloud.yaml
- depot.json
- dist-workspace.toml
- docker-compose.base.yml
- docker-compose.dev-full.yml
- docker-compose.dev.yml
- docker-compose.hobby.yml
- docker-compose.multinode-clickhouse.yml
- docker-compose.playwright.yml
- docker-compose.profiles.yml
- docker-compose.sandbox.yml
- DockerfileGood: Environment pinned via Dockerfile.
- Dockerfile.llm-analytics
- Dockerfile.node
- Dockerfile.playwright
- Dockerfile.recording-rasterizer
- Dockerfile.sandbox
- greptile.json
- hogli.yaml
- LICENSEGood: Licensed under MIT.
- manage.py
- otel-collector-config.dev.yaml
- package.jsonGood: Dependency manifest found (package.json).
- pnpm-lock.yamlGood: Lockfile present (pnpm-lock.yaml). Installs are reproducible.
- pnpm-workspace.yaml
- postcss.config.js
- posthog.json
- pyproject.toml
- pytest.ini
- README.mdGood: 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.
- tach.toml
- tsconfig.dev.json
- tsconfig.json
- tsconfig.kea-typegen.json
- turbo.json
- unit.json.tpl
- uv.lock
Add this badge to your README
It updates automatically each time the repo is re-graded.
[](https://www.repo-grade.com/report/posthog/posthog-foss)