Thanks for your interest! DevLens has two main parts — the Next.js dashboard (dashboard/) and the GitHub Action scripts (scripts/). Contributions to either are welcome.
git clone https://github.com/SamoTech/devlens
cd devlens/dashboard
npm install
cp .env.example .env.local # fill in env vars (see dashboard/README.md)
npm run dev # → http://localhost:3000Stack: Next.js 15 (App Router) · TypeScript · Upstash Redis · NextAuth v5 · Vercel
- Edit
dashboard/lib/scorer.ts— add or adjust thescore_xxx()function - Update
dashboard/lib/constants.ts— add the key toDimKeyandDEFAULT_WEIGHTS - Update dimension metadata in
dashboard/components/RepoCard.tsx(label, emoji, description) - Update the docs page (
dashboard/app/docs/page.tsx) with the new scoring logic - Submit a PR with a clear description of the metric rationale and scoring formula
All API routes live in dashboard/app/api/. Each route is a standard Next.js Route Handler (route.ts).
Redis integration uses dashboard/lib/redis.ts (Upstash REST client).
git clone https://github.com/SamoTech/devlens
cd devlens
pip install requests PyGithub python-dateutil
export GITHUB_TOKEN=your_token
export REPO=owner/repo-name
python scripts/devlens.pyNote: The Python scripts power the GitHub Action (action.yml). The dashboard uses its own TypeScript scorer in dashboard/lib/scorer.ts.
- Write a
score_xxx()function inscripts/devlens.py - Add it to the
weightsdict (weights must sum to 1.0) - Add the new output to
action.ymloutputs if relevant - Submit a PR with a description of the metric rationale
- TypeScript: strict mode, no
any, descriptive names - Python: PEP8, descriptive names, comment complex logic
- All PRs should include a description of what changed and why
- Fork the repo and create a feature branch:
git checkout -b feat/my-feature - Make your changes, test locally
- Open a PR against
mainwith a clear title and description - A maintainer will review within a few days
Open an issue at github.com/SamoTech/devlens/issues with steps to reproduce.
This project follows the Contributor Covenant Code of Conduct.