@groupby/ai-dev 0.5.10 → 0.5.11

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.
Files changed (61) hide show
  1. package/package.json +1 -1
  2. package/teams/fhr-neowise/commands/address-pr.md +120 -0
  3. package/teams/fhr-neowise/commands/ready-pr.md +70 -0
  4. package/teams/fhr-neowise/commands/review-pr.md +111 -0
  5. package/teams/fhr-neowise/commands/tdd-implementation.md +86 -0
  6. package/teams/fhr-neowise/commands/write-plan.md +23 -0
  7. package/teams/fhr-neowise/commands/write-pr.md +21 -0
  8. package/teams/fhr-neowise/commands/write-spec.md +25 -0
  9. package/teams/fhr-neowise/skills/agent-routing/SKILL.md +72 -0
  10. package/teams/fhr-neowise/skills/code-review/SKILL.md +83 -0
  11. package/teams/fhr-neowise/skills/code-review/review-template.md +90 -0
  12. package/teams/fhr-neowise/skills/mermaid-diagram/SKILL.md +94 -0
  13. package/teams/fhr-neowise/skills/mermaid-diagram/references/BEST_PRACTICES.md +96 -0
  14. package/teams/fhr-neowise/skills/mermaid-diagram/references/architecture.md +434 -0
  15. package/teams/fhr-neowise/skills/mermaid-diagram/references/block.md +753 -0
  16. package/teams/fhr-neowise/skills/mermaid-diagram/references/c4.md +619 -0
  17. package/teams/fhr-neowise/skills/mermaid-diagram/references/classDiagram.md +1186 -0
  18. package/teams/fhr-neowise/skills/mermaid-diagram/references/config-configuration.md +72 -0
  19. package/teams/fhr-neowise/skills/mermaid-diagram/references/config-directives.md +342 -0
  20. package/teams/fhr-neowise/skills/mermaid-diagram/references/config-layouts.md +40 -0
  21. package/teams/fhr-neowise/skills/mermaid-diagram/references/config-math.md +96 -0
  22. package/teams/fhr-neowise/skills/mermaid-diagram/references/config-theming.md +246 -0
  23. package/teams/fhr-neowise/skills/mermaid-diagram/references/config-tidy-tree.md +89 -0
  24. package/teams/fhr-neowise/skills/mermaid-diagram/references/cynefin.md +279 -0
  25. package/teams/fhr-neowise/skills/mermaid-diagram/references/entityRelationshipDiagram.md +670 -0
  26. package/teams/fhr-neowise/skills/mermaid-diagram/references/eventmodeling.md +475 -0
  27. package/teams/fhr-neowise/skills/mermaid-diagram/references/examples.md +301 -0
  28. package/teams/fhr-neowise/skills/mermaid-diagram/references/flowchart.md +2116 -0
  29. package/teams/fhr-neowise/skills/mermaid-diagram/references/gantt.md +725 -0
  30. package/teams/fhr-neowise/skills/mermaid-diagram/references/gitgraph.md +2138 -0
  31. package/teams/fhr-neowise/skills/mermaid-diagram/references/ishikawa.md +66 -0
  32. package/teams/fhr-neowise/skills/mermaid-diagram/references/kanban.md +161 -0
  33. package/teams/fhr-neowise/skills/mermaid-diagram/references/mindmap.md +335 -0
  34. package/teams/fhr-neowise/skills/mermaid-diagram/references/packet.md +153 -0
  35. package/teams/fhr-neowise/skills/mermaid-diagram/references/pie.md +93 -0
  36. package/teams/fhr-neowise/skills/mermaid-diagram/references/quadrantChart.md +267 -0
  37. package/teams/fhr-neowise/skills/mermaid-diagram/references/radar.md +269 -0
  38. package/teams/fhr-neowise/skills/mermaid-diagram/references/railroad.md +337 -0
  39. package/teams/fhr-neowise/skills/mermaid-diagram/references/requirementDiagram.md +495 -0
  40. package/teams/fhr-neowise/skills/mermaid-diagram/references/sankey.md +415 -0
  41. package/teams/fhr-neowise/skills/mermaid-diagram/references/sequenceDiagram.md +1195 -0
  42. package/teams/fhr-neowise/skills/mermaid-diagram/references/stateDiagram.md +670 -0
  43. package/teams/fhr-neowise/skills/mermaid-diagram/references/timeline.md +571 -0
  44. package/teams/fhr-neowise/skills/mermaid-diagram/references/treeView.md +321 -0
  45. package/teams/fhr-neowise/skills/mermaid-diagram/references/treemap.md +353 -0
  46. package/teams/fhr-neowise/skills/mermaid-diagram/references/userJourney.md +42 -0
  47. package/teams/fhr-neowise/skills/mermaid-diagram/references/venn.md +134 -0
  48. package/teams/fhr-neowise/skills/mermaid-diagram/references/wardley.md +732 -0
  49. package/teams/fhr-neowise/skills/mermaid-diagram/references/xyChart.md +312 -0
  50. package/teams/fhr-neowise/skills/mermaid-diagram/references/zenuml.md +474 -0
  51. package/teams/fhr-neowise/skills/mermaid-diagram/scripts/sync_docs.py +138 -0
  52. package/teams/fhr-neowise/skills/pull-request-authoring/COMPLEX.template.md +52 -0
  53. package/teams/fhr-neowise/skills/pull-request-authoring/NON-CODE.template.md +15 -0
  54. package/teams/fhr-neowise/skills/pull-request-authoring/SIMPLE.template.md +20 -0
  55. package/teams/fhr-neowise/skills/pull-request-authoring/SKILL.md +102 -0
  56. package/teams/fhr-neowise/skills/spec-investigation/SKILL.md +139 -0
  57. package/teams/fhr-neowise/skills/spec-investigation/TEMPLATE.spec.md +74 -0
  58. package/teams/fhr-neowise/skills/tdd-workflow/SKILL.md +137 -0
  59. package/teams/fhr-neowise/skills/write-plan/SKILL.md +285 -0
  60. package/teams/fhr-neowise/skills/write-plan/assets/TEMPLATE.checklist.json +79 -0
  61. package/teams/fhr-neowise/skills/write-plan/assets/TEMPLATE.plan.md +158 -0
@@ -0,0 +1,337 @@
1
+ > **Warning**
2
+ >
3
+ > ## THIS IS AN AUTOGENERATED FILE. DO NOT EDIT.
4
+ >
5
+ > ## Please edit the corresponding file in [/packages/mermaid/src/docs/syntax/railroad.md](../../packages/mermaid/src/docs/syntax/railroad.md).
6
+
7
+ # Railroad Diagrams (v\<MERMAID_RELEASE_VERSION>+)
8
+
9
+ > Railroad diagrams (also known as syntax diagrams or grammar diagrams) are a visual representation of context-free grammars using EBNF (Extended Backus-Naur Form) notation. They provide a graphical way to understand and document language syntax, making complex grammar rules easier to comprehend.
10
+
11
+ Railroad diagrams were first popularized by Niklaus Wirth in his "Pascal User Manual" (1974) and remain widely used today, notably on [JSON.org](https://www.json.org/) for documenting the JSON syntax.
12
+
13
+ Mermaid can render Railroad diagram visualizations from EBNF notation.
14
+
15
+ ```mermaid-example
16
+ railroad-diagram
17
+ title "Digit Definition"
18
+
19
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
20
+ ```
21
+
22
+ ```mermaid
23
+ railroad-diagram
24
+ title "Digit Definition"
25
+
26
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
27
+ ```
28
+
29
+ ## Syntax
30
+
31
+ Railroad diagrams use EBNF (Extended Backus-Naur Form) notation to define grammar rules. Mermaid supports both W3C and ISO 14977 EBNF notation styles.
32
+
33
+ ### Basic Structure
34
+
35
+ - Start with `railroad-diagram` keyword to begin the diagram
36
+ - Optionally add a `title` followed by a quoted string
37
+ - Define grammar rules using the format: `rule_name = definition ;`
38
+ - Each rule must end with a semicolon (`;`)
39
+
40
+ ### EBNF Notation
41
+
42
+ #### Terminals and Non-terminals
43
+
44
+ Terminals are literal strings enclosed in quotes:
45
+
46
+ - `"text"` - double quotes
47
+ - `'text'` - single quotes
48
+
49
+ Non-terminals are identifiers that reference other rules:
50
+
51
+ - `identifier` - references another rule
52
+
53
+ ```mermaid-example
54
+ railroad-diagram
55
+ letter = "a" | "b" | "c" ;
56
+ identifier = letter ;
57
+ ```
58
+
59
+ ```mermaid
60
+ railroad-diagram
61
+ letter = "a" | "b" | "c" ;
62
+ identifier = letter ;
63
+ ```
64
+
65
+ #### Sequence (Concatenation)
66
+
67
+ Elements appearing one after another define a sequence:
68
+
69
+ - W3C notation: `A B C`
70
+ - ISO 14977 notation: `A , B , C`
71
+
72
+ ```mermaid-example
73
+ railroad-diagram
74
+ greeting = "Hello" " " "World" ;
75
+ ```
76
+
77
+ ```mermaid
78
+ railroad-diagram
79
+ greeting = "Hello" " " "World" ;
80
+ ```
81
+
82
+ #### Choice (Alternation)
83
+
84
+ The pipe symbol (`|`) indicates alternatives:
85
+
86
+ ```mermaid-example
87
+ railroad-diagram
88
+ sign = "+" | "-" ;
89
+ ```
90
+
91
+ ```mermaid
92
+ railroad-diagram
93
+ sign = "+" | "-" ;
94
+ ```
95
+
96
+ #### Optional Elements
97
+
98
+ Optional elements can appear zero or one time:
99
+
100
+ - W3C notation: `A?`
101
+ - ISO 14977 notation: `[ A ]`
102
+
103
+ ```mermaid-example
104
+ railroad-diagram
105
+ title "Optional Sign"
106
+
107
+ sign = "+" | "-" ;
108
+ number = sign? digit+ ;
109
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
110
+ ```
111
+
112
+ ```mermaid
113
+ railroad-diagram
114
+ title "Optional Sign"
115
+
116
+ sign = "+" | "-" ;
117
+ number = sign? digit+ ;
118
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
119
+ ```
120
+
121
+ #### Repetition
122
+
123
+ Zero or more repetitions:
124
+
125
+ - W3C notation: `A*`
126
+ - ISO 14977 notation: `{ A }`
127
+
128
+ One or more repetitions:
129
+
130
+ - W3C notation: `A+`
131
+
132
+ ```mermaid-example
133
+ railroad-diagram
134
+ title "Identifier with Repetition"
135
+
136
+ identifier = letter ( letter | digit | "_" )* ;
137
+ letter = "a" | "b" | "c" | "d" | "e" ;
138
+ digit = "0" | "1" | "2" ;
139
+ ```
140
+
141
+ ```mermaid
142
+ railroad-diagram
143
+ title "Identifier with Repetition"
144
+
145
+ identifier = letter ( letter | digit | "_" )* ;
146
+ letter = "a" | "b" | "c" | "d" | "e" ;
147
+ digit = "0" | "1" | "2" ;
148
+ ```
149
+
150
+ #### Grouping
151
+
152
+ Parentheses group elements together:
153
+
154
+ - `( A B )`
155
+
156
+ ```mermaid-example
157
+ railroad-diagram
158
+ expression = term ( ( "+" | "-" ) term )* ;
159
+ term = "number" ;
160
+ ```
161
+
162
+ ```mermaid
163
+ railroad-diagram
164
+ expression = term ( ( "+" | "-" ) term )* ;
165
+ term = "number" ;
166
+ ```
167
+
168
+ #### Comments
169
+
170
+ Comments can be added using either style:
171
+
172
+ - W3C notation: `/* comment */`
173
+ - ISO 14977 notation: `(* comment *)`
174
+
175
+ Comments are ignored during parsing and do not appear in the rendered diagram.
176
+
177
+ #### Special Sequences
178
+
179
+ Special sequences (ISO 14977 only) describe elements that cannot be easily expressed in EBNF:
180
+
181
+ - `? description ?`
182
+
183
+ #### Exception
184
+
185
+ The minus operator excludes certain alternatives:
186
+
187
+ - `A - B` (match A but not B)
188
+
189
+ ## Examples
190
+
191
+ ### Simple Number Grammar
192
+
193
+ ```mermaid-example
194
+ railroad-diagram
195
+ title "Number Grammar"
196
+
197
+ sign = "+" | "-" ;
198
+ number = sign? digit+ ;
199
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
200
+ ```
201
+
202
+ ```mermaid
203
+ railroad-diagram
204
+ title "Number Grammar"
205
+
206
+ sign = "+" | "-" ;
207
+ number = sign? digit+ ;
208
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
209
+ ```
210
+
211
+ ### Expression Grammar
212
+
213
+ ```mermaid-example
214
+ railroad-diagram
215
+ title "Arithmetic Expression Grammar"
216
+
217
+ expression = term ( ( "+" | "-" ) term )* ;
218
+ term = factor ( ( "*" | "/" ) factor )* ;
219
+ factor = number | "(" expression ")" ;
220
+ number = digit+ ;
221
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
222
+ ```
223
+
224
+ ```mermaid
225
+ railroad-diagram
226
+ title "Arithmetic Expression Grammar"
227
+
228
+ expression = term ( ( "+" | "-" ) term )* ;
229
+ term = factor ( ( "*" | "/" ) factor )* ;
230
+ factor = number | "(" expression ")" ;
231
+ number = digit+ ;
232
+ digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
233
+ ```
234
+
235
+ ### JSON Grammar (Simplified)
236
+
237
+ ```mermaid-example
238
+ railroad-diagram
239
+ title "JSON Grammar"
240
+
241
+ json = element ;
242
+ element = object | array | string | number | "true" | "false" | "null" ;
243
+ object = "{" [ member ( "," member )* ] "}" ;
244
+ array = "[" [ element ( "," element )* ] "]" ;
245
+ member = string ":" element ;
246
+ ```
247
+
248
+ ```mermaid
249
+ railroad-diagram
250
+ title "JSON Grammar"
251
+
252
+ json = element ;
253
+ element = object | array | string | number | "true" | "false" | "null" ;
254
+ object = "{" [ member ( "," member )* ] "}" ;
255
+ array = "[" [ element ( "," element )* ] "]" ;
256
+ member = string ":" element ;
257
+ ```
258
+
259
+ ### URL Grammar
260
+
261
+ ```mermaid-example
262
+ railroad-diagram
263
+ title "URL Grammar"
264
+
265
+ url = protocol "://" domain path? ;
266
+ protocol = "http" | "https" | "ftp" ;
267
+ domain = label ( "." label )* ;
268
+ label = letter ( letter | digit | "-" )* ;
269
+ path = "/" segment ( "/" segment )* ;
270
+ letter = "a" | "b" | "c" ;
271
+ digit = "0" | "1" | "2" ;
272
+ segment = letter+ ;
273
+ ```
274
+
275
+ ```mermaid
276
+ railroad-diagram
277
+ title "URL Grammar"
278
+
279
+ url = protocol "://" domain path? ;
280
+ protocol = "http" | "https" | "ftp" ;
281
+ domain = label ( "." label )* ;
282
+ label = letter ( letter | digit | "-" )* ;
283
+ path = "/" segment ( "/" segment )* ;
284
+ letter = "a" | "b" | "c" ;
285
+ digit = "0" | "1" | "2" ;
286
+ segment = letter+ ;
287
+ ```
288
+
289
+ ## Visual Elements
290
+
291
+ Railroad diagrams use distinct visual elements to represent different grammar constructs:
292
+
293
+ - Terminals: Rounded rectangles that inherit the active Mermaid theme
294
+ - Non-terminals: Regular rectangles that inherit the active Mermaid theme
295
+ - Lines and Arrows: Theme-aware paths connecting elements
296
+ - Start/End Markers: Small circles at the beginning and end of rules
297
+ - Branches: Curved paths for choices
298
+ - Loops: Backward paths for repetition
299
+
300
+ ## Theme Integration
301
+
302
+ Railroad diagrams inherit colors and typography from the active Mermaid theme by default. You can still override individual railroad styles through the `railroad` config block when you need diagram-specific adjustments.
303
+
304
+ ## Limitations
305
+
306
+ - The hand-drawn look (`look: handDrawn`) is not currently supported for railroad diagrams.
307
+
308
+ ## Notation Reference
309
+
310
+ | Feature | W3C Notation | ISO 14977 Notation | Description |
311
+ | --------------- | -------------------- | -------------------- | ---------------- |
312
+ | Terminal | `"text"` or `'text'` | `"text"` or `'text'` | Literal string |
313
+ | Non-terminal | `identifier` | `identifier` | Rule reference |
314
+ | Sequence | `A B` | `A , B` | Concatenation |
315
+ | Choice | `A \| B` | `A \| B` | Alternative |
316
+ | Optional | `A?` | `[ A ]` | Zero or one |
317
+ | Repetition (0+) | `A*` | `{ A }` | Zero or more |
318
+ | Repetition (1+) | `A+` | - | One or more |
319
+ | Grouping | `( A B )` | `( A B )` | Group elements |
320
+ | Comment | `/* text */` | `(* text *)` | Comment |
321
+ | Special | - | `? text ?` | Special sequence |
322
+ | Exception | `A - B` | `A - B` | Exclusion |
323
+
324
+ ## Best Practices
325
+
326
+ 1. Keep rules simple: Break complex rules into smaller, reusable components
327
+ 2. Use meaningful names: Choose descriptive names for non-terminals
328
+ 3. Add titles: Use the `title` keyword to provide context for the grammar
329
+ 4. Group related rules: Define related grammar rules together
330
+ 5. Use consistent notation: Stick to either W3C or ISO 14977 notation style throughout your diagram
331
+
332
+ ## References
333
+
334
+ - [ISO/IEC 14977:1996 - EBNF Standard](https://www.cl.cam.ac.uk/~mgk25/iso-14977.pdf)
335
+ - [W3C EBNF Notation](https://www.w3.org/TR/xml/#sec-notation)
336
+ - [Wikipedia: Extended Backus-Naur Form](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form)
337
+ - [Wikipedia: Syntax Diagram](https://en.wikipedia.org/wiki/Syntax_diagram)