mini がプロジェクトにどう適応するか
mini はコードを読み、プロジェクトに合った場所でバージョンを引き上げます — 言語をまたいで、妥当なフォールバックで。
言語を認識するプロジェクトマップ
mini map は、機械可読のプロジェクトマップを単一の「プロジェクト言語」からではなく、拡張子ごとにファイル単位で構築します。プロジェクトは複数の言語を混在でき、認識された各ファイルがマップされます。対応する拡張子は次のとおりです:
.ts .tsx .php .rs .py .go .java .cs .kt .kts .swift .rb
認識されない拡張子のファイルや、vendor/、target/、var/cache/、node_modules/ のようなベンダーやビルドのディレクトリはスキップされます — そのためマップはあなた自身のソースに集中したままになります。
バージョンが置かれる場所
--bump(および任意で --push)でフェーズを閉じると、mini は新しいバージョンをあなたのプロジェクトに合うファイルに書き込みます。下記のソースは固定の順序で試され、すでに利用可能なバージョンを持つ最初のものが選ばれます — 変更されるのはその単一ファイルだけです。
| ファイル | mini がここにバージョンを書き込むとき |
|---|---|
| package.json | JavaScript / TypeScript プロジェクト — package.json の "version" フィールド。 |
| Cargo.toml | Rust プロジェクト — Cargo.toml の [package] セクション内のバージョン。 |
| pyproject.toml | Python プロジェクト — pyproject.toml の [project] または [tool.poetry] 内のバージョン。 |
| setup.py | setup.py を使う Python プロジェクト — version="…" 引数。 |
| composer.json | PHP プロジェクト — composer.json にすでに "version" フィールドがある場合のみ(mini は決して追加しません)。 |
| __version__ | Python プロジェクト — よくある場所の __version__ = "…" 行。 |
| VERSION | 認識されるマニフェストがないプロジェクト — x.y.z の 1 行を持つ単純な VERSION ファイル。まだ存在しない場合は 0.1.0 で作成されます。 |
書き込みは常にバージョン値の純粋なテキスト置換で、JSON や TOML の再整形はしないので、変更は 1 行のままです。
例: このサイト自体は composer.json にバージョンフィールドを持たない PHP/Symfony プロジェクトなので、引き上げは VERSION フォールバックファイルに落ちます。