Metadata-Version: 2.4
Name: dcheckdev
Version: 0.2.0
Summary: One-command local dev environment checker: tool versions, PATH, key configs and port usage
Author: dongzhongcen
License-Expression: MIT
Project-URL: Homepage, https://github.com/dongzhongcen
Keywords: cli,devtools,environment,path,windows
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Topic :: Software Development
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich
Requires-Dist: psutil
Dynamic: license-file

# dcheckdev

一键检查本地开发环境的命令行工具。 / A one-command local dev environment checker.

## 简介

`dcheckdev` 会用彩色表格列出：

1. **工具版本**：对照内置「常见工具目录」，用 `PATH`（`shutil.which`）自动探测已安装项，并显示版本号与可执行文件位置；未命中的目录项会跳过，不会扫描整条 PATH
2. **PATH 检查**：重复、失效、变量无法展开、误把文件写进 PATH 的条目
3. **关键配置**：仅为已检测到的工具展示配置探针（如 Go 环境、pip/npm 镜像、Git 用户信息、Docker Compose 插件等）；环境变量（如 JAVA_HOME）在已设置或关联工具已安装时显示
4. **端口占用**：8000、8080、5173、3306、5672、6379 是否被占用，以及占用的程序

目录示例（节选）：python / python3、go、node、npm、git、java / javac、wails、docker、docker-compose、kubectl、rustc / cargo、gcc / clang、make / cmake、mvn / gradle、code、curl / wget / ssh、mysql / redis-cli / psql、pip / pip3、yarn / pnpm / bun / deno、php、ruby、dotnet、terraform、aws、gh 等。

从 **0.2.0** 起：交互式终端中运行 `devcheck` 会先播放简短开场动画，再进入编号菜单；工具列表改为目录 + PATH 自动探测；选择「各工具路径与关键配置」时，二级菜单只列出当前有内容可看的分组（并保留「全部配置」）。

若 stdin 或 stdout 不是 TTY（例如 CI、管道重定向），则自动退回：一次跑完全部检查，不进入菜单、不挂起等待输入。

### 安装

```bash
python -m pip install dcheckdev
```

### 使用

```bash
devcheck
```

交互菜单（TTY）：

```
1. 工具版本
2. PATH 检查
3. 各工具路径与关键配置
4. 端口占用
5. 全部跑一遍
0. 退出
```

非交互（管道 / CI）：

```bash
devcheck </dev/null
# 或
python checkdev.py </dev/null
```

建议在 PowerShell、Windows Terminal 等真正的终端里运行，颜色显示最完整。

---

## Overview

`dcheckdev` prints colored tables showing:

1. **Tool versions**: auto-detects installed tools from a built-in common catalog via `PATH` (`shutil.which`); shows version and executable path; skips missing catalog entries (does not scan every PATH executable)
2. **PATH check**: duplicate, missing, unexpanded-variable and file-instead-of-directory entries
3. **Key configs**: probes only for detected tools (Go env, pip/npm registry, Git identity, Docker Compose plugin, etc.); env vars such as `JAVA_HOME` appear when set or when a related tool is installed
4. **Port usage**: whether ports 8000, 8080, 5173, 3306, 5672 and 6379 are in use, and by which process

From **0.2.0**, in an interactive TTY `devcheck` shows a short opening animation and a numbered menu. Option 3 only lists config subgroups that have something to show (plus "all configs"). When stdin or stdout is not a TTY (CI, pipes), it falls back to running all checks once without prompting.

### Install

```bash
python -m pip install dcheckdev
```

### Usage

```bash
devcheck
```

## License

MIT
