@intentius/chant-lexicon-github 0.83.0 → 0.85.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.
@@ -0,0 +1,3 @@
1
+ import type { CompositeEntry } from "@intentius/chant/lexicon";
2
+ export declare const compositeCatalog: CompositeEntry[];
3
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/composites/catalog.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA01B5C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "cbddb531550f86f1846e93c20a831f94d7098379699b387607d6a28de1878a9f",
4
+ "manifest.json": "d85f4bd718ced5361cb25cc9a12422e31115610462a1a35d4868b8994c995ca9",
5
5
  "meta.json": "c50e0ef3845c370c3ad2210b8bba455980417c0f818aa6ed46e06d4fb8b1b9f9",
6
6
  "types/index.d.ts": "bdd54a4145a39a9dd4f7bbc8c500191acb6bc9057a87da0040475afac84db397",
7
7
  "rules/deprecated-action-version.ts": "d41e6e532ab7f623af1bee4ac5279fcb2baada7defa1c5d022a5bc71983e8797",
@@ -77,5 +77,5 @@
77
77
  "skills/chant-github-patterns.md": "bb3abef289a8fdfcf07d6bb2d7289dcb2f38bc0cb0321ea320b78b45a6f548c0",
78
78
  "skills/chant-github-security.md": "aab111cb0871cad30281ce48d7da23663689619351029219e2be019a1a61e394"
79
79
  },
80
- "composite": "45f4597356b3a2955ff09b5f0d1a083bac038094e04e4c09ab24b47d6e899d51"
80
+ "composite": "8b3eb694588cd8c236e9f5857c99d0718347b78b08b79bc123d25ebc9721d266"
81
81
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github",
3
- "version": "0.83.0",
3
+ "version": "0.85.0",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "GitHub",
6
6
  "intrinsics": [
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,0BAA0B,CAAC;AA6B7F,eAAO,MAAM,YAAY,EAAE,aA0U1B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,0BAA0B,CAAC;AA6B7F,eAAO,MAAM,YAAY,EAAE,aA8U1B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-github",
3
- "version": "0.83.0",
3
+ "version": "0.85.0",
4
4
  "description": "GitHub Actions lexicon for chant — declarative IaC in TypeScript",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://intentius.io/chant",
@@ -61,7 +61,7 @@
61
61
  "typescript": "^5.9.3"
62
62
  },
63
63
  "peerDependencies": {
64
- "@intentius/chant": "^0.83.0",
64
+ "@intentius/chant": "^0.85.0",
65
65
  "typescript": "^5.9.3"
66
66
  }
67
67
  }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * The composite catalog matches what this lexicon exports (#2662).
3
+ *
4
+ * `catalog.ts` is generated by `npm run generate:composite-catalogs` and is
5
+ * what `chant serve mcp` lists. A composite added without regenerating it would
6
+ * be invisible to an agent asking what github offers; one renamed or removed
7
+ * would be offered and fail to import.
8
+ */
9
+
10
+ import { describe, expect, test } from "vitest";
11
+ import { isCompositeDefinition } from "@intentius/chant";
12
+ import * as composites from "./index";
13
+ import { compositeCatalog } from "./catalog";
14
+ import { githubPlugin } from "../plugin";
15
+
16
+ const exported = Object.entries(composites)
17
+ .filter(([, value]) => isCompositeDefinition(value))
18
+ .map(([name]) => name)
19
+ .sort();
20
+ const catalogued = compositeCatalog.map((entry) => entry.name).sort();
21
+
22
+ describe("the github composite catalog", () => {
23
+ test("every exported composite has an entry, and every entry names an exported composite", () => {
24
+ expect(exported.length).toBeGreaterThan(0);
25
+ expect(catalogued, "regenerate with `npm run generate:composite-catalogs -- github`").toEqual(exported);
26
+ });
27
+
28
+ test("every entry says what it is and what it bundles", () => {
29
+ for (const entry of compositeCatalog) {
30
+ expect(entry.lexicon, entry.name).toBe("github");
31
+ expect(entry.description.length, entry.name).toBeGreaterThan(0);
32
+ expect(entry.bundles.length, entry.name).toBeGreaterThan(0);
33
+ }
34
+ });
35
+
36
+ test("the plugin contributes it", () => {
37
+ expect(githubPlugin.composites?.()).toBe(compositeCatalog);
38
+ });
39
+ });
@@ -0,0 +1,864 @@
1
+ // Generated by scripts/generate-composite-catalogs.ts (#2662) from this
2
+ // lexicon's composite exports. Do not edit by hand: run
3
+ // `npm run generate:composite-catalogs`. catalog.test.ts holds it to the exports.
4
+ import type { CompositeEntry } from "@intentius/chant/lexicon";
5
+
6
+ export const compositeCatalog: CompositeEntry[] = [
7
+ {
8
+ "name": "BunPipeline",
9
+ "lexicon": "github",
10
+ "description": "NodePipeline preset for Bun projects.",
11
+ "bundles": [
12
+ "Job",
13
+ "Workflow"
14
+ ],
15
+ "params": [
16
+ {
17
+ "name": "defaults",
18
+ "type": "{ buildJob?: Partial<ConstructorParameters<typeof Job>[0]>; testJob?: Partial<ConstructorParameters<typeof Job>[0]>; ...",
19
+ "required": false
20
+ },
21
+ {
22
+ "name": "nodeVersion",
23
+ "type": "string",
24
+ "required": false,
25
+ "description": "Node.js version."
26
+ },
27
+ {
28
+ "name": "installCommand",
29
+ "type": "string",
30
+ "required": false,
31
+ "description": "Override auto-detected install command"
32
+ },
33
+ {
34
+ "name": "buildScript",
35
+ "type": "string",
36
+ "required": false,
37
+ "description": "Build script name."
38
+ },
39
+ {
40
+ "name": "testScript",
41
+ "type": "string",
42
+ "required": false,
43
+ "description": "Test script name."
44
+ },
45
+ {
46
+ "name": "runsOn",
47
+ "type": "string",
48
+ "required": false,
49
+ "description": "Runner label."
50
+ },
51
+ {
52
+ "name": "artifactName",
53
+ "type": "string",
54
+ "required": false,
55
+ "description": "Artifact name."
56
+ },
57
+ {
58
+ "name": "buildArtifactPaths",
59
+ "type": "string[]",
60
+ "required": false,
61
+ "description": "Build artifact paths."
62
+ },
63
+ {
64
+ "name": "artifactRetentionDays",
65
+ "type": "number",
66
+ "required": false,
67
+ "description": "Artifact retention days."
68
+ },
69
+ {
70
+ "name": "packageManager",
71
+ "type": "\"npm\" | \"pnpm\" | \"yarn\" | \"bun\"",
72
+ "required": false,
73
+ "description": "Package manager."
74
+ }
75
+ ]
76
+ },
77
+ {
78
+ "name": "CacheAction",
79
+ "lexicon": "github",
80
+ "description": "Bundles Step.",
81
+ "bundles": [
82
+ "Step"
83
+ ],
84
+ "params": [
85
+ {
86
+ "name": "path",
87
+ "type": "string",
88
+ "required": true
89
+ },
90
+ {
91
+ "name": "key",
92
+ "type": "string",
93
+ "required": true
94
+ },
95
+ {
96
+ "name": "restoreKeys",
97
+ "type": "string[]",
98
+ "required": false
99
+ },
100
+ {
101
+ "name": "defaults",
102
+ "type": "{ step?: Partial<ConstructorParameters<typeof Step>[0]>; }",
103
+ "required": false
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ "name": "Checkout",
109
+ "lexicon": "github",
110
+ "description": "Bundles Step.",
111
+ "bundles": [
112
+ "Step"
113
+ ],
114
+ "params": [
115
+ {
116
+ "name": "ref",
117
+ "type": "string",
118
+ "required": false
119
+ },
120
+ {
121
+ "name": "repository",
122
+ "type": "string",
123
+ "required": false
124
+ },
125
+ {
126
+ "name": "fetchDepth",
127
+ "type": "number",
128
+ "required": false
129
+ },
130
+ {
131
+ "name": "token",
132
+ "type": "string",
133
+ "required": false
134
+ },
135
+ {
136
+ "name": "submodules",
137
+ "type": "boolean | string",
138
+ "required": false
139
+ },
140
+ {
141
+ "name": "sshKey",
142
+ "type": "string",
143
+ "required": false
144
+ },
145
+ {
146
+ "name": "defaults",
147
+ "type": "{ step?: Partial<ConstructorParameters<typeof Step>[0]>; }",
148
+ "required": false
149
+ }
150
+ ]
151
+ },
152
+ {
153
+ "name": "DeployEnvironment",
154
+ "lexicon": "github",
155
+ "description": "Bundles Job.",
156
+ "bundles": [
157
+ "Job"
158
+ ],
159
+ "params": [
160
+ {
161
+ "name": "name",
162
+ "type": "string",
163
+ "required": true,
164
+ "description": "Environment name."
165
+ },
166
+ {
167
+ "name": "deployScript",
168
+ "type": "string | string[]",
169
+ "required": true,
170
+ "description": "Deploy command(s)."
171
+ },
172
+ {
173
+ "name": "cleanupScript",
174
+ "type": "string | string[]",
175
+ "required": false,
176
+ "description": "Cleanup command(s)."
177
+ },
178
+ {
179
+ "name": "url",
180
+ "type": "string",
181
+ "required": false,
182
+ "description": "Environment URL"
183
+ },
184
+ {
185
+ "name": "concurrencyGroup",
186
+ "type": "string",
187
+ "required": false,
188
+ "description": "Concurrency group."
189
+ },
190
+ {
191
+ "name": "cancelInProgress",
192
+ "type": "boolean",
193
+ "required": false,
194
+ "description": "Cancel in-progress deploys."
195
+ },
196
+ {
197
+ "name": "runsOn",
198
+ "type": "string",
199
+ "required": false,
200
+ "description": "Runner label."
201
+ },
202
+ {
203
+ "name": "defaults",
204
+ "type": "{ deployJob?: Partial<ConstructorParameters<typeof Job>[0]>; cleanupJob?: Partial<ConstructorParameters<typeof Job>[0...",
205
+ "required": false
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "name": "DockerBuild",
211
+ "lexicon": "github",
212
+ "description": "Bundles Job, Workflow.",
213
+ "bundles": [
214
+ "Job",
215
+ "Workflow"
216
+ ],
217
+ "params": [
218
+ {
219
+ "name": "tag",
220
+ "type": "string",
221
+ "required": false,
222
+ "description": "Image tag."
223
+ },
224
+ {
225
+ "name": "dockerfile",
226
+ "type": "string",
227
+ "required": false,
228
+ "description": "Dockerfile path."
229
+ },
230
+ {
231
+ "name": "context",
232
+ "type": "string",
233
+ "required": false,
234
+ "description": "Build context."
235
+ },
236
+ {
237
+ "name": "registry",
238
+ "type": "string",
239
+ "required": false,
240
+ "description": "Container registry."
241
+ },
242
+ {
243
+ "name": "imageName",
244
+ "type": "string",
245
+ "required": false,
246
+ "description": "Full image name."
247
+ },
248
+ {
249
+ "name": "tagLatest",
250
+ "type": "boolean",
251
+ "required": false,
252
+ "description": "Also tag as :latest."
253
+ },
254
+ {
255
+ "name": "buildArgs",
256
+ "type": "Record<string, string>",
257
+ "required": false,
258
+ "description": "Extra docker build-args"
259
+ },
260
+ {
261
+ "name": "push",
262
+ "type": "boolean",
263
+ "required": false,
264
+ "description": "Push image after build."
265
+ },
266
+ {
267
+ "name": "platforms",
268
+ "type": "string[]",
269
+ "required": false,
270
+ "description": "Multi-platform targets."
271
+ },
272
+ {
273
+ "name": "runsOn",
274
+ "type": "string",
275
+ "required": false,
276
+ "description": "Runner label."
277
+ },
278
+ {
279
+ "name": "defaults",
280
+ "type": "{ job?: Partial<ConstructorParameters<typeof Job>[0]>; workflow?: Partial<ConstructorParameters<typeof Workflow>[0]>; }",
281
+ "required": false
282
+ }
283
+ ]
284
+ },
285
+ {
286
+ "name": "DownloadArtifact",
287
+ "lexicon": "github",
288
+ "description": "Bundles Step.",
289
+ "bundles": [
290
+ "Step"
291
+ ],
292
+ "params": [
293
+ {
294
+ "name": "name",
295
+ "type": "string",
296
+ "required": false
297
+ },
298
+ {
299
+ "name": "path",
300
+ "type": "string",
301
+ "required": false
302
+ },
303
+ {
304
+ "name": "mergeMultiple",
305
+ "type": "boolean",
306
+ "required": false
307
+ },
308
+ {
309
+ "name": "defaults",
310
+ "type": "{ step?: Partial<ConstructorParameters<typeof Step>[0]>; }",
311
+ "required": false
312
+ }
313
+ ]
314
+ },
315
+ {
316
+ "name": "GoCI",
317
+ "lexicon": "github",
318
+ "description": "Bundles Job, Workflow.",
319
+ "bundles": [
320
+ "Job",
321
+ "Workflow"
322
+ ],
323
+ "params": [
324
+ {
325
+ "name": "goVersion",
326
+ "type": "string",
327
+ "required": false,
328
+ "description": "Go version."
329
+ },
330
+ {
331
+ "name": "testCommand",
332
+ "type": "string",
333
+ "required": false,
334
+ "description": "Test command."
335
+ },
336
+ {
337
+ "name": "buildCommand",
338
+ "type": "string",
339
+ "required": false,
340
+ "description": "Build command."
341
+ },
342
+ {
343
+ "name": "lintCommand",
344
+ "type": "string | null",
345
+ "required": false,
346
+ "description": "Lint command."
347
+ },
348
+ {
349
+ "name": "runsOn",
350
+ "type": "string",
351
+ "required": false,
352
+ "description": "Runner label."
353
+ },
354
+ {
355
+ "name": "defaults",
356
+ "type": "{ buildJob?: Partial<ConstructorParameters<typeof Job>[0]>; testJob?: Partial<ConstructorParameters<typeof Job>[0]>; ...",
357
+ "required": false
358
+ }
359
+ ]
360
+ },
361
+ {
362
+ "name": "NodeCI",
363
+ "lexicon": "github",
364
+ "description": "Bundles Job, Workflow.",
365
+ "bundles": [
366
+ "Job",
367
+ "Workflow"
368
+ ],
369
+ "params": [
370
+ {
371
+ "name": "nodeVersion",
372
+ "type": "string",
373
+ "required": false
374
+ },
375
+ {
376
+ "name": "packageManager",
377
+ "type": "\"npm\" | \"pnpm\" | \"yarn\" | \"bun\"",
378
+ "required": false
379
+ },
380
+ {
381
+ "name": "buildScript",
382
+ "type": "string",
383
+ "required": false
384
+ },
385
+ {
386
+ "name": "testScript",
387
+ "type": "string",
388
+ "required": false
389
+ },
390
+ {
391
+ "name": "installCommand",
392
+ "type": "string",
393
+ "required": false
394
+ },
395
+ {
396
+ "name": "defaults",
397
+ "type": "{ job?: Partial<ConstructorParameters<typeof Job>[0]>; workflow?: Partial<ConstructorParameters<typeof Workflow>[0]>; }",
398
+ "required": false
399
+ }
400
+ ]
401
+ },
402
+ {
403
+ "name": "NodePipeline",
404
+ "lexicon": "github",
405
+ "description": "Bundles Job, Workflow.",
406
+ "bundles": [
407
+ "Job",
408
+ "Workflow"
409
+ ],
410
+ "params": [
411
+ {
412
+ "name": "nodeVersion",
413
+ "type": "string",
414
+ "required": false,
415
+ "description": "Node.js version."
416
+ },
417
+ {
418
+ "name": "packageManager",
419
+ "type": "\"npm\" | \"pnpm\" | \"yarn\" | \"bun\"",
420
+ "required": false,
421
+ "description": "Package manager."
422
+ },
423
+ {
424
+ "name": "buildScript",
425
+ "type": "string",
426
+ "required": false,
427
+ "description": "Build script name."
428
+ },
429
+ {
430
+ "name": "testScript",
431
+ "type": "string",
432
+ "required": false,
433
+ "description": "Test script name."
434
+ },
435
+ {
436
+ "name": "installCommand",
437
+ "type": "string",
438
+ "required": false,
439
+ "description": "Override auto-detected install command"
440
+ },
441
+ {
442
+ "name": "buildArtifactPaths",
443
+ "type": "string[]",
444
+ "required": false,
445
+ "description": "Build artifact paths."
446
+ },
447
+ {
448
+ "name": "artifactName",
449
+ "type": "string",
450
+ "required": false,
451
+ "description": "Artifact name."
452
+ },
453
+ {
454
+ "name": "artifactRetentionDays",
455
+ "type": "number",
456
+ "required": false,
457
+ "description": "Artifact retention days."
458
+ },
459
+ {
460
+ "name": "runsOn",
461
+ "type": "string",
462
+ "required": false,
463
+ "description": "Runner label."
464
+ },
465
+ {
466
+ "name": "defaults",
467
+ "type": "{ buildJob?: Partial<ConstructorParameters<typeof Job>[0]>; testJob?: Partial<ConstructorParameters<typeof Job>[0]>; ...",
468
+ "required": false
469
+ }
470
+ ]
471
+ },
472
+ {
473
+ "name": "PnpmPipeline",
474
+ "lexicon": "github",
475
+ "description": "NodePipeline preset for pnpm projects.",
476
+ "bundles": [
477
+ "Job",
478
+ "Workflow"
479
+ ],
480
+ "params": [
481
+ {
482
+ "name": "defaults",
483
+ "type": "{ buildJob?: Partial<ConstructorParameters<typeof Job>[0]>; testJob?: Partial<ConstructorParameters<typeof Job>[0]>; ...",
484
+ "required": false
485
+ },
486
+ {
487
+ "name": "nodeVersion",
488
+ "type": "string",
489
+ "required": false,
490
+ "description": "Node.js version."
491
+ },
492
+ {
493
+ "name": "installCommand",
494
+ "type": "string",
495
+ "required": false,
496
+ "description": "Override auto-detected install command"
497
+ },
498
+ {
499
+ "name": "buildScript",
500
+ "type": "string",
501
+ "required": false,
502
+ "description": "Build script name."
503
+ },
504
+ {
505
+ "name": "testScript",
506
+ "type": "string",
507
+ "required": false,
508
+ "description": "Test script name."
509
+ },
510
+ {
511
+ "name": "runsOn",
512
+ "type": "string",
513
+ "required": false,
514
+ "description": "Runner label."
515
+ },
516
+ {
517
+ "name": "artifactName",
518
+ "type": "string",
519
+ "required": false,
520
+ "description": "Artifact name."
521
+ },
522
+ {
523
+ "name": "buildArtifactPaths",
524
+ "type": "string[]",
525
+ "required": false,
526
+ "description": "Build artifact paths."
527
+ },
528
+ {
529
+ "name": "artifactRetentionDays",
530
+ "type": "number",
531
+ "required": false,
532
+ "description": "Artifact retention days."
533
+ },
534
+ {
535
+ "name": "packageManager",
536
+ "type": "\"npm\" | \"pnpm\" | \"yarn\" | \"bun\"",
537
+ "required": false,
538
+ "description": "Package manager."
539
+ }
540
+ ]
541
+ },
542
+ {
543
+ "name": "PrPlanReport",
544
+ "lexicon": "github",
545
+ "description": "A CI job that builds, plans, and posts `chant lifecycle plan --report markdown` as a sticky PR comment (#1983).",
546
+ "bundles": [
547
+ "Job"
548
+ ],
549
+ "params": [
550
+ {
551
+ "name": "environment",
552
+ "type": "string",
553
+ "required": true,
554
+ "description": "Lifecycle environment to plan against — the `<environment>` argument of `chant lifecycle plan`."
555
+ },
556
+ {
557
+ "name": "lexicon",
558
+ "type": "string",
559
+ "required": false,
560
+ "description": "Restrict the plan to one lexicon (the optional `[lexicon]` argument)."
561
+ },
562
+ {
563
+ "name": "ownedOnly",
564
+ "type": "boolean",
565
+ "required": false,
566
+ "description": "Plan against chant-owned resources only (passes `--owned`)."
567
+ },
568
+ {
569
+ "name": "runsOn",
570
+ "type": "string",
571
+ "required": false,
572
+ "description": "Runner label."
573
+ },
574
+ {
575
+ "name": "nodeVersion",
576
+ "type": "string",
577
+ "required": false,
578
+ "description": "Node.js version for chant's own toolchain."
579
+ },
580
+ {
581
+ "name": "installCommand",
582
+ "type": "string",
583
+ "required": false,
584
+ "description": "Install command, run after checkout."
585
+ },
586
+ {
587
+ "name": "before",
588
+ "type": "string[]",
589
+ "required": false,
590
+ "description": "Commands to run before the plan — typically cloud-credential setup, since the plan queries the live system to classify create/update/delete."
591
+ },
592
+ {
593
+ "name": "postComment",
594
+ "type": "boolean",
595
+ "required": false,
596
+ "description": "Post the plan as a sticky PR comment."
597
+ },
598
+ {
599
+ "name": "marker",
600
+ "type": "string",
601
+ "required": false,
602
+ "description": "Hidden marker that makes the comment findable across pushes."
603
+ },
604
+ {
605
+ "name": "defaults",
606
+ "type": "{ job?: Partial<ConstructorParameters<typeof Job>[0]>; }",
607
+ "required": false,
608
+ "description": "Per-member defaults for customizing the generated job."
609
+ }
610
+ ]
611
+ },
612
+ {
613
+ "name": "PythonCI",
614
+ "lexicon": "github",
615
+ "description": "Bundles Job, Workflow.",
616
+ "bundles": [
617
+ "Job",
618
+ "Workflow"
619
+ ],
620
+ "params": [
621
+ {
622
+ "name": "pythonVersion",
623
+ "type": "string",
624
+ "required": false,
625
+ "description": "Python version."
626
+ },
627
+ {
628
+ "name": "testCommand",
629
+ "type": "string",
630
+ "required": false,
631
+ "description": "Test command."
632
+ },
633
+ {
634
+ "name": "lintCommand",
635
+ "type": "string | null",
636
+ "required": false,
637
+ "description": "Lint command."
638
+ },
639
+ {
640
+ "name": "requirementsFile",
641
+ "type": "string",
642
+ "required": false,
643
+ "description": "Requirements file."
644
+ },
645
+ {
646
+ "name": "usePoetry",
647
+ "type": "boolean",
648
+ "required": false,
649
+ "description": "Use poetry instead of pip."
650
+ },
651
+ {
652
+ "name": "runsOn",
653
+ "type": "string",
654
+ "required": false,
655
+ "description": "Runner label."
656
+ },
657
+ {
658
+ "name": "defaults",
659
+ "type": "{ testJob?: Partial<ConstructorParameters<typeof Job>[0]>; lintJob?: Partial<ConstructorParameters<typeof Job>[0]>; w...",
660
+ "required": false
661
+ }
662
+ ]
663
+ },
664
+ {
665
+ "name": "SetupGo",
666
+ "lexicon": "github",
667
+ "description": "Bundles Step.",
668
+ "bundles": [
669
+ "Step"
670
+ ],
671
+ "params": [
672
+ {
673
+ "name": "goVersion",
674
+ "type": "string",
675
+ "required": false
676
+ },
677
+ {
678
+ "name": "goVersionFile",
679
+ "type": "string",
680
+ "required": false
681
+ },
682
+ {
683
+ "name": "cache",
684
+ "type": "boolean",
685
+ "required": false
686
+ },
687
+ {
688
+ "name": "defaults",
689
+ "type": "{ step?: Partial<ConstructorParameters<typeof Step>[0]>; }",
690
+ "required": false
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ "name": "SetupNode",
696
+ "lexicon": "github",
697
+ "description": "Bundles Step.",
698
+ "bundles": [
699
+ "Step"
700
+ ],
701
+ "params": [
702
+ {
703
+ "name": "nodeVersion",
704
+ "type": "string",
705
+ "required": false
706
+ },
707
+ {
708
+ "name": "registryUrl",
709
+ "type": "string",
710
+ "required": false
711
+ },
712
+ {
713
+ "name": "cache",
714
+ "type": "string",
715
+ "required": false
716
+ },
717
+ {
718
+ "name": "cacheFilePath",
719
+ "type": "string",
720
+ "required": false
721
+ },
722
+ {
723
+ "name": "defaults",
724
+ "type": "{ step?: Partial<ConstructorParameters<typeof Step>[0]>; }",
725
+ "required": false
726
+ }
727
+ ]
728
+ },
729
+ {
730
+ "name": "SetupPython",
731
+ "lexicon": "github",
732
+ "description": "Bundles Step.",
733
+ "bundles": [
734
+ "Step"
735
+ ],
736
+ "params": [
737
+ {
738
+ "name": "pythonVersion",
739
+ "type": "string",
740
+ "required": false
741
+ },
742
+ {
743
+ "name": "cache",
744
+ "type": "string",
745
+ "required": false
746
+ },
747
+ {
748
+ "name": "architecture",
749
+ "type": "string",
750
+ "required": false
751
+ },
752
+ {
753
+ "name": "defaults",
754
+ "type": "{ step?: Partial<ConstructorParameters<typeof Step>[0]>; }",
755
+ "required": false
756
+ }
757
+ ]
758
+ },
759
+ {
760
+ "name": "UploadArtifact",
761
+ "lexicon": "github",
762
+ "description": "Bundles Step.",
763
+ "bundles": [
764
+ "Step"
765
+ ],
766
+ "params": [
767
+ {
768
+ "name": "name",
769
+ "type": "string",
770
+ "required": true
771
+ },
772
+ {
773
+ "name": "path",
774
+ "type": "string",
775
+ "required": true
776
+ },
777
+ {
778
+ "name": "retentionDays",
779
+ "type": "number",
780
+ "required": false
781
+ },
782
+ {
783
+ "name": "compressionLevel",
784
+ "type": "number",
785
+ "required": false
786
+ },
787
+ {
788
+ "name": "defaults",
789
+ "type": "{ step?: Partial<ConstructorParameters<typeof Step>[0]>; }",
790
+ "required": false
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ "name": "YarnPipeline",
796
+ "lexicon": "github",
797
+ "description": "NodePipeline preset for Yarn projects.",
798
+ "bundles": [
799
+ "Job",
800
+ "Workflow"
801
+ ],
802
+ "params": [
803
+ {
804
+ "name": "defaults",
805
+ "type": "{ buildJob?: Partial<ConstructorParameters<typeof Job>[0]>; testJob?: Partial<ConstructorParameters<typeof Job>[0]>; ...",
806
+ "required": false
807
+ },
808
+ {
809
+ "name": "nodeVersion",
810
+ "type": "string",
811
+ "required": false,
812
+ "description": "Node.js version."
813
+ },
814
+ {
815
+ "name": "installCommand",
816
+ "type": "string",
817
+ "required": false,
818
+ "description": "Override auto-detected install command"
819
+ },
820
+ {
821
+ "name": "buildScript",
822
+ "type": "string",
823
+ "required": false,
824
+ "description": "Build script name."
825
+ },
826
+ {
827
+ "name": "testScript",
828
+ "type": "string",
829
+ "required": false,
830
+ "description": "Test script name."
831
+ },
832
+ {
833
+ "name": "runsOn",
834
+ "type": "string",
835
+ "required": false,
836
+ "description": "Runner label."
837
+ },
838
+ {
839
+ "name": "artifactName",
840
+ "type": "string",
841
+ "required": false,
842
+ "description": "Artifact name."
843
+ },
844
+ {
845
+ "name": "buildArtifactPaths",
846
+ "type": "string[]",
847
+ "required": false,
848
+ "description": "Build artifact paths."
849
+ },
850
+ {
851
+ "name": "artifactRetentionDays",
852
+ "type": "number",
853
+ "required": false,
854
+ "description": "Artifact retention days."
855
+ },
856
+ {
857
+ "name": "packageManager",
858
+ "type": "\"npm\" | \"pnpm\" | \"yarn\" | \"bun\"",
859
+ "required": false,
860
+ "description": "Package manager."
861
+ }
862
+ ]
863
+ }
864
+ ];
package/src/plugin.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  * for GitHub Actions workflows.
6
6
  */
7
7
 
8
+ import { compositeCatalog } from "./composites/catalog";
8
9
  import type { LexiconPlugin, IntrinsicDef, InitTemplateSet } from "@intentius/chant/lexicon";
9
10
  import type { LintRule } from "@intentius/chant/lint/rule";
10
11
  import { postSynthChecks as postSynthCheckList } from "./lint/post-synth";
@@ -256,6 +257,10 @@ export const build = new Job({
256
257
  console.error(`Packaged ${stats.resources} entities, ${stats.ruleCount} rules, ${stats.skillCount} skills`);
257
258
  },
258
259
 
260
+ composites() {
261
+ return compositeCatalog;
262
+ },
263
+
259
264
  mcpTools() {
260
265
  return [
261
266
  createDiffTool(githubSerializer, "Compare current build output against previous output for GitHub Actions", "github"),