프로젝트 구조 검사기

발행: (2025년 12월 18일 오전 03:49 GMT+9)
3 분 소요
원문: Dev.to

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.

  • Repository:
  • Issues:
  • Releases:
Back to Blog

관련 글

더 보기 »

PSX: 프로젝트 구조 검사기

PSX – Project Structure eXtractor는 프로젝트 레이아웃을 검증하고 자동으로 수정해 주는 command‑line 도구입니다. 전체 repo에 대한 linter라고 생각하면 됩니다.