oh-my-harness

프로젝트 소개

안녕하세요. Claude Code랑 Codex를 쓰면서, 프롬프트에 배신당해(?) 훅 제너레이터인 oh-my-harness라는 CLI를 만들고 있습니다.

처음에는 그냥 CLAUDE.md나 AGENTS.md에 지침들을 아래처럼 추가했었습니다.

테스트 먼저 고쳐줘
커밋 전에 테스트 돌려줘
main 브랜치에는 커밋하지 마
node_modules나 dist는 건드리지 마
.env는 수정하지 마

근데 계속 쓰다 보니 거의 대부분 지침은 무시하고 어느 순간 이행을 안 하더라구요.

특히 TDD로 개발하라고 했지만
“죄송합니다 테스트를 안 고쳤습니다”
라고 한다든지,

이미 머지된 브랜치인지 체크하라고 했는데, 커밋 푸시 후
“아직 머지된 브랜치가 아닙니다”
라고 우긴다든지(?)

그래서 만든 게 oh-my-harness입니다.

agent를 위한 CLI도 제공하고, 사람을 위한 TUI도 제공합니다.

omh init "React app with TDD"

또는

omh init

그러면 프로젝트를 보고 harness.yaml을 만들고, 그걸 기준으로 Claude Code용 CLAUDE.md, Codex용 AGENTS.md와 각 런타임의 hook 설정을 같이 만들어줍니다.

예를 들면 지금은 이런 것들을 막거나 확인할 수 있습니다.

  • main이나 이미 머지된 브랜치에서 커밋하려고 하면 막기
  • 커밋 전에 테스트나 타입체크 돌리기
  • 테스트를 먼저 안 고친 상태에서 소스만 수정하려고 하면 TDD 규칙으로 막기
  • node_modules, dist, .next, .env 같은 파일/폴더 보호하기
  • 위험한 shell command 걸러내기

이 모든 것들은 제가 카탈로그라고 부르는, 미리 만들어둔 쉘 스크립트 모음으로 동작합니다.

omh init는 전달받은 자연어에서 알맞은 카탈로그를 골라 선택해주는 역할을 하고 있어요.

개인적으로는 AI 코딩 도구를 쓰면서 “잘 부탁해”라고 말하는 것보다, 실수하면 바로 멈춰주는 안전장치가 훨씬 중요하다고 느꼈습니다.

특히 에이전트가 점점 더 많은 파일을 고치고, 커밋까지 이어지는 흐름이 자연스러워질수록 이런 장치가 필요해질 것 같았습니다.

———

설치: npm install -g oh-my-harness

GitHub: https://github.com/kyu1204/oh-my-harness

npm: https://www.npmjs.com/package/oh-my-harness

아직 초기라 부족한 부분이 많습니다.
사용해보시고 많은 의견 부탁드립니다. 기여도 환영합니다!

oh-my-harness
kyu1204/oh-my-harness
pb1123love@gmail.com

날개를 달아주세요.

후원자 정보

이 설정은 프로젝트 공개 피드에만 적용되며, 이메일은 공개 피드에 표시되지 않습니다. 결제 처리와 후원 확인에 필요한 정보는 운영자에게 전달될 수 있습니다.

이용약관 / 개인정보 / 제3자 제공 및 국외이전 포함

oh-my-harness - Fairy 후원