← ClaudeAtlas

guards-setuplisted

Machine-enforced quality guards installer. Use for /hi-vibe:gate or when the user asks to 린트 설정, 타입 체크 강제, 순환의존 검사, CI 세팅, eslint/ruff/mypy 설정, complexity limit. Detects project language(s) and installs lint/type/cycle guards and optional CI — always asking before writing, always merging with existing configs.
jx-hxxx/hi-vibe · ★ 3 · Code & Development · score 79
Install: claude install-skill jx-hxxx/hi-vibe
# guards-setup > **답변 언어**: 이 지침은 한국어로 쓰였지만, **출력은 항상 사용자가 대화에서 쓰는 언어**를 따른다 (한국어→한국어, 영어→영어). 기존 문서·코드에 언어가 있으면 그쪽을 우선한다. 텍스트 규칙은 잊히지만 기계 게이트는 잊히지 않는다. 이 스킬은 규율의 절반을 린트/CI로 내려보낸다. 스니펫은 이 스킬의 `templates/`에 있다. ## 절차 (순서 엄수) 1. **감지**: `pyproject.toml`/`requirements*.txt`/`*.py` → Python; `package.json`/`tsconfig.json` → JS/TS; 둘 다면 둘 다. 2. **기존 설정 읽기**: ruff/mypy/eslint/import-linter 설정이 이미 있으면 먼저 읽는다. 절대 덮어쓰지 않는다. **이미 같은 일을 하는 도구가 있으면 그 항목을 아예 빼고 제안한다.** 타입 검사는 `mypy` 말고도 `basedpyright`·`pyright`가 흔하다 (`pyproject.toml`의 `[tool.basedpyright]`/`[tool.pyright]`, `pyrightconfig.json`, `package.json`의 pyright 스크립트). 있으면 mypy를 권하지 마라 — 타입체커 둘을 돌리면 서로 다른 소리를 한다. 비밀키도 `gitleaks`·`detect-secrets` 설정이 있으면 마찬가지다. **겹치는 걸 또 깔아주는 건 도움이 아니라 짐이다.** 3. **묻기 (AskUserQuestion, 필수)**: 설치할 가드를 multiSelect로 고르게 한다. 사용자는 대개 입문자다 — 아래를 지켜라. - **쉬운 말로.** 전문용어(complexity·max-depth·dpdm·exit 1·no-any· OAuth 등)를 앞세우지 말고, "이게 나한테 뭘 해주는지"를 한 줄로 먼저 쓴다. 정확한 규칙값은 괄호로 뒤에 짧게. 예: "코드가 너무 길고 복잡해지면 빨간불로 알려줘요 (함수 60줄·복잡도 10 넘으면)". - **추천 표시.** 로컬에서 외부 설정 없이 바로 되는 가드(복잡도 린트 + 순환 의존 검사)를 **맨 앞에 두고 label에 "(추천)"**을 붙인다. 입문자 기본값은 이 둘이면 충분하다 — GitHub도 토큰도 필요 없는 순수 이득. - **CI 가드**는 **GitHub 리모트(`git remote`)가 있을 때만** 추천으로 올린다 — "GitHub에 올릴 때마다 자동 검문, 통과 못 하면 못 올려요 (초반엔 답답할 수 있어요)". 리모트가 없으면 목록에서 빼거나 "나중에"로. - **격주 구조 감사**는 label에 "(고급)"을 붙이고, **켜기 전에 OAuth 토큰 등록·Actions 권한 설정이 필요**하다고 설명에 미리 밝힌다. 처음이면 나중에 해도 된다고 안내. - **"다 켜