neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Repo Vitals — deterministic dependency-health scoring for npm and PyPI repositories, with grounded, cited remediation.
Developer toolsPython · TypeScriptGitHub @dhawsespandanOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Agentic RAG-based dependency health advisor that scans GitHub repositories, detects vulnerabilities and outdated/deprecated packages, and generates grounded remediation plans.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Deterministic dependency-health scoring for the repositories you actually own,
with grounded remediation you can check.Read the full README ↗Dependency-health scoring for GitHub repositories, with remediation grounded in each package's own documentation.
Live: https://repo-vitals-lilac.vercel.app
Sign in with GitHub and register a repository. RepoVitals reads every npm and PyPI manifest in it and scores the repository 0–100 from four signals per dependency — deprecation, vulnerability severity, CVE count and release staleness — with a drill-down showing which packages cost points and why. The score is deterministic: no language model touches it. On request, an agent writes remediation: a repository-wide triage report, and per-dependency plans grounded in the package's changelog and README, shown beside the retrieved text with citations. RepoVitals only reads; it never writes to a repository.
This branch holds exactly what the deployed services run, and it is final: the
deployment runs its latest commit. The project's plans, research, documentation
and tests are on the context
branch.
Browser
│
▼
Vercel ── frontend/ ── React + TypeScript SPA (static build)
│ /api/* is rewritten to Render, so the browser only ever talks to
│ one origin: one session cookie, no CORS
▼
Render ── backend/ ── Django + DRF under gunicorn (1 worker, 8 threads)
│ scans and report generation run in background threads
├──────► GitHub REST · npm registry · PyPI · OSV.dev · Groq (LLM)
▼
Supabase ── PostgreSQL
| Part | Host | Configuration |
|---|---|---|
| Frontend | Vercel (Hobby) | root directory frontend/; framework Vite; build npm run build; output dist/. frontend/vercel.json rewrites /api/* to https://repo-vitals.onrender.com/api/* and every other path to index.html |
| Backend | Render (free web service) | root directory backend/; build pip install -r requirements.txt; pre-deploy python manage.py migrate; start gunicorn config.wsgi -c gunicorn.conf.py |
| Database | Supabase (free PostgreSQL) | reached through DATABASE_URL over TLS (config/settings/prod.py) |
| Sign-in | GitHub OAuth App | callback URL https://repo-vitals-lilac.vercel.app/api/auth/github/callback/ — the frontend's origin, not Render's, because the OAuth round trip has to stay on the origin that holds the session cookie |
backend/requirements.txt is a frozen lock of every runtime dependency (one
file for Python 3.11–3.14); frontend/package-lock.json is the frontend's.
backend/.env.example documents each variable.
| Variable | Value |
|---|---|
DJANGO_SETTINGS_MODULE | config.settings.prod (wsgi.py defaults to it; manage.py, which runs the pre-deploy migration, does not) |
DJANGO_SECRET_KEY | a long random string |
ALLOWED_HOSTS | the Render service's host name |
DATABASE_URL | the Supabase connection string |
TOKEN_ENCRYPTION_KEY | a Fernet key; encrypts the GitHub tokens stored at rest. Rotating it invalidates them, so users sign in again |
GITHUB_OAUTH_CLIENT_ID, GITHUB_OAUTH_CLIENT_SECRET | the production OAuth App |
FRONTEND_URL | https://repo-vitals-lilac.vercel.app (post-login redirect and CSRF trusted origin) |
WEIGHTS_VERSION | v2 — which file in backend/weights/ scores every scan |
GROQ_API_KEY, GROQ_MODEL | report generation (openai/gpt-oss-120b). Without a key, the report endpoints answer "not configured" and everything else works |
CHROMA_DIR, EMBED_MODEL, GROUNDING_MIN_SIM, GROUNDING_MIN_CHARS,
EPSS_ENABLED and LOG_LEVEL have working defaults and are left unset.
| Problem | What handles it |
|---|---|
| Render's free instance sleeps after 15 idle minutes; the next request waits ~50 s | an external pinger (cron-job.org) sends HEAD /api/health/ every 10 minutes from 06:00 to 24:00 IST — 18 h a day, which fits Render's 750 free instance-hours a month |
| Supabase pauses a free project after about 7 idle days | .github/workflows/keepalive.yml calls /api/health/, which runs a real SELECT 1; GitHub runs it every few hours. It reads the URL from the repository variable RENDER_HEALTH_URL |
https://repo-vitals-lilac.vercel.app/api/health/ answers
{"status": "ok", "database": "ok"} when the frontend, the rewrite, the backend
and the database are all up. Allow about 50 s if the backend was asleep.
To rebuild without a commit: Render dashboard → the service → Manual Deploy; Vercel dashboard → the project → Deployments → Redeploy.
backend/
apps/ accounts · common · repositories · scanning · scoring · reports
research (only its permanent tables: scan history, agent traces)
config/ settings (base, dev, prod), urls, wsgi
weights/ the scoring weight vectors; WEIGHTS_VERSION picks one
manage.py gunicorn.conf.py requirements.txt .env.example
frontend/
src/ the single-page app
index.html package.json package-lock.json vite.config.ts vercel.json
tsconfig.json tailwind.config.js postcss.config.js
.github/workflows/keepalive.yml
Comments in the code cite design decisions as docs/decisions.md §N; that
log is on the context branch at engineering/decisions.md.
MIT — see LICENSE.