Skip to content

開発環境標準

2.1. IDE標準

すべての開発者はVisual Studio Codeを標準IDEとして使用しなければなりません。

2.1.1. 必須拡張機能

拡張機能用途
Extension Pack for JavaJava開発(Language Support、Debugger、Maven等を含む)
Spring Boot Extension PackSpring Bootサポート(Dashboard、Initializr、Properties等)
Vue OfficialVue 3 SFCサポート
ESLintJavaScript/TypeScriptリンティング
Prettier - Code formatterコードフォーマット
EditorConfig for VS Code.editorconfig の適用
GitLensGit履歴の可視化
REST ClientAPIテスト(.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 = tab

Google 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-tem

2.3.2. Node.js

  • 必須バージョン: Node.js 22 (LTS)
  • バージョン管理ツール: fnmまたはnvmの使用を推奨します。
bash
# fnm 使用時
fnm install 22
fnm use 22

プロジェクトルートに .node-version ファイルを含めます。

22

2.3.3. パッケージマネージャ

  • 必須: yarn
  • yarnのバージョンはプロジェクトごとに package.jsonpackageManager フィールドで固定します。

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を使用します。

TIENIPIA QUALIFIED STANDARD