CLI
CLI
@pleaseai/code-style는 PleaseAI의 공유 코드 스타일을 어떤 프로젝트에도 적용해 주는 제로 설정 CLI입니다. ESLint / Prettier / EditorConfig 패키지를 설치하고, AI 코딩 어시스턴트가 처음부터 린트를 통과하는 코드를 작성할 수 있도록 AGENTS.md 규칙 블록을 관리합니다.
ultracite와 네이버페이의 @naverpay/code-style-cli에서 영감을 받았습니다.
빠른 시작
package.json이 있는 프로젝트 루트에서 실행하세요:
bunx @pleaseai/code-style
pnpm dlx @pleaseai/code-style
npx @pleaseai/code-style
CLI는 다음을 수행합니다:
- lockfile에서 패키지 매니저를 감지합니다 (bun → pnpm → yarn → npm, 기본값은 bun)
- 사용 가능한 도구를 체크박스 UI로 표시합니다. 이미 설치된 항목은
(installed)로 표시됩니다 - 선택한 패키지를 dev dependency로 설치합니다
- 해당 설정 파일을 작성하거나 업데이트합니다
명령어
init
대화형 설정 — 서브커맨드를 지정하지 않으면 기본 동작입니다.
pleaseai-code-style init
pleaseai-code-style init --yes # 비대화형, 기본값 수락
update
패키지나 다른 설정 파일을 건드리지 않고 AGENTS.md 규칙 블록 만 새로 고칩니다. @pleaseai/code-style을 업그레이드한 뒤 최신 규칙을 적용할 때 사용하세요.
pleaseai-code-style update
doctor
현재 프로젝트의 설정 상태를 보고합니다 — 어떤 패키지가 설치되어 있고, 어떤 설정 파일이 존재하는지 확인할 수 있습니다.
pleaseai-code-style doctor
지원 도구
| 도구 | npm 패키지 | 설정 파일 |
|---|---|---|
| eslint-config | @pleaseai/eslint-config, eslint | eslint.config.mjs |
| prettier-config | @pleaseai/prettier-config, prettier | package.json#prettier |
| editorconfig | @pleaseai/editorconfig | .editorconfig |
| agents-md | — | AGENTS.md (마커로 관리되는 블록) |
AGENTS.md 규칙 블록
CLI는 AGENTS.md에 마커로 구분된 블록을 작성하므로, 주변에 직접 작성한 내용을 섞어 두어도 다음 실행 시 사라지지 않습니다:
내 프로젝트 노트는 여기에 있습니다.
<!-- pleaseai-code-style:start -->
# PleaseAI Code Style
이 규칙은 `@pleaseai/code-style`에서 관리합니다.
`pleaseai-code-style update`를 실행하면 이 블록이 새로고침됩니다.
- 포매터: `@pleaseai/eslint-config` (`@antfu/eslint-config`를 감쌈)
- 세미콜론 없음, 홑따옴표, 공백 2칸 들여쓰기, trailing comma, LF 개행
- ESM만 사용 — `require`/`module.exports` 사용 금지
- ...
<!-- pleaseai-code-style:end -->
내 콘텐츠는 그대로 유지됩니다.
CLI는 두 마커 주석 사이의 내용 만 관리하며 — AGENTS.md의 나머지 내용은 그대로 보존됩니다. update를 연속으로 두 번 실행해도 no-op이며, 블록이 중복되지 않습니다.
전체 원본 규칙 목록은 AI 어시스턴트가 긴 버전을 읽기 원할 때 참고할 수 있도록 node_modules/@pleaseai/code-style/rules.md로 함께 배포됩니다.
옵션
| 플래그 | 설명 |
|---|---|
--yes, -y | 기본값을 수락하고 기존 파일을 확인 없이 덮어씀 |
--lang <ko|en> | CLI 언어 강제 지정 (기본값은 $LC_ALL / $LANG) |
--help, -h | 도움말 출력 |
--version, -v | CLI 버전 출력 |
현지화
CLI는 LC_ALL, LANG, LC_MESSAGES에서 locale을 자동 감지하며, 현재 한국어와 영어 메시지를 제공합니다. --lang ko 또는 --lang en으로 강제 지정할 수 있습니다:
pleaseai-code-style --lang ko init
CI에서의 사용
--yes와 언어 옵션을 조합하면 CI나 프로젝트 템플릿에 적합한 완전 비대화형 실행을 만들 수 있습니다:
pleaseai-code-style --yes --lang en init
모든 도구의 기본값을 수락하고, 기존 설정 파일을 덮어쓰며, 영어로 출력합니다.
바이너리
패키지는 두 개의 bin 엔트리를 노출합니다 — 원하는 것을 사용하세요:
pleaseai-code-styleplease-style(짧은 별칭)
둘 다 동일한 실행 파일을 가리킵니다.