Skip to content

nadonghuang/devdoctor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python License Zero Deps Platform

πŸ”© devdoctor

Run diagnostics on your development environment β€” detect tools, check versions, verify configs, prescribe fixes.

Features β€’ Install β€’ Usage β€’ Profiles β€’ License

  πŸ”© devdoctor β€” Development Environment Diagnostics
  ────────────────────────────────────────────────
  πŸ“… 2026-04-01 00:02 Β· mymachine

  πŸ–₯️ System
  ────────────────────────────────────────
  βœ”  System Info      β”‚ Darwin 25.5.0 (arm64) Β· Python 3.14.3
  βœ”  Shell            β”‚ zsh (/bin/zsh)
  βœ”  Homebrew         β”‚ Homebrew 5.1.1
  βœ”  Disk Space       β”‚ 12Gi/228Gi used (36%) β€” 21Gi available

  πŸ‘Ύ Languages & Runtimes
  ────────────────────────────────────────
  βœ”  Python           β”‚ Python 3.14.3
  βœ”  Node.js          β”‚ v23.11.0
  βœ”  Go               β”‚ go1.25.6 darwin/arm64
  βœ”  Rust             β”‚ rustc 1.92.0

  πŸ“‚ Version Control
  ────────────────────────────────────────
  βœ”  Git              β”‚ git version 2.49.0
  βœ”  Git Config       β”‚ user: you <you@email.com>
  ⚠  SSH Keys         β”‚ No SSH key found

  ════════════════════════════════════════════════

  πŸ“Š Health Score:  88/100  Grade A
    [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘]

  βœ” Passed: 39   ⚠ Warnings: 3   ✘ Failed: 0   Total: 44

✨ Features

  • 🩺 Comprehensive Health Check β€” Scans 40+ items across 10 categories: system, languages, VCS, build tools, DevOps, editors, dev tools, network, security, Python environment
  • 🎨 Beautiful Terminal Report β€” Color-coded output with βœ”/⚠/✘ icons, health score, and grade (A–D)
  • πŸ“Š Health Score β€” Quantified 0–100 score with visual progress bar
  • πŸ”§ Fix Suggestions β€” --fix flag shows actionable fixes for every issue found
  • πŸ“‹ Multiple Profiles β€” all, web, devops, python profiles for focused checks
  • πŸ“„ JSON Output β€” Machine-readable --json flag for CI/CD pipelines
  • πŸ”‡ Quiet Mode β€” --quiet to only show warnings and failures
  • 🐍 Zero Dependencies β€” Pure Python 3.8+, no pip install needed
  • πŸ–₯️ Cross-Platform β€” Works on macOS, Linux, and WSL

πŸ“¦ Installation

Direct download (recommended):

# Clone and run
git clone https://github.com/nadonghuang/devdoctor.git
python3 devdoctor/devdoctor.py

One-liner (no clone needed):

python3 -c "$(curl -fsSL https://raw.githubusercontent.com/nadonghuang/devdoctor/master/devdoctor.py)"

Install as a command:

pip install git+https://github.com/nadonghuang/devdoctor.git
devdoctor

πŸš€ Usage

# Run full diagnostics
python3 devdoctor.py

# Check only web developer essentials
python3 devdoctor.py --profile web

# Show fix suggestions for issues
python3 devdoctor.py --fix

# JSON output for scripts and CI/CD
python3 devdoctor.py --json

# Only show warnings and failures
python3 devdoctor.py --quiet

# Combine flags
python3 devdoctor.py --profile python --fix

Programmatic Usage

from devdoctor import (
    check_system, check_languages, check_vcs,
    check_security, check_dev_tools, render_json
)

# Run specific checks
results = check_system() + check_languages() + check_vcs()

# Get JSON output
print(render_json(results))

🎯 Profiles

Profile Description Checks
all Full checkup (default) System, Languages, VCS, Packages, Dev Tools, Security, Disk, Network, Dotfiles, Python
web Web developer essentials System, Languages, VCS, Packages, Dev Tools, Disk, Network
devops DevOps engineer essentials System, Languages, VCS, Dev Tools, Security, Disk, Network
python Python developer essentials System, Languages, VCS, Packages, Python env, Disk, Network

πŸ” What It Checks

πŸ–₯️ System
  • OS and architecture
  • Default shell (zsh/bash/fish)
  • Terminal emulator
  • Homebrew installation
  • Disk space usage
  • Dotfiles presence
πŸ‘Ύ Languages & Runtimes
  • Python, Node.js, Ruby, Go, Rust, Java, PHP
  • Version compatibility checks (e.g., Node.js β‰₯ 18 LTS)
πŸ“‚ Version Control
  • Git installation and version
  • Git user.name / user.email configuration
  • SSH keys for GitHub/GitLab
  • GPG signing key setup
πŸ”’ Security
  • Firewall status (macOS)
  • Suspicious .env files in HOME directory
  • SSH directory permissions
πŸ› οΈ Developer Tools
  • Docker, Kubernetes CLI, Terraform, Ansible
  • Build tools (Make, CMake, GCC, Clang)
  • Editors (VS Code, Cursor, Vim, Nano)
  • CLI tools (gh, jq, ripgrep, fd, fzf, bat, eza, delta, lazygit, tmux, htop)

πŸ“ Project Structure

devdoctor/
β”œβ”€β”€ devdoctor.py        # Main script (single file, zero deps)
β”œβ”€β”€ bin/
β”‚   └── devdoctor       # CLI entry point
β”œβ”€β”€ pyproject.toml      # Package configuration
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE
└── .gitignore

🀝 Contributing

  1. Fork the repo
  2. Create your feature branch: git checkout -b feature/amazing-check
  3. Add your check function in devdoctor.py
  4. Make sure it returns CheckResult objects
  5. Commit and push: git commit -m 'Add amazing check'
  6. Open a Pull Request

πŸ“„ License

MIT β€” see LICENSE for details.


Made with ⚑ by nadonghuang
If you find this useful, please give it a ⭐!

About

πŸ”© Run diagnostics on your dev environment β€” detect tools, check versions, verify configs, prescribe fixes. Zero deps.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages