Aller au contenu

Configuration

gapline lit ses réglages depuis un fichier TOML. Posez un gapline.toml à côté de votre flux et vous n’aurez plus à retaper -f, --format, ou --min-severity sur chaque commande. Cette page couvre où poser le fichier et quoi y mettre ; référence / fichier de configuration liste chaque clé acceptée.

Les réglages résolvent en quatre couches, priorité décroissante. Chaque couche surcharge la suivante — le CLI a toujours le dernier mot.

PrioritéCoucheUsage typique
1Flags CLI (--feed, --format, --min-severity…)Surcharges ponctuelles pour un run.
2./gapline.toml dans le répertoire courantDéfauts par projet — à commiter avec le flux.
3Config globale utilisateur (chemins ci-dessous)Préférences personnelles partagées entre projets.
4Valeurs par défaut du binaireCe que vous obtenez sans config.

--config PATH en CLI remplace la couche 2 par le fichier pointé. La couche 3 reste consultée en priorité inférieure — les overrides locaux gagnent toujours.

  • Local./gapline.toml dans le répertoire où vous lancez gapline.
  • Global~/.config/gapline/config.toml.
Fenêtre de terminal
mkdir -p ~/.config/gapline
touch ~/.config/gapline/config.toml

Ce que la plupart des projets veulent. Un chemin de flux, un format par défaut, et vous arrêtez de les retaper à chaque commande.

gapline.toml
[default]
feed = "./data/gtfs.zip"
format = "json"
Fenêtre de terminal
# Avec la config ci-dessus, validate tourne sur ./data/gtfs.zip et produit du JSON.
gapline validate -o report.json

Quand le projet prend une cadence (sévérité stricte en CI, quelques règles bruyantes, des seuils de vitesse spécifiques à votre flux ferroviaire), épinglez-les dans la config.

gapline.toml
[default]
feed = "./data/gtfs.zip"
format = "json"
[validation]
min_severity = "warning"
disabled_rules = ["block_id_trip_overlap"]
[validation.thresholds.speed_limits]
rail_kmh = 320
bus_kmh = 120
[validation.thresholds.calendar]
min_feed_coverage_days = 60
feed_expiration_warning_days = 14
[output]
show_progress = true
group_by_rule = true

La liste complète des sections et clés acceptées est sur référence / fichier de configuration.

  • Un fichier absent à n’importe quelle couche est ignoré silencieusement. Pas d’erreur, pas d’avertissement — il ne contribue juste pas au merge.
  • Un fichier malformé (TOML cassé, clé inconnue) avorte avec code 2 et un message qui pointe le fichier et le token fautif. gapline refuse volontairement les clés inconnues pour qu’une faute de frappe sur un nom de section n’échappe pas à la validation.
  • Une valeur sémantiquement invalide (vitesse négative, couverture calendrier nulle, seuil d’avertissement de transfert supérieur au max) avorte avec le même code et cite le champ précis.
Config error in ./gapline.toml: unknown field `validattion`, expected one of `default`, `validation`, `performance`, `output`, `batch`, `experimental`