開発環境標準
2.1. IDE標準
すべての開発者はVisual Studio Codeを標準IDEとして使用しなければなりません。
2.1.1. 必須拡張機能
| 拡張機能 | 用途 |
|---|---|
| Extension Pack for Java | Java開発(Language Support、Debugger、Maven等を含む) |
| Spring Boot Extension Pack | Spring Bootサポート(Dashboard、Initializr、Properties等) |
| Vue Official | Vue 3 SFCサポート |
| ESLint | JavaScript/TypeScriptリンティング |
| Prettier - Code formatter | コードフォーマット |
| EditorConfig for VS Code | .editorconfig の適用 |
| GitLens | Git履歴の可視化 |
| REST Client | APIテスト(.http ファイル) |
2.1.2. プロジェクト共有設定
プロジェクトルートに .vscode/settings.json を含め、チーム全体が同一の設定を使用しなければなりません。
json
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"[java]": {
"editor.defaultFormatter": "josevseb.google-java-format-for-vs-code"
},
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true
}2.1.3. 推奨拡張機能リスト
プロジェクトルートに .vscode/extensions.json を含め、新規開発者が必須拡張機能を自動的にインストールできるようにします。
json
{
"recommendations": [
"vscjava.vscode-java-pack",
"vmware.vscode-boot-dev-pack",
"vue.volar",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"editorconfig.editorconfig",
"eamodio.gitlens",
"humao.rest-client"
]
}2.2. EditorConfig
プロジェクトルートに .editorconfig ファイルを必ず含めなければなりません。
ini
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.java]
indent_size = 2
[*.xml]
indent_size = 2
[*.{yml,yaml}]
indent_size = 2
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tabGoogle Java Format
Google Java Formatはインデントを2スペースで強制します。.editorconfig のJavaインデントもこれに合わせて2スペースに設定します。
2.3. ランタイムバージョン管理
2.3.1. Java
- 必須バージョン: Java 21 (LTS)
- バージョン管理ツール: SDKMANの使用を推奨します。
bash
# SDKMAN インストール
curl -s "https://get.sdkman.io" | bash
# Java 21 インストール
sdk install java 21.0.6-tem
# プロジェクトディレクトリにバージョンを固定
sdk env initプロジェクトルートに .sdkmanrc ファイルを含めます。
properties
java=21.0.6-tem2.3.2. Node.js
- 必須バージョン: Node.js 22 (LTS)
- バージョン管理ツール: fnmまたはnvmの使用を推奨します。
bash
# fnm 使用時
fnm install 22
fnm use 22プロジェクトルートに .node-version ファイルを含めます。
222.3.3. パッケージマネージャ
- 必須: yarn
- yarnのバージョンはプロジェクトごとに
package.jsonのpackageManagerフィールドで固定します。
2.4. 環境変数管理
2.4.1. ファイルルール
| ファイル | 用途 | Git追跡 |
|---|---|---|
.env.example | 環境変数一覧および説明(値なし) | O |
.env.local | ローカル開発用の実際の値 | X |
.env.development | 開発サーバー環境(フロントエンドVite用) | O |
.env.production | プロダクション環境(フロントエンドVite用) | O |
2.4.2. シークレット管理原則
- パスワード、APIキー、トークン等の機密情報は絶対にソースコードにハードコーディングしてはなりません。
.env.localファイルは必ず.gitignoreに含めなければなりません。- CI/CD環境ではCircleCIのEnvironment VariablesまたはContextを使用します。