本リポジトリは、閉域または庁内ネットワーク環境で利用する小規模な内部業務支援ツールを、継続的かつ効率的に開発するための共通方針・設計前提・品質基準をまとめたものである。
主な目的は、個別ツールを毎回フルスクラッチで作成する状態を避け、画面構成、共通処理、注意事項、配布方法、保守方法を標準化することである。
本リポジトリは、基幹システムを代替するものではなく、閉域環境における職員の隙間業務を支援する小規模ツールを、継続的に作成・再利用するための開発基盤である。
この文書は、Vibe-codingで新規ツールを作成または修正する際に、個別のシステム設計書とは別に、AIへ毎回渡す共通前提文書として利用する。
本リポジトリの中核は、特定のコードライブラリやフレームワークではなく、閉域自治体向け内部ツール開発のための「開発ガードレール」である。
そのため、最初から過度な共通部品化を目指さない。
まずは、以下を優先する。
本方針で対象とするのは、以下のような内部業務支援ツールである。
以下は、原則として本リポジトリの対象外とする。
本リポジトリの基本思想は以下のとおりである。
原則として、以下の環境で動作することを想定する。
ただし、ツールごとに利用可能な環境は異なるため、各ツールのREADMEに前提条件を明記する。
以下は、原則として前提にしない。
本リポジトリでは、主に以下の3種類の言語を使用する。
| 言語 | 主な役割 | 想定用途 |
|---|---|---|
| JavaScript | 職員向けWebツール | IIS配置、ブラウザ上で動作する便利ツール |
| PowerShell | 事務処理・運用補助 | ファイル整理、CSV処理、Office補助、配布作業、ログ処理 |
| C# | 安定運用向けアプリ | GUIツール、重い処理、exe配布、長期利用ツール |
JavaScriptは、職員がブラウザで利用する小規模Webツールの主力とする。
HTML / CSS / JavaScriptで完結し、サーバーサイド処理を前提にしない。
主な用途は以下のとおり。
PowerShellは、主に開発者または運用担当者が使用する自動化・一括処理用とする。
ファイル操作、ログ出力、バックアップ、CSV処理、Office関連の補助処理に使用する。
主な用途は以下のとおり。
C#は、JavaScriptやPowerShellでは扱いにくい処理、または職員向けにexeとして安定配布したい処理に使用する。
C#は、WinForms等のGUIツール、exe配布、Office連携、長期利用を想定する内部ツールに適している。 C#を使う場合でも、外部依存を増やしすぎず、.NET標準機能や導入済みOffice等を前提にできるか事前確認する。
最初から多用せず、必要性が明確な場合に採用する。
主な用途は以下のとおり。
技術選定は、流行や高度さよりも、閉域環境での運用容易性、説明容易性、保守性を優先する。
外部ライブラリを使用する場合は、以下を満たすこと。
新規リポジトリでは、以下の構成を基本とする。
localgov-internal-toolkit/
README.md
guides/
00_policy.md
01_ai_coding_rules.md
02_tool_design_template.md
03_security_privacy_rules.md
04_ui_ux_rules.md
05_release_checklist.md
06_readme_template.md
07_prompt_template.md
examples/
design-guides/
prompts/
readmes/
common/
web-js/
powershell/
csharp/
開発方針、AIコーディングルール、設計書テンプレート、セキュリティ方針、UI/UX方針、リリース前チェックリスト、READMEテンプレート、プロンプトテンプレートを置く。
設計書、プロンプト、READMEの記入例を置く。
繰り返し利用することが明確になった共通部品を置く。
ただし、初期段階では common/ の整備を急がない。
| やりたいこと | 第一候補 |
|---|---|
| 職員がブラウザで使う小ツール | JavaScript |
| IISに置いて全庁共有したい | JavaScript |
| ファイル整理・一括処理・配布作業 | PowerShell |
| 個人PCで自分だけ使う自動化 | PowerShell |
| OfficeやOutlookを操作したい | PowerShell または C# |
| Windows上で安定したexeにしたい | C# |
| 他部署に配る簡易アプリ | JavaScript または C# |
| 複雑な処理を長期運用したい | C# |
職員が短時間で使えることを優先し、画面は簡潔にする。
Webツールは原則として以下の構成とする。
本リポジトリで作成するツールは、個人情報や機微情報の取扱いに注意する。
各ツールには、必要に応じて以下の注意文を記載する。
本ツールは庁内事務の補助を目的とした簡易ツールです。
基幹システム、公式記録、法令判断、最終的な業務判断を代替するものではありません。
出力結果は、利用者が必ず確認したうえで使用してください。
ファイルを扱うツールでは、元ファイルを破壊しないことを優先する。
すべてを最初から共通化しない。
同じ処理が複数回登場した場合、または今後も再利用する可能性が高い場合に共通化する。
目安として、同じ処理が3回以上登場した場合に、共通部品化を検討する。
Vibe-codingを利用する場合は、毎回ゼロから作らせず、本リポジトリの方針、テンプレート、共通前提に従わせる。
Vibe-codingで新規作成または修正を依頼する場合は、以下の内容を基本指示として含める。
このリポジトリは、閉域自治体向けの内部業務支援ツール群です。
外部CDN、外部API、クラウドサービス、追加インストールを前提にしないでください。
既存の方針、設計前提、共通部品を優先して利用し、フルスクラッチで作り直さないでください。
個人情報を保存・送信しない設計にしてください。
処理結果は利用者が確認して使用する前提としてください。
基幹システム、公式記録、法令判断、最終的な業務判断を代替しない補助ツールとして設計してください。
各ツールにはREADMEを置き、以下を記載する。
各ツールは、可能な範囲でバージョンを付与する。
v0.x.x: 試作・検証版v0.9.x: リリース候補版v1.0.0: 初回安定版v1.x.x: 機能追加・改善v1.x.1: 軽微な修正リリース前に、最低限以下を確認する。
本リポジトリのツールは、小規模な内部業務支援を目的とする。
必要以上に保守責任を拡大しない。
原則として、以下は禁止する。
まずは以下を整備する。
00_policy.md01_ai_coding_rules.md02_tool_design_template.md05_release_checklist.md06_readme_template.md07_prompt_template.mdコードの共通部品は、複数ツールで再利用することが明確になってから整備する。
本リポジトリでは、立派な業務システム基盤を目指すのではなく、閉域自治体環境で使いやすい小規模な内部業務支援ツールを、継続的に作成・再利用できる状態を目指す。
重要な方針は以下の3点である。
本方針により、個別ツールの開発効率、品質、説明責任、保守性を高める。