Claude를 사용하여 전 세계 법률을 Git에 담기
Using Claude to put all Global Law into Git
핵심 요약
Claude Code를 활용해 전 세계 법률 데이터를 Git으로 버전 관리하고 쿼리 가능한 형태로 구축한 프로젝트입니다.
- 법률 데이터 구조화 — 모든 법률을 의미론적이고 버전 관리가 가능한 Git 히스토리로 변환함
- Claude Code 활용 — 국가별 법률 데이터를 수집하고 버전별로 재구성하는 스크립트 작성에 활용됨
- 오픈 소스 지향 — CC0 라이선스를 적용하여 누구나 자유롭게 데이터를 활용할 수 있도록 함
- 데이터 분석 가능성 — 국가 간 법률 비교 및 시간 흐름에 따른 변화 추적을 용이하게 함
github.com
원문 사이트로 이동
어제 이게 HN 1위 찍었더라 (토론 내용은 https://news.ycombinator.com/item?id=50268380에서 볼 수 있음). 이걸 왜 하냐고? 모든 법률을 의미론적으로 만들고, 버전 관리하고, 출처를 명확히 밝히고, 에이전트가 쿼리할 수 있게 만들려는 거야. 이런 정보는 누구나 자유롭게 쓸 수 있어야 한다고 생각해서 CC0 라이선스로 풀었어 (맘대로 갖다 써). 관심 있으면 아래 링크된 저장소 확인해 보고, 의견이나 조언 주면 완전 환영함. 다들 고마워!
https://github.com/lexifina/global-law
이 프로젝트는 Claude Code로 만들었어. 완전 무료로 써볼 수 있음. 접근 방식은 꽤 간단해. Claude를 써서 법률에 출처를 명시하는 거지(git blame, 타임라인 기반 버전 관리). 코드 거의 대부분은 Claude Code(Claude Opus 5.5)가 짰어. 나는 목표 설정하고, 소스 고르고, 설계 결정만 내렸지. 구체적으로는 이래:
국가별, 혹은 국가 그룹별로 Claude Code 세션을 따로 돌렸어. 각 세션이 공식 발행 사이트나 API를 읽고, robots.txt랑 이용 약관 확인한 다음에, 법률의 모든 버전을 다운로드하는 스크립트를 짜게 했지. 그 스크립트가 법률이 발효된 날짜별로 커밋 하나씩 찍어서 git 히스토리로 남기는 방식이야. 소스에서 개정안만 발행하는 경우에는, 스크립트가 개정안을 순서대로 적용해서 과거 버전을 다시 재구성하게 만들었어. 세션끼리 1970년 이전 날짜나 서머타임 예외 케이스 같은 정보도 서로 공유했지.
국가별로 git 서브모듈을 만들고, 발효 날짜에 맞춰서 모든 히스토리를 하나로 합치는 작업도 했어. 독립적인 빌드 두 개를 돌려도 해시값이 완전히 똑같이 나오도록 빌드 스크립트도 Claude가 짰지(보통은 이렇게까지 안 하겠지만, 이런 데이터는 VCS가 확실해야 하니까).


