stackbook

← 辞書(分野別)

§1

開発環境(言語共通)

最終確認:2026年9月

言語バージョン管理
mise(Node、Go、Ruby、Python、Rust、Terraformを1本で管理。.mise.tomlをリポジトリに置く)
  • asdf既存プロジェクトが使っている場合のみ
環境変数(ローカル)
mise の `[env]`
  • .env+dotenvmise を使わない人と設定を共有するとき
  • direnvmise を使わず、ディレクトリに入るだけで読み込みたいとき
ローカルのミドルウェア
Docker Compose(Postgres、Redis/Valkey、Mailpit、SeaweedFSなど)
開発コンテナ
使わない(ホスト+mise で十分)
ローカルのメール確認

(MailHogは開発停止のため選ばない)

ローカルのS3互換
SeaweedFS(S3互換APIを持つOSSの分散ストレージ)
  • RustFSMinIOに近い操作感が欲しく、採用時点で成熟度を確認できたとき
  • moto(サーバーモード)SQS/SNSなどAWSサービスを広くモックしたいとき

MinIOとLocalStackのオープンソース版はリポジトリがアーカイブされたため選ばない

Gitフック
lefthook(言語非依存・高速・並列実行)
  • huskyNode単体のリポジトリで慣れている場合
コミット規約
エディタ設定共有
.editorconfig + 各言語のフォーマッタ設定

推奨ディレクトリ直下ファイル(全案件共通)

.mise.toml          # 言語・ツールのバージョン
.editorconfig
compose.yaml        # ローカルのミドルウェア
lefthook.yml
.github/workflows/
.github/renovate.json(または renovate.json)
docs/adr/           # 設計判断の記録
README.md