项目结构检查器
Source: Dev.to
它的功能
PSX 能自动检测项目类型(Node、Go 等),并运行一套规则以确保仓库拥有必需的文件。如果缺少某些文件,你可以运行 psx fix,它会创建合理的默认文件。规则可通过一个简单的 YAML 文件进行配置,检查会并行执行以提升速度。
特性
- 自动检测项目类型并生成基础脚手架
- 自动修复模式,可创建缺失的文件和文件夹
- 支持多种语言(Node.js、Go、通用项目)
- 通过简单的 YAML 文件配置规则
安装
快速安装
Linux / macOS
curl -sSL https://raw.githubusercontent.com/m-mdy-m/psx/main/scripts/install.sh | bash
Windows (PowerShell)
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/m-mdy-m/psx/main/scripts/install.ps1" -OutFile install.ps1; .\install.ps1 github
下载二进制文件
在 GitHub 上提供了预编译的发行版,支持 Linux(amd64、arm64)、macOS(amd64、arm64)和 Windows(amd64)。请查看仓库的 Releases 页面。
从源码构建
git clone https://github.com/m-mdy-m/psx
cd psx
make build
sudo make install
Docker
docker pull bitsgenix/psx:latest
docker run --rm -v $(pwd):/project psx:latest check
快速开始
cd my-project
psx check
如果 PSX 发现缺失或不完整的项目项,你可以自动修复:
psx fix
交互式确认每一次更改:
psx fix --interactive
示例配置 (psx.yml)
将此文件放在仓库根目录。若 type 留空,PSX 将自动检测项目类型。
version: 1
project:
type: "go"
rules:
readme: error
license: warning
gitignore: warning
changelog: info
自动修复的工作原理
psx fix 读取你的规则,判断缺失的内容,并为 README、.gitignore、LICENSE 等文件创建合理的默认内容。LICENSE 文件使用标准模板;README 为最小化格式(包含名称、简短描述、安装/运行提示)。--interactive 标志会在应用每项更改前询问确认。
开发说明
PSX 使用 Go 编写,构建时需要 Go 1.25+。代码库采用模块化设计,便于扩展检测器和规则。目前仓库未包含测试(v1 版本的有意设计);欢迎贡献测试或 lint 规则。
我为何创建它
创建新项目时,总是要重复做同样的前几分钟工作——编写 README、LICENSE、.gitignore、changelog 以及其他模板文件。PSX 提供了一个小工具来强制执行合理的基线,让你可以更快开始编码,并保持仓库的一致性。
未来改进(v1 未包含)
- 插件系统用于自定义规则 – 允许用户添加/共享自定义规则集
- 多项目扫描 – 一次性扫描多个仓库
- Git pre‑commit hook 集成 – 在提交前本地运行检查
- 额外语言支持 – Python、Rust、Java 等
- 改进代码结构和质量 – 重构模块、增加更多测试
- 编辑器/CI 集成 – VS Code 插件、CI 检查
- 可用性提升 – 更多模板、交互式流程
关于 v1 的说明
这是首个公开版本,可能包含 bug 或缺失功能。请尝试使用、提交问题并提供反馈。你的意见有助于让工具变得更好。
如果你想帮助
给仓库加星并考虑贡献。有价值的贡献包括添加测试、编写 linter、创建新语言检测器、改进模板或提交小的修复。打开 issue 或 pull request,团队会进行审阅。
链接与支持
- 仓库:
- Issues:
- Releases: