Communitygithub.com

niksavis/basicly

코딩 에이전트를 위한 하네스(harnes): 워크플로우와 상태를 함께 전달합니다. 단순한 지침이 아닌 하나의 YAML 카탈로그를 모든 에이전트의 네이티브 설정에 투영하고, 작업 트리 격리 및 직렬 병합 큐를 갖춘 결정론적 루프, 커밋 시점에 적용되는 게이트를 제공합니다.

basicly란 무엇인가요?

Basicly는 AI 코딩 에이전트(예: Claude Code, Cursor, Codex)를 위한 확장 가능한 하네스입니다. 단순한 지시문을 제공하는 대신, 워크플로우와 상태를 에이전트의 네이티브 환경으로 직접 전달합니다. 핵심은 모든 에이전트 설정에 YAML 카탈로그를 투영하고, 작업 트리 격리 및 직렬 병합 큐를 갖춘 결정론적 루프를 실행하며, 커밋 시점에 게이트를 적용하는 구조적 프레임워크입니다. 이는 여러 에이전트가 동시에 작업할 때 발생하는 충돌과 불일치를 방지하고, 재현 가능한 빌드와 일관된 코드 품질을 보장합니다. Basicly는 CLI 도구, 'basicly' 명령어를 통해 에이전트를 오케스트레이션하며, markdownlint와 같은 Node.js 기반 훅을 포함합니다. 이 훅은 WSL 비대화형 셸 트랩을 피하기 위해 `PATH` 설정을 주의해야 하며, `npm ci`를 통한 재현 가능한 설치와 `npx --no-install`을 통한 고정된 로컬 의존성 사용을 권장합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add niksavis/basicly

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Node

이 저장소에서 Node의 역할은 좁지만 중요합니다. markdownlint git 훅은 npx --no-install markdownlint-cli2를 실행하며, 이는 package.json / package-lock.json에 고정된 markdownlint-cli2 devDependency를 사용합니다. 만약 잘못된 Node가 PATH에 있으면 해당 훅이 깨지고 커밋이 차단됩니다.

WSL 비대화형 셸 트랩 (가장 자주 발생하는 문제)

로그인 셸은 프로필을 소싱하여 버전 관리자(nvm)를 로드하고 저장소의 Node를 PATH에 추가합니다. 그러나 비대화형 셸 — 스크립트, 백그라운드 작업, 헤드리스 에이전트가 실행한 git 훅 — 은 프로필을 소싱하지 않습니다. 따라서 npx/node가 Linux Node 대신 WSL 상호 운용을 통해 접근한 Windows Node 설치로 해석될 수 있습니다. markdownlint (및 모든 Node 기반 훅)은 터미널에서 수동으로 커밋할 때는 문제없지만, 스크립트나 백그라운드 작업에서만 잘못된 Node에서 실행되거나 완전히 실패합니다.

해결 방법: 스크립트나 백그라운드 작업에서 커밋 또는 푸시하기 전에 저장소의 Node를 PATH에 추가하세요. 정확한 방법은 references/wsl-node-path.md에 있습니다.

npm 위생

  • package-lock.json에서 재현 가능한 설치를 위해 npm install 대신 npm ci를 사용하세요. 의존성 변경 시 lockfile을 커밋하세요.
  • npx --no-install <tool>은 고정된 로컬 devDependency를 실행하며 네트워크에서 다른 버전을 자동으로 가져오지 않습니다. --no-install 플래그를 유지하세요.
  • Node 사용 공간을 최소화하세요: 이 저장소는 의도적으로 하나의 devDependency만 제공합니다. 의존성 추가는 확인이 필요한 변경이며, 습관적으로 해서는 안 됩니다.

관련 스킬