このプロジェクトでは、その利便性を保つため、情報更新や追加にあたって様々なルールを設けています。それらを以下に記述します。 ここに記述されたルールは、プロジェクト内の法令文書を管理するすべてのリポジトリについて有効です。
リポジトリの名称は、以下のルールに従うこととします。
- YYYYMMDD-種別-番号
- YYYYは、4桁の西暦を示します
- MMは二桁の月を示します
- DDは二桁の日を示します
- 種別は法令の種別を示します。後述する方法によって、適する英単語を使用します。
- 番号は、法令番号等を示します。
- そして、それらをハイフンでつなぎ、リポジトリ名とします。
- 但し、憲法のように法令番号が存在しない場合は、YYYYMMDD-constitutionのように、法令番号を記述しません。
種別
- 憲法
constitution - 法律
act - 勅令
imperialOrder - 政令
cabinetOrder - 府省令
ministerialOrdinance - 規則
rule
これ以外のものについては未定義とする。
これらの規則に従えば、以下の例のようになる。
20001206-act-144
また、リポジトリのDescriptionに、その法令の名称、通称をコンマ&スペース区切りで列挙するものとします。
以上の内、府省令、規則等は例えば厚生省令のように、細分される。その場合、レポジトリ名は「日付-種別-府省名等-番号」とし、例えば以下のようになる。なお府省名等に使用するキーは同梱のgenOrdinanceKey.pyによって作成する。
1947年8月30日厚生省令23号
19470830-ministerialOrdinance-B8JK-23
新しくある法令の記述を開始する際、リポジトリを作成したら、初めにGitHubのリポジトリ作成機能によってREADME.mdのみを作成、これを起点のコミットとして作業ブランチを切ってください。
- README.md
- これは、その法律の基礎情報を記録するファイルです。
- chapter1.md
- 条文本文は、章ごとにファイルを分け、chapterX.mdの形式でファイルを作成、書いていくこととします。
- article.md
- 条文が章分けされていない法律の場合は、chapterX.mdではなく、代わりにarticle.mdというファイル名を用います。
- supplementary_provision.md
- 附則がある場合は、このファイルにまとめて記述します。
- appendix_table.md
- 別表がある場合は、このファイルに記載します。
- preamble.md
- 法律に前文がある場合は、このファイルに記載します。
基本的には上記にあるように作成するが、章だけでなく編、節、款がある法律もある。そのような場合、最下層のものをファイル名の一部とし、上層のものはディレクトリを作成し分類することによって行う。ディレクトリ名やファイル名に用いる英語は以下のように規定する。
- 編
part - 章
chapter - 節
section - 款
subsection - 目
division
以上の規定によって、たとえば、章と節がある法令の場合は、以下のようなディレクトリ構成になる。
- chapter1
- section1.md
- section2.md
- chapter2
- section1.md
example1、example2のように行ってください。未定義が発生した場合は、その都度処理を検討します。
また、注意すべきことは以下です。なお、以下の注意書きに漏れがあった場合、exampleに準拠してください。exampleにもない例であった場合は、未定義です。
- すべてのファイルは改行で終了する
- 基本的に、条文番号、空行、条文本文、空行で一つの条を構成する。
- 条文にArticleCaptionがあるときは、条文番号に続けて記述する。
- 条はMarkdownの自動リンク作成を利用するためにHeadingを使用する
- 項は様々な理由から(番号が一意でない)それをあきらめ、単純にOrdered listを用いる。
- 号はUn ordered listを用いて列挙したうえで、元条文にある漢数字等もまとめて転記する。
- 項の後に号を記述するときは、4つの半角スペースをもってインデントする。
- 各ファイルの一行目には、H1を利用して法令名を記述する。
- それ以降、Headingを使用する必要が生じたときは一段階づつ下のものを適宜使用する。
- supplementary_provision.mdには、その法令に初めから記載されていた附則のみを全文記述することとし、改正法による追加部分は、改正法のリポジトリの附則ファイルへのリンクを記述することにとどまるものとする。
- 条ではなく項に対してArticleCaptionがあるときは、項の本文の直前に続けて記述する。
例
- (施行期日)この法律は、平成十三年一月六日から施行する。
- 章、節など(そのほかも含む)は以下のようにしてHeadingを利用して記述する。
- 第〇章 総則
- 第一節 例
- 前項について、記述する分類は条から数えて下から二番目までとする。
- 前項に関連して、分類はそのすべてを、法令名の直下に引用記法を用いて以下のように記述する。但し、これは分類が二階層以上になっている(ディレクトリに格納されている)もののみに記述することとする。
-
第一章 総則 > 第一節 例
-
- 一般に用いられなくなった旧字体については、基本的に新字体に置き換えて表す。
- 二の字点(〻)は、「々」で置き換える。
- 章に前文がある場合は、条と同じように記述する。章に対する前文である限り、別の章は別のファイルに分かれるのでリンクがコンフリクトすることはないと考えます。
法令番号は、
- 昭和二二年四月七日法律四十九号
のような形式であらわされる。しかし、漢数字の表記法に表記ゆれがみられるため、ここでそれを統一する。
- 日時を表す漢数字は単に数字を並べるようにして表記する。
- (例)
- 〇 昭和二二年
- × 昭和二十二年
- 番号を表す漢数字は位取りを表す漢数字(十など)も表記する。
- (例)
- 〇 法律四十九号
- × 法律四九号
- メインのブランチはmainとします。
- mainブランチに直接コミットすることは禁止します。(作業ブランチのマージという形でのみmainブランチの更新が許されます)
- 情報の更新や追加を行うときは、対象となる改正法の日付_番号をブランチ名として新たなブランチを作り、そのうえで作業完了後、mainブランチにSquashマージを行います。このSquashマージの際、以下に決められたフォーマットでコミットメッセージを記述します。
- ブランチ名の例: 20190302_31
- 未施行の法律があって、それを追加しようとする場合、まずmainブランチの先にnot_entered_into_forceブランチを作成し、そのブランチをmainブランチに見立てて作業を行ってください。
- 未施行の法律が施行された場合、mainブランチをfast forwardによってnot_entered_into_forceブランチにある該当の法令まで進めることによって施行を表現します。
ユーザーの利便のため、当プロジェクトはリポジトリ内に適宜リンクを付加する。 付加するリンクは主に以下である。
- 同リポジトリ内の(同法令内の)別条文を指し示す場合
- 別リポジトリ(別の法令)を指し示す場合
- 1の場合
- リンクは「第x条」の部分に付加する。「第x条ノ二」などの場合は「ノ二」も当然含まれる。
- リンクするURLの形式は「/chapterx.md#第一条」のように、リポジトリのルートからの相対リンクである。
- 「前二条」などのように、複数の条文を指し示す単語の場合で、指示される条文が連続する場合は、その指示される条文の一番初めの条文に向けたリンクを付加する。
- 2の場合
- リンクは「○○法」の部分に付加する。
- リンクするURLの形式は「https://github.com/law-of-japan/20000101-law-1」のように、httpsから始まるフルリンクである。
- 外部の条文を指し示すときは、1のような「条」が明示されている場合であっても、リンクを付加するのは法令名の部分だけである。
まず、基本的にこのプロジェクトでは、該当法令の初回制定から最新の改正が反映された状態まで、各改正時の状態に容易にさかのぼることができるようにすることを目的としています。 これに伴って、制定や、改正の各法令はそれぞれ1コミットにまとめて表現します。(ブランチの取り扱いの項にあるように、Squashマージで一つのコミットにまとめます。)そして、これに則って初回制定から改正法をそれぞれ年代順に適応、更新していくことが基本的な方針です。
コミットメッセージについて規定します。
- 作業用ブランチのコミットについては自由に行うことができます。
- 作業用ブランチでの作業を終え、mainブランチにマージする際のコミットメッセージには注意が必要です。
- 以下のようなコミットメッセージを作成することを求めます。
例
改正 国民の祝日に関する法律の一部を改正する法律 平成三〇年六月二〇日法律第五七号 (#1)
https://github.com/law-of-japan/20180620-act-57 http://www.shugiin.go.jp/internet/itdb_housei.nsf/html/housei/19620180620057.htm
以上の例はつまり以下のような形式で行うことを示しています。
改廃等の別、半角スペース、根拠法律名、半角スペース、根拠法律の番号、半角スペース、プルリクエスト番号を半角括弧で囲む
一行開ける
当プロジェクトの該当法令のリポジトリのURL(但し、改廃の別が「制定」でない場合のみ記述)
根拠法の全文を閲覧できるURL
根拠法の全文閲覧URLは、法律によって閲覧できるシステムが違っているが、以下の優先順位をもって選択するものとする。衆議院_制定法律ページを参考にコピペすることができますが、このページはOCRの都合による誤字がある場合があることが発覚しているため、必ずデジタルアーカイブから原典を当たって間違いないか確認してください。
それぞれのシステムに全文が記載されているかどうかは、日本法令索引を用いて確認することができる。
上記の定義から外れるcommitを行う必要があるときは、force pushによる修正を行う。修正の実施可否や内容レビューは個別事例によって行う。
このガイドラインはまだ完全ではなく、適宜修正、更新、追加される可能性がありますので、定期的に確認するようにしてください。