프로젝트 구조 검사기
Source: Dev.to
What it does
PSX는 프로젝트 유형(Node, Go 등)을 자동으로 감지하고, 저장소에 필수 파일이 있는지 확인하는 일련의 규칙을 실행합니다. 누락된 것이 있으면 psx fix를 실행해 합리적인 기본값을 생성할 수 있습니다. 규칙은 간단한 YAML 파일로 구성할 수 있으며, 검사는 속도를 위해 병렬로 실행됩니다.
Features
- 프로젝트 유형 자동 감지 및 기본 스캐폴딩
- 누락된 파일 및 폴더를 생성하는 자동 고정 모드
- 다중 언어 지원(Node.js, Go, 일반 프로젝트)
- 간단한 YAML 파일을 통한 규칙 구성
Installation
Quick install
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
Download binary
Pre‑built releases are available on GitHub for Linux (amd64, arm64), macOS (amd64, arm64) and Windows (amd64). See the Releases page on the repository.
Build from source
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
Quick start
cd my-project
psx check
If PSX finds missing or weak items you can auto‑fix:
psx fix
To confirm each change interactively:
psx fix --interactive
Example config (psx.yml)
Place this file in the repository root. PSX will auto‑detect the project type if type is left empty.
version: 1
project:
type: "go"
rules:
readme: error
license: warning
gitignore: warning
changelog: info
How auto‑fix works
psx fix reads your rules, determines what’s missing, and creates sensible defaults for README, .gitignore, LICENSE, etc. LICENSE files use standard templates; README is minimal (name, short description, install/run hints). The --interactive flag asks before applying each change.
Development notes
PSX is written in Go and requires Go 1.25+ to build. The codebase is modular, allowing detectors and rules to be extended. The current repository does not include tests (intentional for v1); contributions adding tests or lint rules are welcome.
Why I made it
Setting up a new project always involved repeating the same first few minutes of work—creating README, LICENSE, .gitignore, changelog, and other boilerplate. PSX provides a tiny tool to enforce a sane baseline so you can start coding faster and keep repositories consistent.
Future enhancements (not in v1)
- Plugin system for custom rules – allow users to add/share custom rule sets
- Multi‑project scanning – scan multiple repositories at once
- Git pre‑commit hook integration – run checks locally before commits
- Additional language support – Python, Rust, Java, etc.
- Improved code structure and quality – refactor modules, add more tests
- Editor/CI integrations – VS Code extension, CI checks
- Usability improvements – more templates, interactive flows
A note about v1
This is the first public version. It may contain bugs or missing features. Please try it, report issues, and provide feedback. Your input helps make the tool better.
If you want to help
Star the repository and consider contributing. Useful contributions include adding tests, writing linters, creating new language detectors, improving templates, or submitting small fixes. Open issues or pull requests and they will be reviewed.
Links & support
- Repository:
- Issues:
- Releases: