法改正の差分、まだ目で探してる?「gitlaw-jp」ならGitで追える
- 公開
- 正式公開 2026-04-02
- 作り手
- saqula(個人)
- 対応
- Python
- 言語
- 日本語
- 価格
- 記載なし
- 評価
- GitHub のスター 100(2026-10-11)
どんなアプリか
gitlaw-jp は、日本の法律の改正履歴や沿革を、ディレクトリとファイルの形に整え、Git で追えるコミットのデータに変換する試みです。変換は src/ にある Python スクリプトが、e-Gov のバルクデータから直接行います。
変換後のファイルは laws/ に、e-Gov 法令 API の法令 ID ごとのフォルダで置かれます。各コミットが法令の版ごとの XML を current.xml に当てていくので、このファイルの来歴をたどると法令の差分を確かめられます。
ブランチは公布と施行で分かれています。公布ブランチでは改正法をコミットの単位とし、施行ブランチでは各法令への条文の溶け込み、つまり法令の版をコミットの単位にしています。
改正法=commit単位は個人的に直感的だと思うので。
saqula さん、GitHub の README「ブランチについて」
施行を別のブランチにしているのは、同じ改正法でも法律によって施行の月が違ったり、同じ改正規定を段階的に適用したりすることがあるためだと README で説明されています。
公布と施行のブランチをどう対応させるかは、作り手自身が一番の課題に挙げています。今のところは版ごとのコミットを最小の単位とし、公布ブランチの側で改正法ごとに束ねるコミットを作っています。
同じ分野のアプリ
| 名前 | 型 | 仕掛け | 対応 | 料金 |
|---|---|---|---|---|
| gitlaw-jp | 法令データの変換 | 法律の改正履歴を Git のコミットとブランチに変換 | Python | 記載なし |
| Lawsy | 法令の調査 | 日本の法令に特化した Deep Research ツール | OSS(Web アプリ) | 無料(OSS) |
入れる前に
動かすには、e-Gov 法令 API から all_xml.zip と XML スキーマのファイルを自分でダウンロードし、payload/ フォルダに置く必要があります。Python の環境は uv を使うのが一番簡単だと README に書かれています。
初期設定では法律のみが対象です。政令などの種別は –law-type で足せ、–all-law-types を付けるとすべての種別が対象になります。
main.py には、コミットとブランチの計画を作る plan、それを実際に Git に反映する apply、両方をまとめて行う full があります。
GitHub のリポジトリには、ライセンスの記載がありません。