본문 바로가기

IT & AI

CodeAlmanac, AI 코딩 도구가 코드 밖의 맥락까지 읽게 해요

728x90

CodeAlmanac, AI 코딩 도구가 코드 밖의 맥락까지 읽게 해요

AI 뉴스 썸네일
AI 뉴스 썸네일

코드를 읽으면 현재 구현은 알 수 있어요. 하지만 왜 이런 구조를 골랐는지, 과거에 어떤 시도가 실패했는지, 반드시 지켜야 할 조건이 무엇인지는 코드만으로 찾기 어려워요. CodeAlmanac은 이런 정보를 저장소 안의 위키로 남겨 AI 코딩 도구와 개발자가 함께 읽게 해요. 1

핵심 요약

구분핵심왜 볼 만한가요
저장 방식설계 결정과 흐름, 불변 조건, 주의점을 마크다운으로 저장해요문서를 코드와 같은 Git 변경 내역에서 검토할 수 있어요
탐색 방식사람과 코딩 도구가 같은 `search`, `show`, `topics`, `health`, `validate` 명령을 써요별도 문서 서비스에 접속하지 않고 터미널에서 맥락을 찾을 수 있어요
유지 관리대화와 코드 변경에서 오래 남길 정보를 반영하고 낡은 페이지를 정리해요한 번 만든 뒤 방치되는 위키의 약점을 줄이려는 구조예요

1. 코드에 남지 않는 이유와 실패 이력을 저장해요

CodeAlmanac은 코드베이스용 위키를 저장소의 `almanac/` 폴더에 만들어요. 페이지는 일반 마크다운이고, 주제 목록은 `topics.yaml`로 관리해요. 별도의 호스팅 문서 서비스가 아니라 저장소 파일이므로 브랜치와 변경 내역, 코드 리뷰 절차를 그대로 활용할 수 있어요. 2

기록 대상은 함수나 클래스의 동작 설명에 머물지 않아요. 시스템이 지금의 형태가 된 이유, 이전 구현에서 깨졌던 부분, 여러 파일과 서비스에 걸친 처리 흐름, 변경하면 안 되는 불변 조건을 다뤄요. 새 기능을 맡은 개발자나 코딩 도구가 소스만 읽고 과거의 실수를 반복하는 상황을 줄이는 데 초점을 맞췄어요.

728x90

읽기 명령은 단순해요. `search`로 내용을 찾고 `show`로 페이지를 열 수 있어요. `search --mentions src/checkout/`처럼 파일 경로가 언급된 문서만 찾는 기능도 제공해요. `health`와 `validate`는 위키 구조와 상태를 확인할 때 써요. 사람과 코딩 도구가 같은 명령을 사용하므로 문서 전용 연동을 따로 만들 필요가 적어요.

위키를 갱신하는 작업도 나뉘어 있어요. `ingest`는 파일, 디렉터리, Git 변경분, 커밋 범위, GitHub PR과 이슈, URL, 로컬 코딩 대화를 위키에 반영해요. `garden`은 오래된 페이지와 중복 문서, 약한 링크를 찾아 정리해요. 작업은 로컬 큐에 기록돼 터미널을 닫은 뒤에도 `jobs`, `jobs show`, `jobs logs`로 진행 상태와 결과를 확인할 수 있어요. 2

자동 관리 기능은 macOS의 `launchd`를 사용해요. 기본 설정에서는 최근 Codex와 Claude Code 대화를 5시간마다 살피고, 위키 정리와 CLI 업데이트를 24시간 간격으로 실행해요. 코드와 문서, 실행 기록은 로컬에 남아요. 선택형 텔레메트리는 설정이나 `DO_NOT_TRACK=1`로 끌 수 있어요.

현재 지원 범위는 확인해야 해요. README 기준으로 macOS, Python 3.12 이상, Codex 또는 Claude Code가 필요해요. 문서를 고치는 작업은 넓은 파일시스템 권한을 가진 코딩 도구가 수행해요. `almanac/` 경계는 운영 규칙이지 OS 샌드박스가 아니므로, 신뢰할 수 있는 저장소에서 실행하고 자동 커밋을 끈 경우에는 Git 변경분을 직접 검토하는 편이 안전해요. 프로젝트 라이선스는 Apache-2.0이에요. 2

왜 중요한가요

AI 코딩 도구의 답변 품질은 모델 성능만으로 정해지지 않아요. 저장소에 어떤 맥락을 남겼고, 필요한 순간에 그 정보를 얼마나 정확히 찾는지도 결과에 영향을 줘요. README와 주석만으로는 여러 서비스에 걸친 흐름이나 과거의 설계 판단을 일관되게 보존하기 어려워요. CodeAlmanac은 이런 지식을 코드와 가까운 마크다운 파일로 다루고, 검색과 갱신 절차까지 한 도구에 묶었어요. 2

도입 여부는 기존 문서 체계와 함께 판단해야 해요. 이미 ADR과 운영 문서가 잘 관리된다면 같은 내용을 두 곳에 쓰지 않도록 범위를 먼저 정해야 해요. 반대로 코딩 대화와 PR에 중요한 판단이 흩어져 있다면, 작은 저장소 하나에서 설계 결정과 불변 조건부터 기록해 검색 정확도와 변경 품질을 확인해 볼 수 있어요. 자동 갱신 결과는 바로 믿기보다 Git diff에서 근거와 중복 여부를 검토하는 과정이 필요해요.

참고 자료

  1. CodeAlmanac - AI 코딩 에이전트를 위한 코드베이스 위키 — GeekNews
  2. CodeAlmanac: A living wiki for your codebase — GitHub
728x90