프로젝트 구조 검사기

발행: (2025년 12월 18일 오전 03:49 GMT+9)
3 min read
원문: 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

관련 글

더 보기 »

텍스트 에디터 기반 리마인더

요약: PC에서 알림을 균형 있게 관리하는 것은 까다롭다. - CLI를 통해 빠르게 실행하고 싶지만 너무 시끄럽지는 않게 하고 싶다. - 알림을 적어 둔 텍스트 파일을 연다. 이것은...