Automated fork analysis and structural improvement for GitHub repositories
Project description
🏥 Fork Doctor
Automated fork analysis and structural improvement for GitHub repositories.
Fork Doctor forks a repo, analyzes what's missing (CI, security scanning, templates, etc.), and optionally creates a PR with all improvements applied.
✨ Features
- 12 health checks — CI, CodeQL, Dependabot, pre-commit, issue/PR templates, CONTRIBUTING, release automation, devcontainers, README badges, license, benchmarks, SBOM
- Language-aware — auto-detects Python, JavaScript, TypeScript, Go, Rust and generates appropriate configs
- Dry-run mode — preview changes without committing
- Rich output — beautiful tables, progress bars, colored terminal output
- One command — fork, analyze, improve, and open a PR in seconds
📦 Installation
pip install fork-doctor
Or with uv:
uv tool install fork-doctor
🚀 Usage
Analyze a repo
fork-doctor analyze https://github.com/owner/repo
Apply improvements
fork-doctor improve https://github.com/owner/repo
Generate a report (no fork)
fork-doctor report https://github.com/owner/repo
Options
| Flag | Description |
|---|---|
--dry-run |
Preview changes without committing or pushing |
--language <lang> |
Override auto-detected language (python/javascript/typescript/go/rust) |
--verbose |
Show detailed output |
Programmatic usage
from fork_doctor import ForkDoctor
fd = ForkDoctor("https://github.com/owner/repo")
results = fd.analyze()
print(results)
# {'ci': True, 'codeql': False, 'dependabot': False, ...}
📋 What It Checks
| # | Check | Description |
|---|---|---|
| 1 | CI | GitHub Actions CI/CD pipeline |
| 2 | CodeQL | CodeQL security scanning |
| 3 | Dependabot | Automated dependency updates |
| 4 | Pre-commit | Pre-commit hook configuration |
| 5 | Issue Templates | Structured issue templates |
| 6 | PR Templates | Pull request templates |
| 7 | Contributing | CONTRIBUTING.md guide |
| 8 | Release | Semantic versioning + release automation |
| 9 | DevContainer | Dev container configuration |
| 10 | README Badges | Badges and improved structure |
| 11 | License | License file and compliance |
| 12 | Benchmark | Performance benchmarking setup |
| 13 | SBOM | Software Bill of Materials generation |
🛠️ Requirements
- Python 3.9+
ghCLI authenticated (gh auth login)- Git configured
🤝 Contributing
See CONTRIBUTING.md for guidelines. Bug reports and pull requests welcome!
📄 License
🔖 GitHub Topics
python github repository-health devops automation ci-cd security sbom
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fork_doctor-0.2.0.tar.gz.
File metadata
- Download URL: fork_doctor-0.2.0.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a4df603ccb79edd73d9f8052225c6b4048fd8abca21880347b0b0ad917605b9
|
|
| MD5 |
63f185a687bbd07a8c17ca1f6eec0394
|
|
| BLAKE2b-256 |
0912cf2bf72eabe422f463795dc75a342f6c54fe2ea9521618fb6b10f4236a8b
|
File details
Details for the file fork_doctor-0.2.0-py3-none-any.whl.
File metadata
- Download URL: fork_doctor-0.2.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcfcfeddeba7040124a69fb6d19151b7e9688c3330267f4816109ae70392b72e
|
|
| MD5 |
2f8558ba2799ac3aafb57f523b36b655
|
|
| BLAKE2b-256 |
ea024a3962bd53302a1c01f65b0b2b64af147f90404d013a12835853db65d7de
|