Meta Boatrace 組織全体のエンジニアリング標準と、共有設定ファイルを管理するリポジトリです。
- 設定の共通化: プロジェクト間での Linter/Formatter (Ruff/Prettier) や Type Checker (Mypy/ESLint) などの設定の不整合を防ぎます。
- 知識の集約: 言語やフレームワークごとの推奨される実装方針(コーディング規約)を一元管理します。
engineering-standards/
├── configs/ # ツール設定ファイル群 (機械が読むもの)
│ ├── python/ # Python用設定 (ruff.toml, mypy.ini)
│ └── typescript/ # TypeScript用設定 (将来用)
├── docs/ # 開発ルール・規約ドキュメント (人間が読むもの)
│ ├── common/ # 言語横断の共通ルール (Commit message, Branching model)
│ ├── python/ # Python固有の規約 (命名規則, Type Hint方針)
│ └── typescript/ # TypeScript固有の規約
└── README.md
各プロジェクトのリポジトリ(ml, crawlers 等)で、このリポジトリを Git Submodule として追加して利用します。
# リポジトリルートで実行
git submodule add ../engineering-standards engineering-standardspyproject.toml で extend を使用して共通設定を継承します。
[tool.ruff]
extend = "engineering-standards/configs/python/ruff.toml"Mypy は設定ファイルの継承が難しいため、シンボリックリンクを作成して利用することを推奨します。
ln -s engineering-standards/configs/python/mypy.ini mypy.ini開発を行う際は、docs/ 配下の各言語ごとのガイドラインを参照してください。