Metadata-Version: 2.4
Name: project-doctor-paola
Version: 0.1.0
Summary: A CLI tool that diagnoses Python project health: missing files, bad configs, no tests, and more.
Author: Paola
License-Expression: MIT
Project-URL: Homepage, https://github.com/paola/project-doctor
Project-URL: Bug Tracker, https://github.com/paola/project-doctor/issues
Keywords: cli,linter,project,health,doctor,diagnostics,devtools
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Utilities
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=13.0.0
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
Dynamic: license-file

﻿# 🩺 project-doctor

[![PyPI version](https://img.shields.io/pypi/v/project-doctor.svg)](https://pypi.org/project/project-doctor/)
[![Python versions](https://img.shields.io/pypi/pyversions/project-doctor.svg)](https://pypi.org/project/project-doctor/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

**`project-doctor`** is a CLI tool that diagnoses the health of any Python project.
Run it inside your project folder and get an instant, colorful report of what's missing,
what's misconfigured, and what needs attention.

---

## 🚀 Installation

```bash
pip install project-doctor
```

## 📋 Usage

```bash
# Diagnose the current directory
project-doctor

# Diagnose a specific path
project-doctor --path /path/to/my_project

# Strict mode: exit with code 1 if any errors found
project-doctor --strict
```

## 📊 Sample Output

```
╔══════════════════════════════════════════════════════╗
║          🩺 Project Doctor — Health Report           ║
╚══════════════════════════════════════════════════════╝

  Scanning: /home/user/my_project

  ┌─────────────────────────────────────────────────────┐
  │ Check               │ Status │ Message               │
  ├─────────────────────────────────────────────────────┤
  │ README              │  ✅    │ Found README.md        │
  │ LICENSE             │  ✅    │ Found LICENSE          │
  │ .gitignore          │  ✅    │ Found .gitignore       │
  │ Git repository      │  ✅    │ .git directory found   │
  │ tests/              │  ⚠️    │ No tests/ folder found │
  │ pyproject.toml      │  ✅    │ Valid config found     │
  │ name field          │  ✅    │ "my_project"           │
  │ version field       │  ✅    │ "1.0.0"                │
  │ description         │  ⚠️    │ Description is empty   │
  │ requires-python     │  ✅    │ ">=3.9"                │
  │ dependencies        │  ✅    │ 3 dependencies listed  │
  │ __init__.py docstr  │  ❌    │ Missing module docstr  │
  └─────────────────────────────────────────────────────┘

  Score: 9/12 checks passed

  🟡 Your project needs some attention. Fix warnings above.
```

## ✅ Checks Performed

| Category | Check |
|---|---|
| 📁 Structure | `README.md` / `README.rst` present |
| 📁 Structure | `LICENSE` file present |
| 📁 Structure | `.gitignore` present |
| 📁 Structure | `tests/` folder present |
| 🌐 Git | `.git/` directory exists |
| ⚙️ Config | `pyproject.toml` or `setup.py` found |
| ⚙️ Config | `name` field present and non-empty |
| ⚙️ Config | `version` field present |
| ⚙️ Config | `description` field non-empty |
| ⚙️ Config | `requires-python` specified |
| 📦 Deps | Dependencies listed in config or `requirements.txt` |
| 📝 Code | `__init__.py` has a module docstring |

## 🛠 Development

```bash
git clone https://github.com/paola/project-doctor
cd project-doctor
pip install -e ".[dev]"
pytest tests/ -v
```

## 📄 License

MIT © Paola
