001 / 만든 이유
oah는 각자에게 맞고 AI가 발전하는 만큼 함께 바뀌는 개발 환경을 만들도록 돕습니다. 가져다 고쳐 쓸 수 있는 참고 구현이자 가이드라인입니다. 코드를 만드는 것만으로 작업이 끝나지는 않습니다. 어디까지 바꿀지 정하고, 결과를 검증하고, 다음 세션이 읽을 기록도 남겨야 합니다. oah는 이 과정들을 연결해 하나의 요청이 작업과 확인, 기록까지 이어지게 합니다.
설치·운영v0.3.0에서 사용 가능
oah 자체는 키가 필요 없다. Claude Code와 Codex는 각자 로그인하고, 키를 쓰는 선택 기능은 키가 없으면 꺼진 채로 있다. 키는 문서에 적힌 하나의 조회 경로로 환경 변수나 OS 키체인에서 실행할 때만 읽고, oah는 키를 쓰거나 출력하거나 기록하거나 지시문에 넣지 않는다.
설정 파일이나 프롬프트에 붙여 넣은 키는 커밋, 로그, 스크린숏으로 흘러가고, 새어 나간 키는 1분 뒤에 지워도 이미 노출된 것이다.
claude auth login, codex login, 또는 printenv OPENAI_API_KEY | codex login --with-api-key다.claude auth status와 codex login status만 실행해 로그인 여부를 읽는다.<NAME>인 키는 환경 변수, OS 키체인(서비스 oah, 계정 <NAME>. macOS는 로그인 키체인, Windows는 대상이 oah:<NAME>인 자격 증명 관리자의 일반 자격 증명) 순서로 찾고, 없으면 그 기능이 unused(no key)를 알린다.TYPESAFE_API_KEY는 Jev 재정렬기용이고, CONTEXT7_API_KEY와 OPENAI_API_KEY는 툴킷 MCP 서버용이다. v0.3.0에서는 ARTIFICIAL_ANALYSIS_API_KEY가 선택 벤치마크 점수를 더한다.oah init은 .env, .env.*, *.pem, *.key, .oah/secrets*, .claude/settings.local.json을 .gitignore에 넣는다.Jev 키를 macOS 키체인에 둔다. 값은 명령이 물어보므로 셸 기록에 남지 않는다.
security add-generic-password -s oah -a TYPESAFE_API_KEY -woah call claude를, Codex에 로그인하지 않으면 oah review와 oah fix를 실행할 수 없다.