@nowline/cli 0.8.6 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -9
- package/dist/cli/args.d.ts +20 -4
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +20 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +31 -3
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/options.d.ts +74 -0
- package/dist/cli/options.d.ts.map +1 -0
- package/dist/cli/options.js +209 -0
- package/dist/cli/options.js.map +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +2 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp-install.d.ts +18 -0
- package/dist/commands/mcp-install.d.ts.map +1 -0
- package/dist/commands/mcp-install.js +151 -0
- package/dist/commands/mcp-install.js.map +1 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +7 -12
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/render.d.ts +7 -0
- package/dist/commands/render.d.ts.map +1 -1
- package/dist/commands/render.js +161 -155
- package/dist/commands/render.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +87 -60
- package/dist/commands/serve.js.map +1 -1
- package/dist/diagnostics/adapt.d.ts +12 -1
- package/dist/diagnostics/adapt.d.ts.map +1 -1
- package/dist/diagnostics/adapt.js +53 -1
- package/dist/diagnostics/adapt.js.map +1 -1
- package/dist/diagnostics/model.d.ts +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.d.ts.map +1 -1
- package/dist/generated/version.js +2 -2
- package/dist/generated/version.js.map +1 -1
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/locale.js +2 -5
- package/dist/i18n/locale.js.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/io/config.d.ts +1 -1
- package/dist/io/config.d.ts.map +1 -1
- package/dist/io/config.js +1 -1
- package/dist/io/config.js.map +1 -1
- package/dist/io/log.d.ts +17 -0
- package/dist/io/log.d.ts.map +1 -0
- package/dist/io/log.js +16 -0
- package/dist/io/log.js.map +1 -0
- package/dist/mcp-install/clients.d.ts +58 -0
- package/dist/mcp-install/clients.d.ts.map +1 -0
- package/dist/mcp-install/clients.js +304 -0
- package/dist/mcp-install/clients.js.map +1 -0
- package/dist/mcp-install/host.d.ts +29 -0
- package/dist/mcp-install/host.d.ts.map +1 -0
- package/dist/mcp-install/host.js +72 -0
- package/dist/mcp-install/host.js.map +1 -0
- package/dist/mcp-install/json-config.d.ts +29 -0
- package/dist/mcp-install/json-config.d.ts.map +1 -0
- package/dist/mcp-install/json-config.js +139 -0
- package/dist/mcp-install/json-config.js.map +1 -0
- package/dist/mcp-install/server-command.d.ts +26 -0
- package/dist/mcp-install/server-command.d.ts.map +1 -0
- package/dist/mcp-install/server-command.js +52 -0
- package/dist/mcp-install/server-command.js.map +1 -0
- package/man/fr/nowline.1 +248 -19
- package/man/fr/nowline.5 +819 -45
- package/man/nowline.1 +193 -18
- package/man/nowline.5 +764 -36
- package/package.json +19 -19
- package/src/cli/args.ts +55 -5
- package/src/cli/help.ts +31 -3
- package/src/cli/options.ts +286 -0
- package/src/commands/init.ts +2 -3
- package/src/commands/mcp-install.ts +211 -0
- package/src/commands/mcp.ts +10 -14
- package/src/commands/render.ts +198 -195
- package/src/commands/serve.ts +102 -74
- package/src/diagnostics/adapt.ts +62 -0
- package/src/diagnostics/model.ts +1 -1
- package/src/generated/version.ts +2 -2
- package/src/i18n/locale.ts +2 -6
- package/src/index.ts +3 -0
- package/src/io/config.ts +0 -1
- package/src/io/log.ts +33 -0
- package/src/mcp-install/clients.ts +443 -0
- package/src/mcp-install/host.ts +106 -0
- package/src/mcp-install/json-config.ts +179 -0
- package/src/mcp-install/server-command.ts +75 -0
package/man/fr/nowline.5
CHANGED
|
@@ -2,12 +2,19 @@
|
|
|
2
2
|
.\" prennent la forme de surcouches dans packages/cli/man/<locale>/nowline.5
|
|
3
3
|
.\" lorsqu'elles existent. Voir specs/localization.md.
|
|
4
4
|
.\"
|
|
5
|
+
.\" Empreinte de la page anglaise relue pour cette traduction. Après avoir
|
|
6
|
+
.\" reporté une modification de la page anglaise, remplacez-la par la ligne
|
|
7
|
+
.\" qu'affiche packages/cli/test/man/translation-parity.test.ts.
|
|
8
|
+
.\" translated-from: nowline.5 sha256:a09a86faed775a5d103a5758ccdaa55085238852506ec4c61af0b8a8f991132e
|
|
9
|
+
.\"
|
|
5
10
|
.\" Les mots-clés du DSL (nowline, config, roadmap, swimlane, item, parallel,
|
|
6
|
-
.\" group, person, team, anchor, label, size, status, milestone, footnote,
|
|
7
|
-
.\" include, style, symbol, default, scale, calendar
|
|
11
|
+
.\" group, person, team, anchor, label, size, status, wave, milestone, footnote,
|
|
12
|
+
.\" include, style, symbol, default, scale, calendar, non-working, working)
|
|
13
|
+
.\" ainsi que les noms de
|
|
8
14
|
.\" propriétés (size:, duration:, after:, before:, on:, owner:, capacity:,
|
|
9
15
|
.\" labels:, link:, style:, status:, etc.) et les valeurs intégrées
|
|
10
|
-
.\" (planned, in-progress, done, at-risk, blocked,
|
|
16
|
+
.\" (planned, in-progress, active, done, completed, at-risk, blocked,
|
|
17
|
+
.\" business, full, custom)
|
|
11
18
|
.\" restent en anglais : ce sont des éléments de syntaxe acceptés par
|
|
12
19
|
.\" l'analyseur, pas des mots à traduire.
|
|
13
20
|
.Dd $Mdocdate$
|
|
@@ -59,13 +66,13 @@ Section
|
|
|
59
66
|
.Sy config
|
|
60
67
|
(facultative).
|
|
61
68
|
Configuration de production\ : styles, valeurs par défaut, échelle,
|
|
62
|
-
calendrier, symboles.
|
|
69
|
+
calendrier, symboles, jours non ouvrés et ouvrés.
|
|
63
70
|
.It
|
|
64
71
|
Section
|
|
65
72
|
.Sy roadmap
|
|
66
73
|
(obligatoire).
|
|
67
74
|
Contenu\ : personnes, équipes, ancres, étiquettes, tailles, statuts,
|
|
68
|
-
couloirs, éléments, jalons, notes de bas de page.
|
|
75
|
+
vagues, couloirs, éléments, jalons, notes de bas de page.
|
|
69
76
|
.El
|
|
70
77
|
.Pp
|
|
71
78
|
.Sy config
|
|
@@ -187,16 +194,18 @@ Les déclarations
|
|
|
187
194
|
.Sy scale ,
|
|
188
195
|
.Sy style ,
|
|
189
196
|
.Sy symbol ,
|
|
190
|
-
.Sy default
|
|
197
|
+
.Sy default ,
|
|
198
|
+
.Sy calendar ,
|
|
199
|
+
.Sy non-working
|
|
191
200
|
et
|
|
192
|
-
.Sy
|
|
201
|
+
.Sy working
|
|
193
202
|
du fichier inclus.
|
|
194
203
|
.It Sy Roadmap
|
|
195
204
|
La déclaration
|
|
196
205
|
.Sy roadmap
|
|
197
206
|
du fichier inclus, plus tout son contenu (personnes, équipes,
|
|
198
|
-
ancres, étiquettes, tailles, statuts, couloirs, éléments,
|
|
199
|
-
notes de bas de page).
|
|
207
|
+
ancres, étiquettes, tailles, statuts, vagues, couloirs, éléments,
|
|
208
|
+
jalons, notes de bas de page).
|
|
200
209
|
.El
|
|
201
210
|
.Pp
|
|
202
211
|
Modes
|
|
@@ -209,6 +218,13 @@ En cas de collision, le
|
|
|
209
218
|
.Em parent l'emporte
|
|
210
219
|
et l'analyseur émet un avertissement identifiant la définition
|
|
211
220
|
masquée et son fichier source.
|
|
221
|
+
Une déclaration
|
|
222
|
+
.Sy non-working
|
|
223
|
+
ou
|
|
224
|
+
.Sy working
|
|
225
|
+
n'entre en collision qu'avec une déclaration du parent portant le même
|
|
226
|
+
mot-clé et le même nom\ ; une déclaration sans nom n'entre jamais en
|
|
227
|
+
collision et est toujours fusionnée.
|
|
212
228
|
.It Sy ignore
|
|
213
229
|
La configuration de l'enfant est entièrement abandonnée.
|
|
214
230
|
Si le contenu roadmap de l'enfant est fusionné, il résout les
|
|
@@ -297,6 +313,40 @@ de fusion
|
|
|
297
313
|
parce que
|
|
298
314
|
.Sy start:
|
|
299
315
|
définit la base temporelle commune.
|
|
316
|
+
.Pp
|
|
317
|
+
Les vagues ne fusionnent jamais.
|
|
318
|
+
Pour toute inclusion dont le mode
|
|
319
|
+
.Sy roadmap:
|
|
320
|
+
n'est pas
|
|
321
|
+
.Sy ignore ,
|
|
322
|
+
si le fichier enfant déclare un
|
|
323
|
+
.Sy roadmap ,
|
|
324
|
+
possède des couloirs ou déclare des vagues, le parent et l'enfant
|
|
325
|
+
doivent déclarer les mêmes vagues\ : les mêmes identifiants, dans le
|
|
326
|
+
même ordre, avec les mêmes bornes de départ résolues.
|
|
327
|
+
Les bornes sont comparées par la date qu'elles résolvent, de sorte
|
|
328
|
+
que
|
|
329
|
+
.Sy after:fy-budget
|
|
330
|
+
et
|
|
331
|
+
.Sy after:2026-02-02
|
|
332
|
+
concordent lorsque l'ancre tombe à cette date.
|
|
333
|
+
Une discordance, dans un sens comme dans l'autre, est l'erreur
|
|
334
|
+
.Sy NL.E0202 ,
|
|
335
|
+
signalée sur la ligne
|
|
336
|
+
.Sy include
|
|
337
|
+
du parent\ ; deux fichiers sans vagues passent.
|
|
338
|
+
Les vagues sont des barrières sur tout le canevas\ : une liste de
|
|
339
|
+
vagues masquée en silence déplacerait les colonnes de chaque couloir.
|
|
340
|
+
Lorsque identifiants, ordre et bornes concordent, un titre,
|
|
341
|
+
.Sy style: ,
|
|
342
|
+
.Sy labels: ,
|
|
343
|
+
.Sy link:
|
|
344
|
+
ou une description différents donnent l'avertissement
|
|
345
|
+
.Sy NL.W0701
|
|
346
|
+
et la définition du parent est utilisée.
|
|
347
|
+
Un enfant limité au vocabulaire (personnes, équipes, étiquettes,
|
|
348
|
+
tailles, statuts, ancres\ ; ni roadmap, ni couloirs, ni vagues) ne
|
|
349
|
+
participe pas.
|
|
300
350
|
.Sh SECTION CONFIG
|
|
301
351
|
Le marqueur de section facultatif
|
|
302
352
|
.Sy config
|
|
@@ -305,14 +355,16 @@ apparaît avant
|
|
|
305
355
|
Les mots-clés de configuration se trouvent au plus haut niveau (et
|
|
306
356
|
non indentés sous le marqueur) et définissent vocabulaire de
|
|
307
357
|
production, valeurs par défaut, paramètres d'axe, arithmétique des
|
|
308
|
-
jours et symboles personnalisés.
|
|
358
|
+
jours, jours non ouvrés et symboles personnalisés.
|
|
309
359
|
.Pp
|
|
310
|
-
|
|
360
|
+
Sept mots-clés de configuration\ :
|
|
311
361
|
.Sy scale ,
|
|
312
362
|
.Sy style ,
|
|
313
363
|
.Sy symbol ,
|
|
314
364
|
.Sy default ,
|
|
315
|
-
.Sy calendar
|
|
365
|
+
.Sy calendar ,
|
|
366
|
+
.Sy non-working ,
|
|
367
|
+
.Sy working .
|
|
316
368
|
Toute entrée de configuration est facultative\ ; si
|
|
317
369
|
.Sy config
|
|
318
370
|
est omise, toutes les valeurs intégrées par défaut s'appliquent.
|
|
@@ -410,6 +462,14 @@ Interdites, par type d'entité\ :
|
|
|
410
462
|
.Sy date , link , description .
|
|
411
463
|
.It Sy default footnote
|
|
412
464
|
.Sy on , link , description .
|
|
465
|
+
.It Sy chaque ligne default
|
|
466
|
+
.Sy wave
|
|
467
|
+
\(em le séquencement crée des dépendances invisibles, et il n'existe
|
|
468
|
+
pas de
|
|
469
|
+
.Sy default wave .
|
|
470
|
+
C'est une erreur dans une roadmap avec vagues\ ; dans une roadmap
|
|
471
|
+
sans vagues, la clé est ignorée avec l'avertissement
|
|
472
|
+
.Sy NL.W0702 .
|
|
413
473
|
.El
|
|
414
474
|
.Pp
|
|
415
475
|
Les propriétés de style brutes
|
|
@@ -501,7 +561,7 @@ Arithmétique des jours ouvrés d'ingénierie.
|
|
|
501
561
|
Arithmétique des jours calendaires avec week-ends.
|
|
502
562
|
.Sy days-per-week:7 ,
|
|
503
563
|
.Sy days-per-month:30 ,
|
|
504
|
-
.Sy days-per-quarter:
|
|
564
|
+
.Sy days-per-quarter:91 ,
|
|
505
565
|
.Sy days-per-year:365 .
|
|
506
566
|
.It Sy calendar:custom
|
|
507
567
|
Valeurs fournies par l'auteur via le bloc de configuration
|
|
@@ -543,6 +603,174 @@ C'est pourquoi le mode business donne
|
|
|
543
603
|
.Sy 1y = 260d
|
|
544
604
|
et non
|
|
545
605
|
.Sy 12 \(mu 22d = 264d .
|
|
606
|
+
.Ss non-working et working \(em déclarations
|
|
607
|
+
Une déclaration
|
|
608
|
+
.Sy non-working
|
|
609
|
+
retire des jours du calendrier d'exécution\ : week-ends, jours fériés,
|
|
610
|
+
fermetures.
|
|
611
|
+
Une déclaration
|
|
612
|
+
.Sy working
|
|
613
|
+
en remet\ : un samedi de rattrapage ou un jour de récupération.
|
|
614
|
+
Les deux sont des mots-clés de configuration et partagent une même
|
|
615
|
+
forme\ :
|
|
616
|
+
.Bd -literal -offset indent
|
|
617
|
+
config
|
|
618
|
+
|
|
619
|
+
non-working weekend "Weekend" every:[fri, sat]
|
|
620
|
+
non-working new-year "New Year's Day" date:2027-01-01
|
|
621
|
+
non-working summit "Company summit" start:2026-09-14 end:2026-09-16
|
|
622
|
+
non-working fridays every:fri start:2026-07-01 end:2026-08-31
|
|
623
|
+
working crunch "Crunch Saturday" date:2026-01-10
|
|
624
|
+
.Ed
|
|
625
|
+
.Pp
|
|
626
|
+
L'identifiant et le titre sont tous deux facultatifs.
|
|
627
|
+
Les durées ne comptent que les jours ouvrés\ : un élément qui traverse
|
|
628
|
+
un jour non ouvré se termine plus tard, et un élément qui traverse une
|
|
629
|
+
exception ouvrée se termine plus tôt.
|
|
630
|
+
Le graphique étiquette une déclaration datée qui a un titre
|
|
631
|
+
.Po
|
|
632
|
+
.Sy date:
|
|
633
|
+
ou
|
|
634
|
+
.Sy start:
|
|
635
|
+
avec
|
|
636
|
+
.Sy end:
|
|
637
|
+
et sans
|
|
638
|
+
.Sy every:
|
|
639
|
+
.Pc
|
|
640
|
+
avec son titre et le nombre de jours ouvrés qu'elle retire, par exemple
|
|
641
|
+
.Dq Thanksgiving \[u00B7] 2d .
|
|
642
|
+
Sous
|
|
643
|
+
.Sy hide
|
|
644
|
+
l'étiquette est posée sur un trait de coupe à la jointure, et sous
|
|
645
|
+
.Sy show
|
|
646
|
+
au bord gauche de la bande grisée.
|
|
647
|
+
Une déclaration
|
|
648
|
+
.Sy working
|
|
649
|
+
datée qui a un titre est étiquetée aux jours qu'elle rend ouvrés, avec
|
|
650
|
+
son titre et le nombre de jours qu'elle ajoute, par exemple
|
|
651
|
+
.Dq Crunch Saturday \[u00B7] +1d ,
|
|
652
|
+
sans trait de coupe dans aucun des deux affichages\ ; un jour de
|
|
653
|
+
récupération en semaine à l'intérieur d'une fermeture datée compte.
|
|
654
|
+
Un titre sur une récurrence n'est pas dessiné.
|
|
655
|
+
Une déclaration accepte ces propriétés\ :
|
|
656
|
+
.Bl -tag -width "every:"
|
|
657
|
+
.It Sy date:
|
|
658
|
+
Une date ISO ou une liste de dates.
|
|
659
|
+
.It Sy start:
|
|
660
|
+
Une date ISO, incluse\ : le premier jour d'une plage, ou le jour où une
|
|
661
|
+
récurrence commence.
|
|
662
|
+
.It Sy end:
|
|
663
|
+
Une date ISO, incluse\ : le dernier jour d'une plage, ou le jour où une
|
|
664
|
+
récurrence s'arrête.
|
|
665
|
+
Elle ne doit pas précéder
|
|
666
|
+
.Sy start: .
|
|
667
|
+
.It Sy every:
|
|
668
|
+
Un jour de semaine ou une liste de
|
|
669
|
+
.Sy sun , mon , tue , wed , thu , fri , sat .
|
|
670
|
+
Une récurrence hebdomadaire.
|
|
671
|
+
.El
|
|
672
|
+
.Pp
|
|
673
|
+
Une déclaration a exactement l'une de ces trois formes\ :
|
|
674
|
+
.Sy date:
|
|
675
|
+
seul\ ; une plage
|
|
676
|
+
.Sy start:
|
|
677
|
+
et
|
|
678
|
+
.Sy end:
|
|
679
|
+
sans
|
|
680
|
+
.Sy every: \ ;
|
|
681
|
+
ou
|
|
682
|
+
.Sy every:
|
|
683
|
+
avec des bornes
|
|
684
|
+
.Sy start:
|
|
685
|
+
et
|
|
686
|
+
.Sy end:
|
|
687
|
+
facultatives.
|
|
688
|
+
Sans borne, une récurrence est sans fin et vaut chaque semaine.
|
|
689
|
+
.Pp
|
|
690
|
+
Un jour donné, la déclaration la plus précise l'emporte, et
|
|
691
|
+
.Sy working
|
|
692
|
+
l'emporte à égalité\ :
|
|
693
|
+
.Bl -enum -offset indent -compact
|
|
694
|
+
.It
|
|
695
|
+
une déclaration datée, soit une liste
|
|
696
|
+
.Sy date:
|
|
697
|
+
soit une plage\ ;
|
|
698
|
+
.It
|
|
699
|
+
une récurrence bornée\ ;
|
|
700
|
+
.It
|
|
701
|
+
la semaine sans fin.
|
|
702
|
+
.El
|
|
703
|
+
.Pp
|
|
704
|
+
L'ordre n'a jamais d'importance\ : les mêmes déclarations dans un ordre
|
|
705
|
+
quelconque, dans le fichier ou dans des inclusions, donnent le même
|
|
706
|
+
calendrier.
|
|
707
|
+
.Sy calendar:business
|
|
708
|
+
fournit une déclaration
|
|
709
|
+
.Sy non-working weekend
|
|
710
|
+
pour le samedi et le dimanche.
|
|
711
|
+
Une déclaration
|
|
712
|
+
.Sy non-working
|
|
713
|
+
nommée
|
|
714
|
+
.Sy weekend
|
|
715
|
+
la remplace, quel que soit le préréglage, de sorte qu'une semaine
|
|
716
|
+
vendredi-samedi n'exige pas de calendrier personnalisé\ ; tout autre nom
|
|
717
|
+
s'ajoute au préréglage.
|
|
718
|
+
.Pp
|
|
719
|
+
La semaine sans fin doit garder un jour ouvré, et
|
|
720
|
+
.Sy days-per-week
|
|
721
|
+
doit concorder avec les jours de semaine qu'elle laisse ouvrés
|
|
722
|
+
.Pq voir Sx VALIDATION .
|
|
723
|
+
Une déclaration dont une valeur ou la forme est malformée est ignorée
|
|
724
|
+
lors de la construction du calendrier.
|
|
725
|
+
Avec
|
|
726
|
+
.Sy config:isolate ,
|
|
727
|
+
les déclarations de l'enfant restent dans sa région et n'ont pas encore
|
|
728
|
+
d'effet sur le graphique\ : la région est tracée sur le calendrier de
|
|
729
|
+
l'hôte.
|
|
730
|
+
Le validateur ne lit que son propre fichier\ : une déclaration d'une
|
|
731
|
+
inclusion n'est donc pas prise en compte par les vérifications de la
|
|
732
|
+
semaine sans fin.
|
|
733
|
+
.Ss non-working: \(em affichage des jours
|
|
734
|
+
Avec
|
|
735
|
+
.Sy calendar:business ,
|
|
736
|
+
le week-end est non ouvré\ : les durées ne comptent que les jours ouvrés,
|
|
737
|
+
et le graphique masque ces jours ou les dessine.
|
|
738
|
+
L'affichage est une clé de style réservée à
|
|
739
|
+
.Sy roadmap ,
|
|
740
|
+
posée sur la ligne
|
|
741
|
+
.Sy default roadmap
|
|
742
|
+
(les clés de style brutes sont interdites sur la ligne
|
|
743
|
+
.Sy roadmap
|
|
744
|
+
elle-même)\ :
|
|
745
|
+
.Bd -literal -offset indent
|
|
746
|
+
config
|
|
747
|
+
|
|
748
|
+
default roadmap non-working:show
|
|
749
|
+
.Ed
|
|
750
|
+
.Bl -tag -width "show"
|
|
751
|
+
.It Sy hide Pq par défaut
|
|
752
|
+
Les jours non ouvrés n'occupent aucune largeur\ ; chaque série se réduit à
|
|
753
|
+
une couture.
|
|
754
|
+
.It Sy show
|
|
755
|
+
Les jours non ouvrés sont tracés à pleine largeur et ombrés.
|
|
756
|
+
Une barre traverse un week-end mais s'arrête à la fin de son dernier jour
|
|
757
|
+
ouvré, de sorte que l'écart entre des barres enchaînées reste visible.
|
|
758
|
+
.El
|
|
759
|
+
.Pp
|
|
760
|
+
L'affichage ne modifie jamais le calendrier d'exécution\ : les sorties
|
|
761
|
+
Mermaid, MS Project et XLSX sont identiques dans les deux vues.
|
|
762
|
+
Il peut aussi être choisi au rendu\ ; la première source qui s'applique
|
|
763
|
+
l'emporte\ : l'option
|
|
764
|
+
.Fl -non-working
|
|
765
|
+
(ou l'option équivalente d'une autre surface), la clé
|
|
766
|
+
.Sy default roadmap non-working:
|
|
767
|
+
du fichier, puis
|
|
768
|
+
.Sy hide .
|
|
769
|
+
Avec
|
|
770
|
+
.Sy calendar:full
|
|
771
|
+
et
|
|
772
|
+
.Sy calendar:custom ,
|
|
773
|
+
il n'y a pas de jours non ouvrés et la clé est sans effet.
|
|
546
774
|
.Sh SECTION ROADMAP
|
|
547
775
|
Le marqueur de section
|
|
548
776
|
.Sy roadmap
|
|
@@ -593,19 +821,37 @@ résolu relativement au répertoire du fichier
|
|
|
593
821
|
.Pa .nowline .
|
|
594
822
|
Barres obliques sur toutes les plateformes\ ; seuls les chemins
|
|
595
823
|
locaux sont acceptés.
|
|
824
|
+
Le logo est dessiné à gauche du titre dans la carte d'en-tête,
|
|
825
|
+
centré verticalement, et intégré à la sortie (SVG en ligne, image
|
|
826
|
+
matricielle en URI de données base64).
|
|
596
827
|
La résolution des ressources a lieu au moment du rendu, pas de
|
|
597
828
|
l'analyse \(em un fichier référant un logo absent reste un
|
|
598
829
|
document valide.
|
|
830
|
+
Un logo absent, d'un format non pris en charge ou illisible produit
|
|
831
|
+
un avertissement et le graphique est rendu comme si aucun logo
|
|
832
|
+
n'était déclaré\ ; avec
|
|
833
|
+
.Fl -strict ,
|
|
834
|
+
c'est une erreur.
|
|
599
835
|
.It Sy logo-size:
|
|
600
836
|
Préréglage de taille
|
|
601
837
|
.Pq Sy xs | sm | md | lg | xl ,
|
|
602
838
|
.Sy md
|
|
603
839
|
par défaut.
|
|
840
|
+
Fixe la hauteur du logo dessiné (18, 24, 36, 48 ou 72\ px)\ ; la
|
|
841
|
+
largeur suit les proportions du logo, si bien qu'une source plus
|
|
842
|
+
grande ou plus petite est mise à l'échelle pour remplir le même
|
|
843
|
+
emplacement.
|
|
844
|
+
Un logo plus large que 160\ px à cette hauteur est réduit pour tenir.
|
|
845
|
+
Un logo plus haut que le titre et l'auteur agrandit la carte
|
|
846
|
+
d'en-tête\ ;
|
|
847
|
+
.Sy xl
|
|
848
|
+
agrandit aussi la bande de 72\ px de
|
|
849
|
+
.Sy header-position:above .
|
|
604
850
|
.El
|
|
605
851
|
.Pp
|
|
606
|
-
|
|
852
|
+
Treize mots-clés de la section roadmap\ :
|
|
607
853
|
.Sy swimlane , item , parallel , group ,
|
|
608
|
-
.Sy person , team , anchor , label , size , status , milestone ,
|
|
854
|
+
.Sy person , team , anchor , label , size , status , wave , milestone ,
|
|
609
855
|
.Sy footnote .
|
|
610
856
|
Chacun suit le modèle universel
|
|
611
857
|
.Sy [id] ["titre"] [clé:valeur...] .
|
|
@@ -700,15 +946,25 @@ swimlane platform
|
|
|
700
946
|
.Pp
|
|
701
947
|
Un
|
|
702
948
|
.Sy group
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
949
|
+
est dessiné au-dessus et autour de ses éléments, jamais à côté\ :
|
|
950
|
+
un en-tête (son titre au-dessus d'un crochet qui couvre exactement
|
|
951
|
+
ses dates) sur un corps teinté de son
|
|
952
|
+
.Sy bg ,
|
|
953
|
+
avec une marge au-dessus et au-dessous.
|
|
954
|
+
.Sy style:
|
|
955
|
+
ne change que les couleurs.
|
|
708
956
|
Un
|
|
957
|
+
.Sy parallel
|
|
958
|
+
est dessiné de la même façon, ses pistes empilées dans son corps.
|
|
959
|
+
Dans une roadmap avec vagues, un
|
|
709
960
|
.Sy group
|
|
710
|
-
sans
|
|
711
|
-
|
|
961
|
+
sans titre, sans
|
|
962
|
+
.Sy style:
|
|
963
|
+
et sans
|
|
964
|
+
.Sy labels:
|
|
965
|
+
qui porte
|
|
966
|
+
.Sy wave:
|
|
967
|
+
ne dessine rien\ ; il ne fait qu'attribuer l'appartenance.
|
|
712
968
|
.Ss anchor \(em date nommée sur la chronologie
|
|
713
969
|
.Bd -literal -offset indent
|
|
714
970
|
anchor kickoff date:2026-01-06
|
|
@@ -825,6 +1081,127 @@ au niveau de l'entité.
|
|
|
825
1081
|
Les déclarations
|
|
826
1082
|
.Sy status
|
|
827
1083
|
doivent précéder toute entité qui les référence.
|
|
1084
|
+
.Ss wave \(em barrière à travers tous les couloirs
|
|
1085
|
+
.Bd -literal -offset indent
|
|
1086
|
+
wave id ["titre"] [after:ancre|jalon|date] \e
|
|
1087
|
+
[style:...] [labels:...] [link:...]
|
|
1088
|
+
.Ed
|
|
1089
|
+
.Pp
|
|
1090
|
+
Une
|
|
1091
|
+
.Sy wave
|
|
1092
|
+
(vague) est une barrière séquentielle stricte qui traverse tous les
|
|
1093
|
+
couloirs\ :
|
|
1094
|
+
.Em aucun élément de la vague k+1 ne démarre avant que
|
|
1095
|
+
.Em tous les éléments de la vague k soient terminés .
|
|
1096
|
+
Une vague s'ouvre pour chaque couloir à l'instant où le membre le
|
|
1097
|
+
plus lent de la vague précédente se termine\ ; les couloirs qui
|
|
1098
|
+
finissent plus tôt attendent à la frontière.
|
|
1099
|
+
Les vagues sont déclarées une seule fois, dans l'ordre, dans la
|
|
1100
|
+
section roadmap, et l'ordre de déclaration est l'ordre dans le
|
|
1101
|
+
temps.
|
|
1102
|
+
Le travail rejoint une vague avec la propriété
|
|
1103
|
+
.Sy wave:
|
|
1104
|
+
sur un
|
|
1105
|
+
.Sy item ,
|
|
1106
|
+
un
|
|
1107
|
+
.Sy group
|
|
1108
|
+
ou un
|
|
1109
|
+
.Sy parallel .
|
|
1110
|
+
.Bd -literal -offset indent
|
|
1111
|
+
wave discover "Discover"
|
|
1112
|
+
wave build "Build"
|
|
1113
|
+
wave launch "Launch" after:fy-budget
|
|
1114
|
+
|
|
1115
|
+
swimlane web "Web"
|
|
1116
|
+
item research "UX research" duration:2w wave:discover
|
|
1117
|
+
group wave:build
|
|
1118
|
+
item checkout "Checkout v2" duration:3w
|
|
1119
|
+
item a11y "Accessibility pass" duration:1w
|
|
1120
|
+
item launch-page "Launch page" duration:1w wave:launch
|
|
1121
|
+
swimlane ops "Ops"
|
|
1122
|
+
item on-call "On-call and KTLO" duration:10w
|
|
1123
|
+
|
|
1124
|
+
milestone beta "Beta" after:build
|
|
1125
|
+
.Ed
|
|
1126
|
+
.Pp
|
|
1127
|
+
Une ligne
|
|
1128
|
+
.Sy wave
|
|
1129
|
+
accepte\ :
|
|
1130
|
+
.Bl -tag -width "style:"
|
|
1131
|
+
.It Sy id
|
|
1132
|
+
Obligatoire
|
|
1133
|
+
.Pq Sy NL.E1100 .
|
|
1134
|
+
Rejoint l'espace de noms d'identifiants unique et partagé.
|
|
1135
|
+
.It Sy titre
|
|
1136
|
+
Facultatif.
|
|
1137
|
+
L'étiquette de la bande\ ; à défaut, l'identifiant.
|
|
1138
|
+
.It Sy after:
|
|
1139
|
+
Borne de départ facultative.
|
|
1140
|
+
La vague ne peut pas s'ouvrir avant le plus tardif de ses éléments.
|
|
1141
|
+
Chaque élément doit être un identifiant d'ancre, l'identifiant d'un
|
|
1142
|
+
jalon qui possède
|
|
1143
|
+
.Sy date: ,
|
|
1144
|
+
ou une date ISO (au plus une date)\ ; tout autre type d'entité est
|
|
1145
|
+
.Sy NL.E1106 .
|
|
1146
|
+
Un écart entre la fin d'une vague et la borne de la suivante est
|
|
1147
|
+
permis.
|
|
1148
|
+
.It Sy style:
|
|
1149
|
+
Couleurs de la vague\ : le
|
|
1150
|
+
.Sy bg
|
|
1151
|
+
du style teinte la colonne de la vague,
|
|
1152
|
+
.Sy fg
|
|
1153
|
+
colore sa ligne de frontière,
|
|
1154
|
+
.Sy text
|
|
1155
|
+
son étiquette de bande et
|
|
1156
|
+
.Sy border
|
|
1157
|
+
fixe le tracé de la frontière.
|
|
1158
|
+
.It Sy labels: , link: , description
|
|
1159
|
+
Conservées dans le modèle, l'export JSON et XLSX et l'infobulle
|
|
1160
|
+
LSP\ ; non dessinées.
|
|
1161
|
+
.El
|
|
1162
|
+
.Pp
|
|
1163
|
+
Clés non autorisées sur une
|
|
1164
|
+
.Sy wave\ :
|
|
1165
|
+
.Sy before: , date: , start: , length: , duration: , size: ,
|
|
1166
|
+
.Sy capacity: , remaining: , wave:
|
|
1167
|
+
.Pq Sy NL.E1105 .
|
|
1168
|
+
L'étendue d'une vague provient de ses éléments.
|
|
1169
|
+
Pour donner une échéance à une vague, ajoutez un jalon daté
|
|
1170
|
+
.Sy after:<vague>\ ;
|
|
1171
|
+
il devient rouge lorsque la vague prend du retard.
|
|
1172
|
+
.Pp
|
|
1173
|
+
Les éléments sans vague effective sont du
|
|
1174
|
+
.Em travail de fond
|
|
1175
|
+
\(em astreinte, support, maintenance continue.
|
|
1176
|
+
Une barrière ne retient jamais le travail de fond et sa propre fin
|
|
1177
|
+
n'allonge jamais une vague, mais il suit toujours l'ordre du couloir
|
|
1178
|
+
et son propre
|
|
1179
|
+
.Sy after: .
|
|
1180
|
+
Le travail de fond est dessiné hachuré.
|
|
1181
|
+
.Pp
|
|
1182
|
+
Un identifiant de vague est une cible valide pour
|
|
1183
|
+
.Sy after: ,
|
|
1184
|
+
.Sy before:
|
|
1185
|
+
et
|
|
1186
|
+
.Sy on: .
|
|
1187
|
+
.Sy after:<vague>
|
|
1188
|
+
démarre au plus tôt à la fin de cette vague, et un
|
|
1189
|
+
.Sy milestone after:<vague>
|
|
1190
|
+
flottant se place sur la frontière de clôture de la vague.
|
|
1191
|
+
.Sy before:<vague>
|
|
1192
|
+
doit se terminer avant le début de la vague (souple, comme tout
|
|
1193
|
+
.Sy before: ) .
|
|
1194
|
+
.Sy on:<vague>
|
|
1195
|
+
rattache une note de bas de page à la vague.
|
|
1196
|
+
Les références à une vague ne tracent aucune flèche de dépendance.
|
|
1197
|
+
.Pp
|
|
1198
|
+
Une roadmap
|
|
1199
|
+
.Qq a des vagues
|
|
1200
|
+
lorsqu'elle déclare au moins une vague avec un identifiant valide.
|
|
1201
|
+
Dans une roadmap sans vagues, toute clé
|
|
1202
|
+
.Sy wave:
|
|
1203
|
+
est ignorée avec l'avertissement
|
|
1204
|
+
.Sy NL.W0702 .
|
|
828
1205
|
.Ss milestone \(em marqueur de réussite
|
|
829
1206
|
.Bd -literal -offset indent
|
|
830
1207
|
milestone v1-ga "v1 GA" date:2026-06-30
|
|
@@ -854,7 +1231,7 @@ footnote capacity-risk "Team capacity risk" on:[mobile, platform]
|
|
|
854
1231
|
.Pp
|
|
855
1232
|
.Sy on:
|
|
856
1233
|
est obligatoire et référence un ou plusieurs identifiants
|
|
857
|
-
(élément, couloir, ancre, jalon, personne, équipe).
|
|
1234
|
+
(élément, couloir, ancre, jalon, vague, personne, équipe).
|
|
858
1235
|
Pour plusieurs cibles, utilisez la notation entre crochets\ :
|
|
859
1236
|
.Sy on:[id1, id2] .
|
|
860
1237
|
Les notes de bas de page sont numérotées séquentiellement par
|
|
@@ -918,8 +1295,8 @@ et la sous-directive
|
|
|
918
1295
|
.Sh PROPRIÉTÉS UNIVERSELLES
|
|
919
1296
|
Ces propriétés sont valides sur tous les types d'entités\ :
|
|
920
1297
|
éléments, couloirs, blocs parallèles, groupes, jalons, ancres,
|
|
921
|
-
personnes, équipes, étiquettes, tailles, statuts, notes de
|
|
922
|
-
page.
|
|
1298
|
+
vagues, personnes, équipes, étiquettes, tailles, statuts, notes de
|
|
1299
|
+
bas de page.
|
|
923
1300
|
.Bl -tag -width "description"
|
|
924
1301
|
.It Sy labels:
|
|
925
1302
|
Liste.
|
|
@@ -955,7 +1332,8 @@ Les propriétés de style brutes
|
|
|
955
1332
|
.Sy bg , Sy fg , Sy text , Sy border , Sy icon , Sy shadow ,
|
|
956
1333
|
.Sy font , Sy weight , Sy italic , Sy text-size , Sy padding ,
|
|
957
1334
|
.Sy spacing , Sy header-height , Sy corner-radius , Sy bracket ,
|
|
958
|
-
.Sy capacity-icon , Sy timeline-position ,
|
|
1335
|
+
.Sy header-position , Sy capacity-icon , Sy timeline-position ,
|
|
1336
|
+
.Sy minor-grid , Sy non-working
|
|
959
1337
|
.Pc
|
|
960
1338
|
ne peuvent apparaître que dans des blocs
|
|
961
1339
|
.Sy style
|
|
@@ -968,6 +1346,9 @@ qui vivent toutes deux dans
|
|
|
968
1346
|
et
|
|
969
1347
|
.Sy before
|
|
970
1348
|
sont aussi valides sur les couloirs, blocs parallèles et groupes.
|
|
1349
|
+
.Sy wave
|
|
1350
|
+
est aussi valide sur les blocs parallèles et les groupes, mais pas
|
|
1351
|
+
sur les couloirs.
|
|
971
1352
|
Les autres sont réservées aux éléments.
|
|
972
1353
|
.Bl -tag -width "remaining"
|
|
973
1354
|
.It Sy status:
|
|
@@ -991,13 +1372,34 @@ Identifiant ou liste entre crochets.
|
|
|
991
1372
|
L'entité démarre après la fin de l'entité référencée.
|
|
992
1373
|
.Sy after:[a, b]
|
|
993
1374
|
démarre après le dernier des terminaux.
|
|
994
|
-
Accepte des identifiants d'élément, jalon, ancre, parallel
|
|
995
|
-
|
|
1375
|
+
Accepte des identifiants d'élément, jalon, ancre, parallel, group
|
|
1376
|
+
ou vague.
|
|
996
1377
|
.It Sy before:
|
|
997
1378
|
Identifiant ou liste entre crochets.
|
|
998
1379
|
L'entité doit se terminer avant le début de l'entité référencée.
|
|
999
1380
|
.Sy before:[a, b]
|
|
1000
1381
|
se termine avant le premier des démarrants.
|
|
1382
|
+
.It Sy wave:
|
|
1383
|
+
Identifiant de vague.
|
|
1384
|
+
Exactement une
|
|
1385
|
+
.Sy wave
|
|
1386
|
+
déclarée
|
|
1387
|
+
.Po Sy wave:build Pc Ns \ ;
|
|
1388
|
+
un élément appartient à une seule vague au plus.
|
|
1389
|
+
La vague effective d'un élément est sa propre valeur, sinon celle
|
|
1390
|
+
du
|
|
1391
|
+
.Sy group
|
|
1392
|
+
ou du
|
|
1393
|
+
.Sy parallel
|
|
1394
|
+
englobant le plus proche qui en porte une\ ; un couloir n'en
|
|
1395
|
+
transmet jamais.
|
|
1396
|
+
Un descendant peut répéter la valeur de son conteneur mais pas en
|
|
1397
|
+
changer
|
|
1398
|
+
.Pq Sy NL.E1102 .
|
|
1399
|
+
Un bloc sans
|
|
1400
|
+
.Sy wave:
|
|
1401
|
+
peut contenir des enfants de vagues différentes.
|
|
1402
|
+
Significative seulement dans une roadmap avec vagues.
|
|
1001
1403
|
.It Sy size:
|
|
1002
1404
|
Alias de taille.
|
|
1003
1405
|
.Sy size:l
|
|
@@ -1255,12 +1657,34 @@ La valeur par défaut varie selon l'entité.
|
|
|
1255
1657
|
.Sy none | xs | sm | md Pq par défaut | lg | xl .
|
|
1256
1658
|
Réservée à
|
|
1257
1659
|
.Sy roadmap .
|
|
1660
|
+
Hauteur du bandeau des dates de la frise : 16, 20, 24, 32 ou 40 px de
|
|
1661
|
+
.Sy xs
|
|
1662
|
+
à
|
|
1663
|
+
.Sy xl ,
|
|
1664
|
+
les libellés restant centrés verticalement.
|
|
1665
|
+
Elle s'applique au bandeau du haut comme au bandeau miroir du bas.
|
|
1666
|
+
.Sy none
|
|
1667
|
+
supprime tous les bandeaux de dates, y compris ceux que demande
|
|
1668
|
+
.Sy timeline-position\ ;
|
|
1669
|
+
avec
|
|
1670
|
+
.Sy bottom
|
|
1671
|
+
ou
|
|
1672
|
+
.Sy both ,
|
|
1673
|
+
cela déclenche l'avertissement
|
|
1674
|
+
.Sy NL.W0704 .
|
|
1258
1675
|
.It Sy corner-radius
|
|
1259
1676
|
.Sy none | xs | sm | md | lg | xl | full .
|
|
1260
1677
|
.It Sy bracket
|
|
1261
|
-
.Sy none
|
|
1262
|
-
|
|
1263
|
-
|
|
1678
|
+
.Sy none | solid | dashed .
|
|
1679
|
+
Le crochet d'en-tête au-dessus des dates d'un groupe ou d'un
|
|
1680
|
+
parallèle\ :
|
|
1681
|
+
.Sy solid
|
|
1682
|
+
par défaut sur un groupe,
|
|
1683
|
+
.Sy dashed
|
|
1684
|
+
sur un parallèle\ ;
|
|
1685
|
+
.Sy none
|
|
1686
|
+
le masque.
|
|
1687
|
+
Réservée aux conteneurs.
|
|
1264
1688
|
.It Sy capacity-icon
|
|
1265
1689
|
Glyphe utilisé comme suffixe des nombres de capacité.
|
|
1266
1690
|
Identifiants intégrés\ :
|
|
@@ -1276,6 +1700,17 @@ Identifiants intégrés\ :
|
|
|
1276
1700
|
Personnalisé\ : tout identifiant
|
|
1277
1701
|
.Sy symbol \ ;
|
|
1278
1702
|
en ligne\ : un littéral Unicode entre guillemets doubles.
|
|
1703
|
+
.It Sy header-position
|
|
1704
|
+
.Sy beside Pq par défaut | above .
|
|
1705
|
+
Réservée à
|
|
1706
|
+
.Sy roadmap .
|
|
1707
|
+
Emplacement de la carte d'en-tête de la roadmap (titre et auteur)\ :
|
|
1708
|
+
.Sy beside
|
|
1709
|
+
la place dans une colonne à gauche du graphique, large de 120 à 240 px,
|
|
1710
|
+
le titre passant à la ligne pour tenir\ ;
|
|
1711
|
+
.Sy above
|
|
1712
|
+
la place dans un bandeau pleine largeur de 72 px de haut au-dessus du
|
|
1713
|
+
graphique, qui s'étend alors sur toute la largeur du canevas.
|
|
1279
1714
|
.It Sy timeline-position
|
|
1280
1715
|
.Sy top Pq par défaut | bottom | both .
|
|
1281
1716
|
Réservée à
|
|
@@ -1290,6 +1725,24 @@ Lorsque
|
|
|
1290
1725
|
.Sy true ,
|
|
1291
1726
|
trace de fines lignes de grille pointillées à chaque frontière de
|
|
1292
1727
|
graduation.
|
|
1728
|
+
.It Sy non-working
|
|
1729
|
+
.Sy hide Pq par défaut | show .
|
|
1730
|
+
Réservée à
|
|
1731
|
+
.Sy roadmap ;
|
|
1732
|
+
à placer sur
|
|
1733
|
+
.Sy default roadmap .
|
|
1734
|
+
Avec un calendrier qui comporte des jours non ouvrés
|
|
1735
|
+
.Pq Sy calendar:business ,
|
|
1736
|
+
.Sy hide
|
|
1737
|
+
les réduit à une couture et
|
|
1738
|
+
.Sy show
|
|
1739
|
+
trace chaque série à pleine largeur sous forme de bande ombrée que les
|
|
1740
|
+
barres traversent.
|
|
1741
|
+
L'option
|
|
1742
|
+
.Fl -non-working
|
|
1743
|
+
de
|
|
1744
|
+
.Xr nowline 1
|
|
1745
|
+
et son équivalent sur chaque autre surface la remplacent.
|
|
1293
1746
|
.El
|
|
1294
1747
|
.Pp
|
|
1295
1748
|
Les noms d'icône intégrés sont rendus à partir d'une bibliothèque
|
|
@@ -1341,8 +1794,8 @@ lettres, chiffres, tirets bas et tirets, commençant par une
|
|
|
1341
1794
|
lettre ou un tiret bas.
|
|
1342
1795
|
Ils doivent être uniques sur le résultat fusionné (le fichier et
|
|
1343
1796
|
toutes ses inclusions)\ ; éléments, blocs parallèles, groupes,
|
|
1344
|
-
ancres, personnes, équipes, jalons et notes de bas de
|
|
1345
|
-
partagent un seul espace de noms.
|
|
1797
|
+
ancres, vagues, personnes, équipes, jalons et notes de bas de
|
|
1798
|
+
page partagent un seul espace de noms.
|
|
1346
1799
|
.Pp
|
|
1347
1800
|
La forme idiomatique de Nowline utilise le kebab-case, mais
|
|
1348
1801
|
.Sy authRefactor ,
|
|
@@ -1372,7 +1825,7 @@ et
|
|
|
1372
1825
|
.Sy before:
|
|
1373
1826
|
acceptent chacune un seul identifiant ou une liste entre crochets.
|
|
1374
1827
|
Les références peuvent viser des éléments, jalons, ancres, blocs
|
|
1375
|
-
parallèles ou
|
|
1828
|
+
parallèles, groupes ou vagues.
|
|
1376
1829
|
.Bl -bullet -offset indent -compact
|
|
1377
1830
|
.It
|
|
1378
1831
|
.Sy after:id
|
|
@@ -1393,6 +1846,17 @@ référencée (ou avant la date de l'ancre référencée).
|
|
|
1393
1846
|
\(em se termine avant le début
|
|
1394
1847
|
.Em du plus tôt
|
|
1395
1848
|
des entités référencées.
|
|
1849
|
+
.It
|
|
1850
|
+
.Sy after:vague
|
|
1851
|
+
\(em démarre au plus tôt à la
|
|
1852
|
+
.Em fin
|
|
1853
|
+
de la vague.
|
|
1854
|
+
.Sy before:vague
|
|
1855
|
+
\(em doit se terminer avant le
|
|
1856
|
+
.Em début
|
|
1857
|
+
de la vague.
|
|
1858
|
+
.Sy on:vague
|
|
1859
|
+
\(em rattache une note de bas de page à la vague.
|
|
1396
1860
|
.El
|
|
1397
1861
|
.Pp
|
|
1398
1862
|
Les dépendances cycliques à travers le graphe complet (y compris
|
|
@@ -1439,7 +1903,9 @@ par fichier (sous réserve du mode
|
|
|
1439
1903
|
.Sy roadmap: ) .
|
|
1440
1904
|
.It
|
|
1441
1905
|
Tous les identifiants sont uniques sur le résultat fusionné.
|
|
1442
|
-
Le parent l'emporte en cas de collision, avec un avertissement
|
|
1906
|
+
Le parent l'emporte en cas de collision, avec un avertissement
|
|
1907
|
+
(sauf les vagues\ ; voir
|
|
1908
|
+
.Sx INCLUSIONS ) .
|
|
1443
1909
|
.It
|
|
1444
1910
|
Toute entité doit avoir au moins un identifiant ou un titre (ou
|
|
1445
1911
|
les deux).
|
|
@@ -1469,9 +1935,10 @@ première ligne fautive.
|
|
|
1469
1935
|
.It
|
|
1470
1936
|
Les déclarations
|
|
1471
1937
|
.Sy label ,
|
|
1472
|
-
.Sy size
|
|
1473
|
-
et
|
|
1938
|
+
.Sy size ,
|
|
1474
1939
|
.Sy status
|
|
1940
|
+
et
|
|
1941
|
+
.Sy wave
|
|
1475
1942
|
doivent apparaître dans la section roadmap.
|
|
1476
1943
|
Les placer avant
|
|
1477
1944
|
.Sy roadmap
|
|
@@ -1489,12 +1956,14 @@ doivent résoudre vers des identifiants déclarés dans la portée
|
|
|
1489
1956
|
fusionnée.
|
|
1490
1957
|
.It
|
|
1491
1958
|
Une référence
|
|
1492
|
-
.Sy size:
|
|
1493
|
-
ou
|
|
1959
|
+
.Sy size: ,
|
|
1494
1960
|
.Sy status:
|
|
1961
|
+
ou
|
|
1962
|
+
.Sy wave:
|
|
1495
1963
|
doit résoudre vers une déclaration apparaissant
|
|
1496
1964
|
.Em plus tôt dans le fichier
|
|
1497
|
-
(ou dans une inclusion antérieure
|
|
1965
|
+
(ou dans une inclusion antérieure\ ; les inclusions ne fournissent
|
|
1966
|
+
jamais de vagues).
|
|
1498
1967
|
Les références anticipées sont une erreur.
|
|
1499
1968
|
.It
|
|
1500
1969
|
Pas de dépendances cycliques dans les chaînes
|
|
@@ -1554,6 +2023,39 @@ fraction décimale positive, ou
|
|
|
1554
2023
|
Lorsque les deux seuils numériques sont définis,
|
|
1555
2024
|
.Sy warn-at \(<= over-at .
|
|
1556
2025
|
.It
|
|
2026
|
+
Valeurs de style, dans un bloc
|
|
2027
|
+
.Sy style
|
|
2028
|
+
ou sur une ligne
|
|
2029
|
+
.Sy default ,
|
|
2030
|
+
les clés
|
|
2031
|
+
.Sy bg: , fg:
|
|
2032
|
+
et
|
|
2033
|
+
.Sy text:
|
|
2034
|
+
prennent une couleur nommée, une valeur hexadécimale ou
|
|
2035
|
+
.Sy none
|
|
2036
|
+
.Pq Sy NL.E0801 ;
|
|
2037
|
+
une clé à ensemble de valeurs fixe, comme
|
|
2038
|
+
.Sy border: , shadow:
|
|
2039
|
+
ou
|
|
2040
|
+
.Sy font: ,
|
|
2041
|
+
prend l'une de ces valeurs
|
|
2042
|
+
.Pq Sy NL.E0802 .
|
|
2043
|
+
Une clé d'un bloc
|
|
2044
|
+
.Sy style
|
|
2045
|
+
qui n'est pas une propriété de style est
|
|
2046
|
+
.Sy NL.E0803 .
|
|
2047
|
+
.It
|
|
2048
|
+
Une propriété de style brute
|
|
2049
|
+
.Pq Sy bg: , Sy icon: , Sy capacity-icon: , No ...
|
|
2050
|
+
sur une entité de la section roadmap est
|
|
2051
|
+
.Sy NL.E0804 ;
|
|
2052
|
+
déclarez un
|
|
2053
|
+
.Sy style
|
|
2054
|
+
nommé dans
|
|
2055
|
+
.Sy config
|
|
2056
|
+
et référencez-le avec
|
|
2057
|
+
.Sy style:id .
|
|
2058
|
+
.It
|
|
1557
2059
|
La valeur de
|
|
1558
2060
|
.Sy capacity-icon:
|
|
1559
2061
|
doit être un identifiant intégré
|
|
@@ -1566,6 +2068,57 @@ en portée, ou un littéral Unicode entre guillemets doubles.
|
|
|
1566
2068
|
Même contrat pour
|
|
1567
2069
|
.Sy icon: .
|
|
1568
2070
|
.It
|
|
2071
|
+
La valeur de
|
|
2072
|
+
.Sy non-working:
|
|
2073
|
+
doit être
|
|
2074
|
+
.Sy hide
|
|
2075
|
+
ou
|
|
2076
|
+
.Sy show ,
|
|
2077
|
+
sur
|
|
2078
|
+
.Sy default roadmap
|
|
2079
|
+
et dans un bloc
|
|
2080
|
+
.Sy style .
|
|
2081
|
+
Toute autre valeur est
|
|
2082
|
+
.Sy NL.E0800
|
|
2083
|
+
(une erreur par valeur).
|
|
2084
|
+
.It
|
|
2085
|
+
Les clés de style propres à la roadmap
|
|
2086
|
+
.Sy header-height , header-position , timeline-position ,
|
|
2087
|
+
.Sy minor-grid
|
|
2088
|
+
et
|
|
2089
|
+
.Sy non-working
|
|
2090
|
+
ne s'appliquent que sur
|
|
2091
|
+
.Sy default roadmap
|
|
2092
|
+
(ou dans un bloc
|
|
2093
|
+
.Sy style
|
|
2094
|
+
référencé par la roadmap).
|
|
2095
|
+
Sur toute autre ligne
|
|
2096
|
+
.Sy default ,
|
|
2097
|
+
elles sont ignorées avec l'avertissement
|
|
2098
|
+
.Sy NL.W0703 .
|
|
2099
|
+
Les blocs
|
|
2100
|
+
.Sy style
|
|
2101
|
+
ne sont pas vérifiés.
|
|
2102
|
+
.It
|
|
2103
|
+
Lorsque le style de la roadmap définit
|
|
2104
|
+
.Sy header-height:none
|
|
2105
|
+
avec
|
|
2106
|
+
.Sy timeline-position:bottom
|
|
2107
|
+
ou
|
|
2108
|
+
.Sy both ,
|
|
2109
|
+
aucun bandeau de dates n'est dessiné, ce qui déclenche l'avertissement
|
|
2110
|
+
.Sy NL.W0704 .
|
|
2111
|
+
Le style se résout à partir de
|
|
2112
|
+
.Sy default roadmap ,
|
|
2113
|
+
puis du style de chaque label de la ligne
|
|
2114
|
+
.Sy roadmap
|
|
2115
|
+
(le premier label l'emportant), puis de son propre
|
|
2116
|
+
.Sy style: ,
|
|
2117
|
+
la dernière clé l'emportant.
|
|
2118
|
+
Seuls les styles et labels déclarés dans le même fichier sont lus\ ; un
|
|
2119
|
+
.Sy style:
|
|
2120
|
+
ou un label venant d'un include laisse la vérification silencieuse.
|
|
2121
|
+
.It
|
|
1569
2122
|
.Sy remaining:
|
|
1570
2123
|
est soit un pourcentage
|
|
1571
2124
|
.Pq Sy 0% \(en Sy 100%
|
|
@@ -1594,6 +2147,65 @@ Lorsque
|
|
|
1594
2147
|
les quatre entrées
|
|
1595
2148
|
.Sy days-per-*
|
|
1596
2149
|
sont obligatoires et doivent être des entiers positifs.
|
|
2150
|
+
.It
|
|
2151
|
+
Une déclaration
|
|
2152
|
+
.Sy non-working
|
|
2153
|
+
ou
|
|
2154
|
+
.Sy working
|
|
2155
|
+
a l'une de trois formes\ : un
|
|
2156
|
+
.Sy date:
|
|
2157
|
+
seul\ ;
|
|
2158
|
+
.Sy start:
|
|
2159
|
+
et
|
|
2160
|
+
.Sy end:
|
|
2161
|
+
sans
|
|
2162
|
+
.Sy every: \ ;
|
|
2163
|
+
ou
|
|
2164
|
+
.Sy every:
|
|
2165
|
+
avec des bornes facultatives
|
|
2166
|
+
.Pq Sy NL.E0900 .
|
|
2167
|
+
Ses seules clés sont
|
|
2168
|
+
.Sy date: , start: , end:
|
|
2169
|
+
et
|
|
2170
|
+
.Sy every:
|
|
2171
|
+
.Pq Sy NL.E0901 ,
|
|
2172
|
+
et
|
|
2173
|
+
.Sy start:
|
|
2174
|
+
et
|
|
2175
|
+
.Sy end:
|
|
2176
|
+
prennent chacun une seule date
|
|
2177
|
+
.Pq Sy NL.E0902 .
|
|
2178
|
+
.It
|
|
2179
|
+
Chaque date d'une déclaration de calendrier est un jour réel du
|
|
2180
|
+
calendrier
|
|
2181
|
+
.Pq Sy NL.E0405 ,
|
|
2182
|
+
et
|
|
2183
|
+
.Sy end:
|
|
2184
|
+
ne précède pas
|
|
2185
|
+
.Sy start:
|
|
2186
|
+
.Pq Sy NL.E0903 .
|
|
2187
|
+
.It
|
|
2188
|
+
Les valeurs de
|
|
2189
|
+
.Sy every:
|
|
2190
|
+
sont des noms de jours de semaine
|
|
2191
|
+
.Pq Sy NL.E0904
|
|
2192
|
+
et chacune apparaît au plus une fois
|
|
2193
|
+
.Pq Sy NL.E0905 .
|
|
2194
|
+
.It
|
|
2195
|
+
La semaine sans fin garde au moins un jour ouvré
|
|
2196
|
+
.Pq Sy NL.E0906 .
|
|
2197
|
+
.Sy days-per-week
|
|
2198
|
+
concorde avec les jours de semaine qu'elle laisse ouvrés\ ; un écart
|
|
2199
|
+
donne l'avertissement
|
|
2200
|
+
.Sy NL.W0705 .
|
|
2201
|
+
.It
|
|
2202
|
+
Un identifiant de déclaration est unique pour son mot-clé dans un
|
|
2203
|
+
fichier
|
|
2204
|
+
.Pq Sy NL.E0907 .
|
|
2205
|
+
.Sy non-working
|
|
2206
|
+
et
|
|
2207
|
+
.Sy working
|
|
2208
|
+
ne partagent pas d'espace de noms.
|
|
1597
2209
|
.El
|
|
1598
2210
|
.Ss Propriété roadmap start
|
|
1599
2211
|
.Bl -bullet -offset indent -compact
|
|
@@ -1691,7 +2303,113 @@ identiques.
|
|
|
1691
2303
|
Une discordance est une erreur signalée sur la ligne
|
|
1692
2304
|
.Sy include
|
|
1693
2305
|
du parent.
|
|
2306
|
+
.It
|
|
2307
|
+
Pour toute inclusion dont le mode
|
|
2308
|
+
.Sy roadmap:
|
|
2309
|
+
n'est pas
|
|
2310
|
+
.Sy ignore ,
|
|
2311
|
+
un enfant participant (qui déclare une roadmap, des couloirs ou des
|
|
2312
|
+
vagues) doit déclarer les mêmes vagues, dans le même ordre, avec les
|
|
2313
|
+
mêmes bornes de départ résolues, que le parent
|
|
2314
|
+
.Pq Sy NL.E0202 .
|
|
2315
|
+
Un titre ou une autre présentation différents donnent
|
|
2316
|
+
l'avertissement
|
|
2317
|
+
.Sy NL.W0701 .
|
|
2318
|
+
.It
|
|
2319
|
+
Avec
|
|
2320
|
+
.Sy config:merge ,
|
|
2321
|
+
une déclaration
|
|
2322
|
+
.Sy non-working
|
|
2323
|
+
ou
|
|
2324
|
+
.Sy working
|
|
2325
|
+
n'entre en collision qu'avec une déclaration du parent portant le même
|
|
2326
|
+
mot-clé et le même nom, et le parent l'emporte avec un avertissement\ ;
|
|
2327
|
+
les déclarations sans nom n'entrent jamais en collision.
|
|
2328
|
+
.El
|
|
2329
|
+
.Ss Vagues
|
|
2330
|
+
Ces règles s'appliquent aux fichiers qui utilisent
|
|
2331
|
+
.Sy wave
|
|
2332
|
+
ou
|
|
2333
|
+
.Sy wave: .
|
|
2334
|
+
Chacune a un code de diagnostic stable.
|
|
2335
|
+
.Bl -tag -width "NL.E1100" -offset indent -compact
|
|
2336
|
+
.It Sy NL.E1100
|
|
2337
|
+
Une déclaration
|
|
2338
|
+
.Sy wave
|
|
2339
|
+
sans identifiant.
|
|
2340
|
+
.It Sy NL.E1101
|
|
2341
|
+
Une valeur
|
|
2342
|
+
.Sy wave:
|
|
2343
|
+
qui n'est pas exactement une vague déclarée plus tôt\ : liste de
|
|
2344
|
+
deux ou plus, identifiant non déclaré, référence anticipée ou
|
|
2345
|
+
identifiant d'un autre type.
|
|
2346
|
+
.It Sy NL.E1102
|
|
2347
|
+
Le
|
|
2348
|
+
.Sy wave:
|
|
2349
|
+
d'un descendant diffère de celui de son conteneur.
|
|
2350
|
+
.It Sy NL.E1103
|
|
2351
|
+
L'ordre des vagues ne peut pas être réalisé\ : du travail devrait
|
|
2352
|
+
démarrer à la fin de sa propre vague ou après, à cause de l'ordre du
|
|
2353
|
+
couloir, d'une jointure
|
|
2354
|
+
.Sy parallel
|
|
2355
|
+
ou d'un
|
|
2356
|
+
.Sy after:
|
|
2357
|
+
qui désigne la propre vague de l'élément, une vague
|
|
2358
|
+
ultérieure ou du travail d'une vague ultérieure
|
|
2359
|
+
(directement ou par une chaîne d'autres travaux).
|
|
2360
|
+
.It Sy NL.E1104
|
|
2361
|
+
.Sy wave:
|
|
2362
|
+
sur un couloir, un jalon ou toute entité autre qu'item, group ou
|
|
2363
|
+
parallel.
|
|
2364
|
+
.It Sy NL.E1105
|
|
2365
|
+
Une clé non autorisée sur une vague
|
|
2366
|
+
.Po
|
|
2367
|
+
.Sy before: , date: , start: , length: , duration: , size: ,
|
|
2368
|
+
.Sy capacity: , remaining: , wave:
|
|
2369
|
+
.Pc .
|
|
2370
|
+
.It Sy NL.E1106
|
|
2371
|
+
Le
|
|
2372
|
+
.Sy after:
|
|
2373
|
+
d'une vague désigne autre chose qu'une ancre, un jalon daté ou une
|
|
2374
|
+
date ISO unique.
|
|
2375
|
+
.It Sy NL.W1100
|
|
2376
|
+
Un
|
|
2377
|
+
.Sy before:
|
|
2378
|
+
que la structure des vagues rend impossible à respecter.
|
|
2379
|
+
.It Sy NL.W1101
|
|
2380
|
+
Un
|
|
2381
|
+
.Sy after:
|
|
2382
|
+
ou
|
|
2383
|
+
.Sy before:
|
|
2384
|
+
que la mise en page ignore dans une roadmap avec vagues\ : référence
|
|
2385
|
+
anticipée, référence au group ou parallel englobant, ou référence à
|
|
2386
|
+
un jalon flottant.
|
|
2387
|
+
.It Sy NL.W0702
|
|
2388
|
+
.Sy wave:
|
|
2389
|
+
(y compris sur une ligne
|
|
2390
|
+
.Sy default )
|
|
2391
|
+
dans une roadmap sans vagues\ ; la clé est ignorée.
|
|
1694
2392
|
.El
|
|
2393
|
+
.Pp
|
|
2394
|
+
L'accord des inclusions relève de
|
|
2395
|
+
.Sy NL.E0202
|
|
2396
|
+
et
|
|
2397
|
+
.Sy NL.W0701
|
|
2398
|
+
(voir
|
|
2399
|
+
.Sx INCLUSIONS ) .
|
|
2400
|
+
La mise en page ajoute quatre constats\ :
|
|
2401
|
+
.Sy NL.W1002
|
|
2402
|
+
(le solveur de barrières ne s'est pas stabilisé),
|
|
2403
|
+
.Sy NL.I1006
|
|
2404
|
+
(vagues sans éléments),
|
|
2405
|
+
.Sy NL.I1007
|
|
2406
|
+
(une vague dépasse un jalon daté dont le
|
|
2407
|
+
.Sy after:
|
|
2408
|
+
la désigne) et
|
|
2409
|
+
.Sy NL.I1008
|
|
2410
|
+
(un élément dont la date
|
|
2411
|
+
.Sy after:
|
|
2412
|
+
tombe un jour non ouvré démarre le jour ouvré suivant).
|
|
1695
2413
|
.Ss parallel et group
|
|
1696
2414
|
.Bl -bullet -offset indent -compact
|
|
1697
2415
|
.It
|
|
@@ -1735,6 +2453,13 @@ Une déclaration
|
|
|
1735
2453
|
qui définit une propriété interdite
|
|
1736
2454
|
.Pq voir Sx SECTION CONFIG
|
|
1737
2455
|
est une erreur.
|
|
2456
|
+
.It
|
|
2457
|
+
.Sy wave
|
|
2458
|
+
est interdite sur toute ligne
|
|
2459
|
+
.Sy default <entité>\ :
|
|
2460
|
+
erreur lorsque la roadmap a des vagues, avertissement
|
|
2461
|
+
.Sy NL.W0702
|
|
2462
|
+
lorsqu'elle n'en a pas.
|
|
1738
2463
|
.El
|
|
1739
2464
|
.Ss Symboles
|
|
1740
2465
|
.Bl -bullet -offset indent -compact
|
|
@@ -1743,23 +2468,40 @@ Toute déclaration
|
|
|
1743
2468
|
.Sy symbol
|
|
1744
2469
|
doit spécifier une valeur
|
|
1745
2470
|
.Sy unicode:"<chaîne>"
|
|
1746
|
-
|
|
2471
|
+
.Pq Sy NL.E0806 ,
|
|
2472
|
+
non vide
|
|
2473
|
+
.Pq Sy NL.E0807 .
|
|
1747
2474
|
.It
|
|
1748
2475
|
.Sy ascii: ,
|
|
1749
2476
|
si présente, doit être une chaîne entre guillemets de longueur
|
|
1750
|
-
\(<= 3 caractères ASCII
|
|
2477
|
+
\(<= 3 caractères ASCII
|
|
2478
|
+
.Pq Sy NL.E0808 .
|
|
2479
|
+
.It
|
|
2480
|
+
Un
|
|
2481
|
+
.Sy symbol
|
|
2482
|
+
n'accepte que
|
|
2483
|
+
.Sy unicode: , ascii: , link:
|
|
2484
|
+
et
|
|
2485
|
+
.Sy description: ;
|
|
2486
|
+
toute autre propriété est
|
|
2487
|
+
.Sy NL.E0809 .
|
|
1751
2488
|
.It
|
|
1752
2489
|
Un identifiant de
|
|
1753
2490
|
.Sy symbol
|
|
1754
|
-
ne doit pas masquer un nom d'icône
|
|
2491
|
+
ne doit pas masquer un nom d'icône intégré
|
|
2492
|
+
.Pq Sy NL.E0805
|
|
2493
|
+
et doit être unique dans le fichier
|
|
2494
|
+
.Pq Sy NL.E0810 .
|
|
1755
2495
|
.It
|
|
1756
2496
|
Une référence
|
|
1757
2497
|
.Sy symbol
|
|
1758
2498
|
.Pq Sy icon:NOM ou Sy capacity-icon:NOM
|
|
1759
2499
|
doit résoudre vers un nom intégré ou vers une déclaration
|
|
1760
2500
|
.Sy symbol
|
|
1761
|
-
antérieure
|
|
1762
|
-
|
|
2501
|
+
antérieure
|
|
2502
|
+
.Pq Sy NL.E0811 .
|
|
2503
|
+
Les références anticipées sont une erreur
|
|
2504
|
+
.Pq Sy NL.E0812 .
|
|
1763
2505
|
.El
|
|
1764
2506
|
.Sh EXEMPLES
|
|
1765
2507
|
Un fichier
|
|
@@ -1846,6 +2588,38 @@ footnote "Vendor dependency" on:audit-log
|
|
|
1846
2588
|
footnote capacity-risk "Team capacity risk" on:[mobile, platform]
|
|
1847
2589
|
description "Mobile team is down to 2 engineers through Q2."
|
|
1848
2590
|
.Ed
|
|
2591
|
+
.Pp
|
|
2592
|
+
Une roadmap compacte avec vagues\ :
|
|
2593
|
+
.Bd -literal -offset indent
|
|
2594
|
+
nowline v1
|
|
2595
|
+
|
|
2596
|
+
roadmap checkout-relaunch "Checkout relaunch" \e
|
|
2597
|
+
start:2026-01-05 scale:1w calendar:full
|
|
2598
|
+
|
|
2599
|
+
wave foundations "Foundations"
|
|
2600
|
+
wave build "Build"
|
|
2601
|
+
wave launch "Launch"
|
|
2602
|
+
|
|
2603
|
+
swimlane platform "Platform"
|
|
2604
|
+
item auth "Auth service split" duration:4w wave:foundations
|
|
2605
|
+
item payments-api "Payments API v2" duration:8w wave:build
|
|
2606
|
+
item rate-limits "Rate limits" duration:2w wave:launch
|
|
2607
|
+
|
|
2608
|
+
swimlane web "Web"
|
|
2609
|
+
item ux-research "Checkout UX research" duration:2w \e
|
|
2610
|
+
wave:foundations
|
|
2611
|
+
group wave:build
|
|
2612
|
+
item checkout-v2 "Checkout v2" duration:4w
|
|
2613
|
+
item a11y "Accessibility pass" duration:2w
|
|
2614
|
+
item launch-page "Launch page" duration:2w wave:launch
|
|
2615
|
+
|
|
2616
|
+
// Sans wave : travail de fond, jamais retenu par une barrière.
|
|
2617
|
+
swimlane ops "Ops"
|
|
2618
|
+
item on-call "On-call and KTLO" duration:18w
|
|
2619
|
+
|
|
2620
|
+
milestone beta "Beta" after:build
|
|
2621
|
+
milestone ga "GA" after:launch
|
|
2622
|
+
.Ed
|
|
1849
2623
|
.Sh VOIR AUSSI
|
|
1850
2624
|
.Xr nowline 1
|
|
1851
2625
|
.Pq Sy man 1 nowline
|