Skip to main content

Automated fork analysis and structural improvement for GitHub repositories

Project description

🏥 Fork Doctor

CI PyPI License: MIT Downloads

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.

Fork Doctor demo

✨ 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+
  • gh CLI authenticated (gh auth login)
  • Git configured

🤝 Contributing

See CONTRIBUTING.md for guidelines. Bug reports and pull requests welcome!

📄 License

MIT

🔖 GitHub Topics

python github repository-health devops automation ci-cd security sbom

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fork_doctor-0.3.0.tar.gz (2.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fork_doctor-0.3.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file fork_doctor-0.3.0.tar.gz.

File metadata

  • Download URL: fork_doctor-0.3.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

Hashes for fork_doctor-0.3.0.tar.gz
Algorithm Hash digest
SHA256 16a358bdf389c5acbafa51e88bd2aebcdc61f609b35b0b44f15bb4b695795078
MD5 2937d12a6bd728366e0af1d90da13bb3
BLAKE2b-256 ffaed91aece5be0428be51cd0b6d89ae0086eb507b17f9d7e5ca89166c0bd3eb

See more details on using hashes here.

File details

Details for the file fork_doctor-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: fork_doctor-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for fork_doctor-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87a8d3f020d784ac9f51eb00273ef7229b5afe9632d117ed85e828fd97d1acfb
MD5 5f1296ffc06f2a0923015d379b8a5a17
BLAKE2b-256 dfd619444bcac2cd4ca6712d335aeb852feaecda6d9a1265bb56886188dbcb1d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page