lg_toolkit_guide

01_ai_coding_rules.md - AIコーディングルール

1. この文書の目的

この文書は、Vibe-codingでAIにコード生成・修正・レビューを依頼する際に、必ず守らせる実装ルールをまとめたものである。

00_policy.md が全体方針を示す文書であるのに対し、本書はAIに対する具体的な作業指示・禁止事項・確認事項を示す。

AIは、個別のシステム設計書や実装指示よりも先に、本書のルールを前提として作業すること。


2. 最重要原則

AIは、以下を最重要原則として作業すること。

  1. 閉域または庁内ネットワーク環境で動作することを優先する
  2. 外部通信を前提にしない
  3. 外部CDNを使わない
  4. クラウドサービスを前提にしない
  5. 追加インストールを前提にしない
  6. 個人情報を保存・送信・ログ出力しない
  7. 基幹システム、公式記録、法令判断、最終判断を代替しない
  8. 元ファイルを確認なしに上書きしない
  9. 既存構成を尊重し、不要にフルスクラッチで作り直さない
  10. 小さく安全な変更を優先する

3. AIが絶対に避けること

AIは、明示的な許可がない限り、以下を行ってはならない。

3.1 外部依存

3.2 実行環境

3.3 データ・個人情報

3.4 ファイル操作

3.5 設計・保守


4. AIが優先すること

AIは、以下を優先して実装すること。

4.1 閉域運用

4.2 小さな実装

4.3 安全なファイル処理

4.4 利用者への説明

4.5 職員向けUI


5. 言語別ルール

5.1 JavaScript / HTML / CSS

JavaScriptは、職員がブラウザで利用する小規模Webツールの主力とする。

原則

避けること

実装時の確認


5.2 PowerShell

PowerShellは、ファイル処理、運用補助、一括処理、自動化処理に使用する。

原則

避けること

実装時の確認


5.3 C#

C#は、JavaScriptまたはPowerShellでは実装・保守が難しい場合、またはexeとして安定配布したい場合に使用する。

原則

避けること

実装時の確認


6. README更新ルール

AIが新規ツールを作成または既存ツールを修正する場合、READMEの作成または更新を必ず検討すること。

READMEには、最低限以下を記載する。


7. 標準注意文

各ツールには、必要に応じて以下の注意文を画面またはREADMEに記載すること。

本ツールは庁内事務の補助を目的とした簡易ツールです。
基幹システム、公式記録、法令判断、最終的な業務判断を代替するものではありません。
出力結果は、利用者が必ず確認したうえで使用してください。

個人情報を扱う可能性がある場合は、以下の趣旨も追加すること。

個人情報を含むデータを扱う場合は、所属の業務ルールに従ってください。
本ツールは、入力内容を外部送信しない設計としますが、出力結果の保存・共有は利用者の責任で適切に管理してください。

8. リリース前チェック

AIは、実装完了時に以下の観点で自己点検すること。

8.1 共通チェック

8.2 セキュリティ・個人情報チェック

8.3 ファイル処理チェック

8.4 UI/UXチェック


9. 変更時のルール

AIが既存ツールを修正する場合は、以下を守ること。

  1. 既存の動作を把握してから変更する
  2. 変更範囲をできるだけ小さくする
  3. 既存のファイル構成を尊重する
  4. 既存のREADMEや注意事項を壊さない
  5. 変更理由を説明できるようにする
  6. 破壊的変更がある場合は明示する
  7. 動作確認方法を示す
  8. 不要なリファクタリングを同時に行わない
  9. フルスクラッチで作り直す場合は、明確な理由を示す

10. 共通部品化のルール

AIは、安易に共通部品や独自フレームワークを作らないこと。

以下の場合に限り、共通部品化を検討する。

目安として、同じ処理が3回以上登場した場合に共通部品化を検討する。

共通部品化する場合は、以下をREADMEまたはコメントに記載する。


11. AIへの基本プロンプト例

新規開発や修正を依頼する際は、以下のような前提文を含める。

このリポジトリは、閉域自治体向けの内部業務支援ツール群です。
guides/00_policy.md と guides/01_ai_coding_rules.md を必ず前提として作業してください。

外部CDN、外部API、クラウドサービス、追加インストールを前提にしないでください。
既存の方針、設計前提、共通部品を優先して利用し、フルスクラッチで作り直さないでください。
個人情報を保存・送信・ログ出力しない設計にしてください。
処理結果は利用者が確認して使用する前提としてください。
基幹システム、公式記録、法令判断、最終的な業務判断を代替しない補助ツールとして設計してください。
README、注意事項、動作確認方法もあわせて整備してください。

12. AIの最終回答に含めるべき内容

AIが作業を完了したら、可能な範囲で以下を報告すること。


13. まとめ

AIは、本リポジトリにおいて「動くコードを最短で出す」ことだけを目的にしない。

閉域自治体環境で、職員が安全に利用でき、説明可能で、保守しやすい小規模内部ツールを作ることを目的とする。

そのため、AIは常に以下を優先する。

  1. 閉域運用
  2. 外部依存の最小化
  3. 個人情報保護
  4. 元データ保護
  5. 利用者による確認
  6. 小さく分かりやすい実装
  7. READMEと注意事項の整備
  8. 既存方針の尊重