Metadata-Version: 2.4
Name: devchecker
Version: 0.1.0
Summary: Cross-platform CLI that audits your dev environment (Termux, Linux, macOS, Windows)
Project-URL: Homepage, https://github.com/neforskiy/devchecker-python-package
Project-URL: Issues, https://github.com/neforskiy/devchecker-python-package/issues
Author: venslyy
License: MIT
License-File: LICENSE
Keywords: cli,devtools,docker,environment,linux,node,php,termux
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.12
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Description-Content-Type: text/markdown

# devchecker

Cross-platform CLI that audits your development environment: which tools are
installed, which versions, where they live on disk, and — for anything
missing — the exact command to install it. Works on **Linux, macOS, Windows,
and Termux (Android)**.

## Install

```bash
pip install devchecker
```

## Usage

```bash
# Full report, grouped by category
devchecker check

# Only one category
devchecker check --category "Package Managers"

# Search by name
devchecker check --search docker

# Machine-readable output
devchecker check --json
devchecker check --yaml

# One-line summary (good for scripts/CI)
devchecker check --summary

# Only show what's missing
devchecker check --missing-only

# Health check: broken combos + a score out of 100
devchecker doctor

# How do I install a specific tool on this machine?
devchecker install composer

# Compact per-line output with versions
devchecker check -wv
# Git установлен, v.2.43.0
# Docker не установлен

# Automatically install everything that's missing
devchecker autoinstall
devchecker autoinstall --category "Package Managers" --yes

# What platform did devchecker detect?
devchecker info
```

## Python API

```python
from devchecker import check, install

check()                 # -> {"Installed": ["git", "php", "nodejs"],
                         #     "Not_installed": ["composer", "docker", "python"]}
check("git")             # -> checks only git
check("all", True)       # -> versions glued onto installed names, e.g. "composer2.7.1"

install()                 # check()s everything, then installs whatever's missing
install("git")             # only installs git, and only if it isn't already there
```

`install()` runs the real package-manager command for your detected platform
(apt/pkg/brew/winget, or a documented special case like the Rust installer
script). Tools with no safe unattended install path are reported back under
`"manual_only"` instead of being guessed at — check the returned dict's
`installed` / `already_installed` / `failed` / `manual_only` keys.

## What it checks

Version control (git, gh), languages (Python, Node.js, PHP, Ruby, Go, Rust,
Java, Perl), package managers (npm, yarn, pnpm, pip, Composer, Cargo,
RubyGems), containers (Docker, Docker Compose, Podman, kubectl), databases
(MySQL, PostgreSQL, Redis, SQLite, MongoDB shell), build tools (Make, CMake,
GCC, Clang), and common utilities (curl, wget, ssh, ffmpeg, jq).

## `devchecker doctor`

Beyond a plain installed/missing list, `doctor` flags broken combinations —
PHP without Composer, Node without npm, Docker without Docker Compose — and
gives an overall environment health score.

## Example JSON output

```json
[
  {
    "key": "git",
    "name": "Git",
    "category": "Version Control",
    "installed": true,
    "version": "2.43.0",
    "path": "/usr/bin/git",
    "required": true,
    "error": null
  }
]
```

## Development

```bash
git clone https://github.com/neforskiy/devchecker-python-package
cd devchecker
pip install -e ".[dev]"
pytest
ruff check .
```

## License

MIT
