Paste a GitHub repository URL to check its health: an explainable score, a checklist of what to fix with exact fixes, a secret scan, tech stack and architecture. Public repositories need no sign-in; connect GitHub (read-only) for private ones.
or
Private repositories
Public repositories work without any connection.
Read-only access — EditMyStuff cannot modify your repository. Tokens stay on our server, never in your browser.
Try a public repo like or .
Check a GitHub repository’s health
GitHub Repo Doctor is a free GitHub repository checker. Paste the URL of any public repository — or connect a private one with read-only access — and get a health report you can act on: a 0–100 score that explains every point, a checklist of problems ranked by severity with the exact fix and file for each, a scan for exposed secrets, and a map of the tech stack, architecture and dependencies.
Every result is computed from the repository itself — its file tree, GitHub metadata and the key files it reads — not guessed by AI. Use it to audit a project before you publish it, to review a dependency you’re about to adopt, or to understand a codebase you’ve just joined.
How to check a GitHub repository
A repository health check takes under a minute:
Paste a repository URL — for example https://github.com/owner/repo — and press Analyze. For a private repository, connect GitHub first (read-only).
Repo Doctor reads the file tree and repository details, then downloads a bounded set of key files: manifests, README, config, entry points and likely secret locations.
Read the health score and open the Repository checklist. Filter by Critical, Warnings, Suggestions or Passed.
Expand a problem to see why it matters, how to fix it and where. Copy the fix, or open a prefilled new file on GitHub and commit it yourself.
Copy the checklist as Markdown into an issue or pull request to track the work, then re-run the check after pushing fixes.
What the repository health check covers
Documentation. README present and whether it explains setup and usage, license, contributing guide, changelog and security policy.
GitHub metadata. Repository description, topics, website link for deployed projects, issue templates, pull request template and archived status.
Configuration. .gitignore, .editorconfig, a linter, TypeScript strict mode and a pinned Node.js version.
Dependencies. A committed lockfile, conflicting lockfiles, dependencies with no version range (“*”, “latest”) and packages listed twice.
Developer experience. Continuous integration, test files, a real npm test script and a .env.example for the environment variables the code reads.
Security. Committed .env and private key files, likely exposed API keys and tokens, and hardcoded credentials — always masked.
When to run a repository check
Before making a repository public. Catch a committed .env file, a missing license or an empty README before anyone else sees it.
Before adopting a library. See at a glance whether it has tests, CI, a license and recent activity.
Joining a new codebase. Use the architecture map, dependency graph and “Where should I start?” list to find your way around.
Portfolio and open-source projects. Work through the suggestions — topics, templates, a contributing guide — so the project looks maintained.
How the health score works
The score is a weighted average of six dimensions, each scored 0–100 from signals in the repository and shown with the reasons that moved it: documentation (20%), testing (20%), dependencies (15%), security (15%), maintainability (15%) and project structure (15%). Grades run A (90+), B (80+), C (65+), D (50+) and F.
The checklist is separate and simpler: each check passes, fails or is “not checked”, and the summary counts passed checks per category, so every number maps to a named check you can open.
Common GitHub repository problems
A committed .env file. Even after deleting it, the secrets stay in git history — rotate them.
No license. Public code without a license can’t legally be reused, so contributors and companies stay away.
A README with no setup steps. The quickest way to lose a new user is making them guess how to run the project.
No lockfile, or two of them. Installs drift between machines, and CI tests different dependency versions than you did.
“test”: “echo Error: no test specified”. The npm default, which makes npm test fail in every CI tool.
How to prepare a repository before sharing it
Resolve every Critical item first — exposed secrets, committed .env or key files.
Add a README with what the project does, how to install and run it, and a usage example.
Choose a license and add a description and topics in the About section.
Commit a lockfile and a CI workflow that runs your tests.
Add a contributing guide plus issue and pull request templates if you want outside contributions.
Limitations
Only a bounded set of files (up to 32) is downloaded, so the secret scan and content checks are not a full audit of every file or of git history. Enable GitHub secret scanning for complete coverage.
Very large repositories can have their file tree truncated by GitHub; checks that depend on a file being absent are then marked “not checked”.
Dependency versions are compared with the npm registry; vulnerability status is not reported — use npm audit or Dependabot.
Public analysis uses GitHub’s anonymous API, which limits requests per network, so many analyses in a short time can hit a temporary limit.
Frequently asked questions
What is GitHub Repo Doctor?+
GitHub Repo Doctor is a free GitHub repository checker. Paste a repository URL and it produces a health report: an explainable 0–100 health score, a checklist of problems with fixes, the detected tech stack, a scan for exposed secrets, an architecture map, an import-based dependency graph, a code explorer and analysis of open issues.
What does the repository checklist check?+
Up to about 30 checks, depending on the project: README (and whether it has setup and usage sections), license, contributing guide, changelog, security policy, repository description and topics, issue and pull request templates, .gitignore, .editorconfig, linter and TypeScript strict mode, Node version, lockfiles and unpinned dependencies, CI, tests and the npm test script, documented environment variables, committed .env or key files, and exposed secrets. Checks that don’t apply to the project are skipped.
Can it fix problems automatically?+
No — it has read-only access and never writes to your repository. Each problem has a copyable fix, and missing files such as a pull request template or .gitignore come with an “Open prefilled on GitHub” link that opens GitHub’s own new-file editor, where you review and commit the change yourself.
What does “not checked” mean?+
The check couldn’t be decided from the data that was fetched — for example GitHub truncated a very large file tree, a file’s content wasn’t downloaded, or tsconfig.json extends another config. Those checks are shown but never counted as failures.
Can I analyze a private GitHub repository?+
Yes. Public repositories work instantly with no sign-in. For a private repository you connect GitHub with read-only access (a GitHub App you can revoke anytime); private-repository reads go through a server-side proxy, so no GitHub token is ever exposed to your browser.
Do I need a GitHub token or password?+
No password or personal token. Public repositories use GitHub’s public API directly from your browser. For private repositories you authorize a read-only GitHub App; the credentials stay on the server and the browser never receives a token.
Is the health score AI-generated?+
No. The score is deterministic — every point comes from a real signal in the repository (README and license, tests and CI, lockfile and dependency count, exposed-secret findings, activity and contributors, project structure). AI, if used, only explains the results; it never sets the score or the checklist.
Can it map a repository’s code, not just score it?+
Yes. Besides the score and the checklist, the report has an architecture map, a dependency graph built from the imports that resolve to real files, a searchable code explorer and an analysis of open issues, so you can find your way around a codebase you don’t know yet.
How does the dependency graph work?+
It builds relationships from actual imports — ES import/export, CommonJS require, dynamic import, TypeScript and Python imports — resolved against the real file tree. An edge appears only when an import resolves to a file that truly exists; it never guesses relationships from similar filenames.
Is my data private?+
Public analysis runs in your browser against GitHub’s public API; private analysis runs through a read-only server proxy. The optional AI explanation sends only a small, redacted slice of the repository (a structured summary and a few truncated excerpts) to an AI provider through the site’s AI service (using your own key if you add one in AI settings) — never detected secrets, .env files, or the whole codebase.
Does the AI invent files or vulnerabilities?+
No. The deterministic analysis only reports what it actually finds, and the AI is constrained to the real files provided and told never to invent files, functions or facts. Dependency versions are compared with the latest release on npm, but vulnerability checks are not included — verify those with npm audit or GitHub Dependabot.
What about very large repositories?+
The tool reads the file tree once and fetches only a bounded set of files, skipping node_modules, build output, binaries and media. The dependency graph shows a focused, explorable subset rather than thousands of nodes at once, and long issue lists are virtualized, so even large repositories stay responsive.