コンテンツにスキップ

設定の概要

mille.toml をプロジェクトルートに配置することで mille の動作を制御します。

ファイル構造

[project]
name = "my-app"
root = "."
languages = ["rust"]
[[layers]]
name = "domain"
paths = ["src/domain/**"]
dependency_mode = "opt-in"
allow = []
external_mode = "opt-in"
external_allow = []
# ... 追加レイヤー
[severity]
dependency_violation = "error"
[ignore]
paths = ["**/generated/**"]

セクション一覧

セクション説明
[project]プロジェクト名・ルート・対象言語
[[layers]]レイヤー定義と依存ルール
[resolve.*]言語別のインポート解決設定
[severity]違反の重大度設定
[ignore]解析から除外するパス

[project]

キー説明
nameプロジェクト名
root解析のルートディレクトリ(mille.toml からの相対パス)
languages対象言語: "rust" / "go" / "typescript" / "javascript" / "python" / "java" / "kotlin"

[ignore]

解析対象から除外するファイルを指定します。

キー説明
paths完全に除外するグロブパターン(生成コード・vendor など)
test_patternsレイヤー統計には含めるが違反チェックしないパターン(テストファイル)
[ignore]
paths = ["**/mock/**", "**/generated/**", "**/testdata/**"]
test_patterns = ["**/*_test.go", "**/*.spec.ts", "**/*.test.ts"]

paths vs test_patterns の使い分け:

  • paths: 解析対象外にしたいファイル(生成コード、vendor ディレクトリ、モック)
  • test_patterns: レイヤーをまたいで意図的にインポートするテストファイル(統合テストなど)