Wie sich mini an dein Projekt anpasst

mini liest deinen Code und erhöht deine Version an der Stelle, die zu deinem Projekt passt — über Sprachen hinweg, mit sinnvollen Fallbacks.

Eine sprachbewusste Projektkarte

mini map baut die maschinenlesbare Projektkarte pro Datei, nach Erweiterung — nicht aus einer einzigen "Projektsprache". Ein Projekt kann mehrere Sprachen mischen, und jede erkannte Datei wird abgebildet. Die unterstützten Erweiterungen sind:

.ts  .tsx  .php  .rs  .py  .go  .java  .cs  .kt  .kts  .swift  .rb

Dateien mit nicht erkannter Erweiterung sowie eingebundene oder Build-Verzeichnisse wie vendor/, target/, var/cache/ und node_modules/ werden übersprungen — so bleibt die Karte auf deinen eigenen Quellcode konzentriert.

Wo die Version liegt

Wenn du eine Phase mit --bump (und optional --push) abschließt, schreibt mini die neue Version in die Datei, die zu deinem Projekt passt. Die untenstehenden Quellen werden in fester Reihenfolge geprüft, und die erste, die bereits eine brauchbare Version enthält, gewinnt — nur diese eine Datei wird geändert.

Datei Wann mini die Version hierhin schreibt
package.json JavaScript-/TypeScript-Projekte — das Feld "version" in package.json.
Cargo.toml Rust-Projekte — die Version unter dem Abschnitt [package] in Cargo.toml.
pyproject.toml Python-Projekte — die Version unter [project] oder [tool.poetry] in pyproject.toml.
setup.py Python-Projekte mit setup.py — das Argument version="…".
composer.json PHP-Projekte — nur wenn composer.json bereits ein Feld "version" hat (mini fügt nie eines hinzu).
__version__ Python-Projekte — eine Zeile __version__ = "…" an einer üblichen Stelle.
VERSION Jedes Projekt ohne erkanntes Manifest — eine einfache VERSION-Datei mit einer einzelnen Zeile x.y.z, die mit 0.1.0 angelegt wird, falls sie noch nicht existiert.

Das Schreiben ist immer eine reine textuelle Ersetzung des Versionswerts, ohne JSON- oder TOML-Neuformatierung, sodass die Änderung eine einzige Zeile bleibt.

Beispiel: Diese Website selbst ist ein PHP-/Symfony-Projekt, dessen composer.json kein Versionsfeld trägt, sodass eine Erhöhung auf die VERSION-Fallback-Datei zurückfällt.