出したくない語スキャン
公開するリポジトリに push する前に、自分で決めた「出したくない語」が入っていないかを検査する。見るのは push する差分(コミットの見出しと本文・著者のアドレス・足した行・新しいファイルの名前)と、今の中身の全部の行(--tree を付けたとき)。1件でも当たれば終了コード 1 で止まる。直すのは手。
| 項目 | 内容 |
|---|---|
| 入れるもの | 検査するリポジトリのフォルダ/検査語のファイル(1行1語。そのままの語・大文字と小文字を区別しない語・正規表現・メールアドレスの形・ホームフォルダ名)/任意で push する差分の範囲 |
| 出るもの | 検査語ごとのヒット数(当たった数)と実物(最大5件・前後30字)の表。メールアドレスとホームフォルダ名は値を伏せる/最後の1行「検査語 N語/ヒット合計 N」/終了コード(当たれば 1) |
| 逃がし方 | 公開してよいものに当たったとき: メールの許可(アドレスを1行ずつ)・行の許可(ファイル名と行の文字の両方が合う行だけ外す)・既知の件数(前から公開していて、すぐには直せない語を、件数だけ出して止めない) |
| できないこと | 一覧に無い語は見つけない。画像の中の文字は見ない。ホームフォルダ名は実行した PC のものだけを見る。確かめた環境は macOS(Python 3.9・git 2.54)だけで、Windows と Linux では確かめていない。当たった箇所は直さない。push を自動で止める設定は入っていない(手で走らせる) |
| 配布物 | word_scan.py/検査語のファイルの例(語はすべて架空)/README(GitHub の haif-tools) |
| 用意するもの | Python 3(標準ライブラリだけ)と git |
使い方の入口
- 例の検査語のファイルを写して、自分の出したくない語に書き換える。このファイルは、公開するリポジトリの外に置く
- push の前に走らせる
- 当たったら、表の実物を見て直す。公開してよいものなら逃がし方で外し、ヒット合計 0 を確かめてから push する
ファイルの詳しい使い方と、AI に守らせる決まりの1行は、リポジトリの README に記載しています。
→ github.com/mhitori/haif-tools/tools/word-scan
記録
- 2026-10-05 公開(このサイトで公開したツールの7本目)
- 一体の記事: 出したくない語スキャンを公開します ── 止まった8回のうち6回は、出してよいものを止めていた
- 確かめた結果(2026-10-04・例の検査語6語で4回): 許可を足す前の3回は、3回とも止まった。当たったのは、このツールの3つのファイル(README・本体・例のファイル)に自分で書いた架空の例の語と、公開用のアドレスだけ
- 1回目 配布先のリポジトリの今の中身(35ファイル・4,081行): ヒット1(GitHub Actions の bot の公開用アドレスに、メールアドレスの形が当たった)
- 2回目 このツールを足した差分(1コミット・299行): ヒット11(例の検査語が、このツールの3つのファイル〈README・本体・例のファイル〉に自分で書いた同じ語に当たった9か所・コミットの著者とコミッターの公開用アドレス2)
- 3回目(参考) 足したあとの今の中身(38ファイル・4,370行): ヒット10(例の検査語が、このツールの3つのファイル〈README・本体・例のファイル〉に自分で書いた同じ語に当たった9か所・1回目と同じ bot のアドレス1)
- 4回目 例の検査語のファイルを写して(公開するリポジトリの外に置いて)、メールの許可2つ(公開用のアドレス)と行の許可4つ(このツールのフォルダの中の、例の語の行)を足し、2つ目のコミット(README の直し)を含む差分(2コミット・307行)と今の中身(38ファイル・4,370行)を検査: ヒット0・終了コード 0(止まらなかった)
- 2026-10-05 公開後の直し: まだ push したことのないリポジトリ(origin/main が無い)で、検査の前に Python のエラーで落ちていたのを直した。直したあとは、origin/main が無いときは全部のコミットを差分として検査する。検査できなかったときは、1行で知らせて終了コード 2 で終わる(2 は「検査できなかった」の意味。当たったときの 1 とは別)
- 直したあとに試した結果(2026-10-05・配布先のリポジトリの外の一時フォルダで、5回〈コミットを作った回は架空の著者〉): 当たったときは 1、当たらなかったときは 0、検査できなかったときは 2 で終わった
- 試し1 push 先の無いリポジトリ(コミット1つ・許可に無いアドレス・ファイルの1行に例の語)に --tree を付けた: 知らせの1行が出て、全部のコミットを差分として検査した。著者とコミッターのアドレスと例の語に当たり、終了コード 1
- 試し2 アドレスを許可に足し、例の語を消した別のリポジトリ: ヒット0・終了コード 0
- 試し3 コミットが0個のリポジトリに --tree を付けた: 落ちずに知らせが出て、今の中身だけを検査した。終了コード 0
- 試し4 git のリポジトリでないフォルダ: 1行の知らせ・終了コード 2。Python のエラーの表示は出なかった
- 試し5 --range に、リポジトリに無い名前を渡した: 1行の知らせ・終了コード 2
- 提供条件: MIT License。動作や成果を保証するものではありません