Using Claude to put all Global Law into Git
A project to put all global law into Git, making it semantic, versioned, attributable, and queryable by agents, recently hit #1 on Hacker News. The creator used Claude to write the build script, ensuring identical hashes for independent builds. The project aims to make this information freely available under a CC0 license, with each country's law as a Git submodule and histories interleaved by in-force date.
时间与来源
时间显示为 UTC
显示时区:UTC
本地时区尚不可用,暂时显示 UTC。
发布当时偏移:UTC+02026年10月29日 23:00 UTC
收录当时偏移:UTC+02026年10月30日 01:00 UTC
- 发布
- 2026年10月29日 23:00
- 收录
- 2026年10月30日 01:00
- 来源类型
- 开发者社区
- 档位
- 社区
- 信源状态
- 正常
档位是按信源手工设定的编辑判断,不是逐条打分。
This hit #1 on HN yesterday (you can read lots of discussion at https://news.ycombinator.com/item?id=50268380 ). Why would I want to do this? The idea is make all law semantic, versioned, easily attributable and query able by agents. I also believe this information should be freely available so CC0 license (do whatever you want with it). If interested, repo linked below, I'd welcome all comments and advice. Thanks!
I built this project with Claude Code. It's completely free to use/try. The approach is pretty simple: use claude to make legislation attributable (git blame, versioning with timelines). Claude Code (Claude Opus 5.5) wrote nearly all the code. I set the goals, chose the sources and made the design decisions. Specifically:
I ran separate Claude Code sessions, one per country or group of countries. Each one read the official publisher's site or API, checked robots.txt and the terms of use, and wrote a script that downloads every version of each law. The script then writes them out as a git history, one commit per change on its in-force date. When a source only publishes amending Acts, the script rebuilds past versions by applying each amendment in turn. The sessions shared findings with each other, such as dates before 1970, daylight-saving edge cases and other changes.
I also worked on how the countries combine into one tree, with each country as a git submodule and all their histories interleaved by in-force date. Claude wrote the build script to ensure two independent builds come out hash-for-hash identical (usually i'd consider this overkill, but you want a good VCS for this).