@memberjunction/cli 5.41.0 → 5.43.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/dist/commands/app/install.d.ts.map +1 -1
- package/dist/commands/app/install.js +2 -1
- package/dist/commands/app/install.js.map +1 -1
- package/dist/commands/bundle/index.d.ts +1 -0
- package/dist/commands/bundle/index.d.ts.map +1 -1
- package/dist/commands/bundle/index.js +7 -1
- package/dist/commands/bundle/index.js.map +1 -1
- package/dist/commands/codegen/index.d.ts +6 -16
- package/dist/commands/codegen/index.d.ts.map +1 -1
- package/dist/commands/codegen/index.js +6 -90
- package/dist/commands/codegen/index.js.map +1 -1
- package/dist/commands/codegen/manifest.d.ts +41 -10
- package/dist/commands/codegen/manifest.d.ts.map +1 -1
- package/dist/commands/codegen/manifest.js +66 -0
- package/dist/commands/codegen/manifest.js.map +1 -1
- package/dist/commands/codegen/usage.d.ts +7 -0
- package/dist/commands/codegen/usage.d.ts.map +1 -0
- package/dist/commands/codegen/usage.js +10 -0
- package/dist/commands/codegen/usage.js.map +1 -0
- package/dist/commands/install/claude.d.ts +35 -0
- package/dist/commands/install/claude.d.ts.map +1 -0
- package/dist/commands/install/claude.js +108 -0
- package/dist/commands/install/claude.js.map +1 -0
- package/dist/commands/install/index.d.ts +1 -0
- package/dist/commands/install/index.d.ts.map +1 -1
- package/dist/commands/install/index.js +4 -0
- package/dist/commands/install/index.js.map +1 -1
- package/dist/commands/migrate/convert.d.ts +59 -12
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +294 -21
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/rebake.d.ts +41 -0
- package/dist/commands/migrate/rebake.d.ts.map +1 -0
- package/dist/commands/migrate/rebake.js +193 -0
- package/dist/commands/migrate/rebake.js.map +1 -0
- package/dist/commands/plugin/add.d.ts +18 -0
- package/dist/commands/plugin/add.d.ts.map +1 -0
- package/dist/commands/plugin/add.js +53 -0
- package/dist/commands/plugin/add.js.map +1 -0
- package/dist/commands/sync/pull.d.ts +6 -26
- package/dist/commands/sync/pull.d.ts.map +1 -1
- package/dist/commands/sync/pull.js +6 -281
- package/dist/commands/sync/pull.js.map +1 -1
- package/dist/commands/sync/push.d.ts +8 -19
- package/dist/commands/sync/push.d.ts.map +1 -1
- package/dist/commands/sync/push.js +8 -328
- package/dist/commands/sync/push.js.map +1 -1
- package/dist/commands/sync/usage.d.ts +7 -0
- package/dist/commands/sync/usage.d.ts.map +1 -0
- package/dist/commands/sync/usage.js +10 -0
- package/dist/commands/sync/usage.js.map +1 -0
- package/dist/commands/update/claude.d.ts +37 -0
- package/dist/commands/update/claude.d.ts.map +1 -0
- package/dist/commands/update/claude.js +90 -0
- package/dist/commands/update/claude.js.map +1 -0
- package/dist/commands/usage.d.ts +17 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +29 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/config.d.ts +41 -7
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -4
- package/dist/config.js.map +1 -1
- package/dist/hooks/prerun.d.ts.map +1 -1
- package/dist/hooks/prerun.js +49 -8
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts +40 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.d.ts.map +1 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.js +127 -0
- package/dist/lib/claude-pack/ManagedBlockEditor.js.map +1 -0
- package/dist/lib/claude-pack/PackFetcher.d.ts +86 -0
- package/dist/lib/claude-pack/PackFetcher.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackFetcher.js +163 -0
- package/dist/lib/claude-pack/PackFetcher.js.map +1 -0
- package/dist/lib/claude-pack/PackInstaller.d.ts +62 -0
- package/dist/lib/claude-pack/PackInstaller.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackInstaller.js +197 -0
- package/dist/lib/claude-pack/PackInstaller.js.map +1 -0
- package/dist/lib/claude-pack/PackMerger.d.ts +61 -0
- package/dist/lib/claude-pack/PackMerger.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackMerger.js +315 -0
- package/dist/lib/claude-pack/PackMerger.js.map +1 -0
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts +29 -0
- package/dist/lib/claude-pack/PackOutputFormatter.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackOutputFormatter.js +82 -0
- package/dist/lib/claude-pack/PackOutputFormatter.js.map +1 -0
- package/dist/lib/claude-pack/PackPaths.d.ts +80 -0
- package/dist/lib/claude-pack/PackPaths.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackPaths.js +182 -0
- package/dist/lib/claude-pack/PackPaths.js.map +1 -0
- package/dist/lib/claude-pack/PackTypes.d.ts +124 -0
- package/dist/lib/claude-pack/PackTypes.d.ts.map +1 -0
- package/dist/lib/claude-pack/PackTypes.js +32 -0
- package/dist/lib/claude-pack/PackTypes.js.map +1 -0
- package/dist/lib/claude-pack/SettingsMerger.d.ts +47 -0
- package/dist/lib/claude-pack/SettingsMerger.d.ts.map +1 -0
- package/dist/lib/claude-pack/SettingsMerger.js +163 -0
- package/dist/lib/claude-pack/SettingsMerger.js.map +1 -0
- package/dist/lib/cli-plugins.d.ts +16 -0
- package/dist/lib/cli-plugins.d.ts.map +1 -0
- package/dist/lib/cli-plugins.js +26 -0
- package/dist/lib/cli-plugins.js.map +1 -0
- package/dist/lib/domain-usage-command.d.ts +16 -0
- package/dist/lib/domain-usage-command.d.ts.map +1 -0
- package/dist/lib/domain-usage-command.js +23 -0
- package/dist/lib/domain-usage-command.js.map +1 -0
- package/dist/lib/usage-render.d.ts +14 -0
- package/dist/lib/usage-render.d.ts.map +1 -0
- package/dist/lib/usage-render.js +64 -0
- package/dist/lib/usage-render.js.map +1 -0
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +11 -0
- package/dist/light-commands.js.map +1 -1
- package/dist/utils/open-app-context.d.ts +5 -5
- package/dist/utils/open-app-context.d.ts.map +1 -1
- package/dist/utils/open-app-context.js +44 -48
- package/dist/utils/open-app-context.js.map +1 -1
- package/oclif.manifest.json +821 -134
- package/package.json +17 -15
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"commands": {
|
|
3
|
+
"usage": {
|
|
4
|
+
"aliases": [],
|
|
5
|
+
"args": {},
|
|
6
|
+
"description": "List mj command domains (AI-agent-friendly, tier-1 progressive disclosure). Then run `mj <domain> usage`.",
|
|
7
|
+
"examples": [
|
|
8
|
+
"<%= config.bin %> <%= command.id %>",
|
|
9
|
+
"<%= config.bin %> <%= command.id %> --format=json"
|
|
10
|
+
],
|
|
11
|
+
"flags": {
|
|
12
|
+
"format": {
|
|
13
|
+
"description": "Output format",
|
|
14
|
+
"name": "format",
|
|
15
|
+
"default": "text",
|
|
16
|
+
"hasDynamicHelp": false,
|
|
17
|
+
"multiple": false,
|
|
18
|
+
"options": [
|
|
19
|
+
"text",
|
|
20
|
+
"json",
|
|
21
|
+
"md"
|
|
22
|
+
],
|
|
23
|
+
"type": "option"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"hasDynamicHelp": false,
|
|
27
|
+
"hiddenAliases": [],
|
|
28
|
+
"id": "usage",
|
|
29
|
+
"pluginAlias": "@memberjunction/cli",
|
|
30
|
+
"pluginName": "@memberjunction/cli",
|
|
31
|
+
"pluginType": "core",
|
|
32
|
+
"strict": true,
|
|
33
|
+
"enableJsonFlag": false,
|
|
34
|
+
"isESM": true,
|
|
35
|
+
"relativePath": [
|
|
36
|
+
"dist",
|
|
37
|
+
"commands",
|
|
38
|
+
"usage.js"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
3
41
|
"ai": {
|
|
4
42
|
"aliases": [],
|
|
5
43
|
"args": {},
|
|
@@ -140,7 +178,7 @@
|
|
|
140
178
|
"aliases": [],
|
|
141
179
|
"args": {
|
|
142
180
|
"source": {
|
|
143
|
-
"description": "GitHub repository URL of the Open App",
|
|
181
|
+
"description": "GitHub repository URL of the Open App. For a multi-app repo, append the in-repo path to the app (e.g. https://github.com/MemberJunction/Integrations/CRM/HubSpot).",
|
|
144
182
|
"name": "source",
|
|
145
183
|
"required": true
|
|
146
184
|
}
|
|
@@ -149,7 +187,8 @@
|
|
|
149
187
|
"examples": [
|
|
150
188
|
"<%= config.bin %> app install https://github.com/acme/mj-crm",
|
|
151
189
|
"<%= config.bin %> app install https://github.com/acme/mj-crm --version 1.2.0",
|
|
152
|
-
"<%= config.bin %> app install https://github.com/acme/mj-crm --verbose"
|
|
190
|
+
"<%= config.bin %> app install https://github.com/acme/mj-crm --verbose",
|
|
191
|
+
"<%= config.bin %> app install https://github.com/MemberJunction/Integrations/CRM/HubSpot"
|
|
153
192
|
],
|
|
154
193
|
"flags": {
|
|
155
194
|
"version": {
|
|
@@ -338,6 +377,67 @@
|
|
|
338
377
|
"upgrade.js"
|
|
339
378
|
]
|
|
340
379
|
},
|
|
380
|
+
"artifacts:reclassify": {
|
|
381
|
+
"aliases": [],
|
|
382
|
+
"args": {},
|
|
383
|
+
"description": "Upgrade-recovery utility for v5.35 artifact unification. Re-evaluates rows whose TypeID is the deleted JSON fallback but whose actual content does not parse as JSON. Normally a no-op: the v5.35 backfill migration handles this automatically. This command is only relevant when the migration ran BEFORE the artifact-type metadata (Generic Text / Generic Binary) was pushed via `mj sync push`, in which case the migration prints a notice telling you to run this. Reports \"no candidates\" once everything is reconciled. Dry-run by default; --apply writes through Record Changes.",
|
|
384
|
+
"examples": [
|
|
385
|
+
"<%= config.bin %> <%= command.id %>",
|
|
386
|
+
"<%= config.bin %> <%= command.id %> --apply --limit 50"
|
|
387
|
+
],
|
|
388
|
+
"flags": {
|
|
389
|
+
"conversation-id": {
|
|
390
|
+
"description": "Scope to artifacts attached to the given conversation.",
|
|
391
|
+
"name": "conversation-id",
|
|
392
|
+
"hasDynamicHelp": false,
|
|
393
|
+
"multiple": false,
|
|
394
|
+
"type": "option"
|
|
395
|
+
},
|
|
396
|
+
"since": {
|
|
397
|
+
"description": "Scope to artifacts created on/after this ISO date.",
|
|
398
|
+
"name": "since",
|
|
399
|
+
"hasDynamicHelp": false,
|
|
400
|
+
"multiple": false,
|
|
401
|
+
"type": "option"
|
|
402
|
+
},
|
|
403
|
+
"limit": {
|
|
404
|
+
"description": "Maximum number of rows to inspect.",
|
|
405
|
+
"name": "limit",
|
|
406
|
+
"default": 100,
|
|
407
|
+
"hasDynamicHelp": false,
|
|
408
|
+
"multiple": false,
|
|
409
|
+
"type": "option"
|
|
410
|
+
},
|
|
411
|
+
"apply": {
|
|
412
|
+
"description": "Write changes. Without this flag, this command only reports what it would do.",
|
|
413
|
+
"name": "apply",
|
|
414
|
+
"allowNo": false,
|
|
415
|
+
"type": "boolean"
|
|
416
|
+
},
|
|
417
|
+
"verbose": {
|
|
418
|
+
"char": "v",
|
|
419
|
+
"description": "Print every candidate row, not just the summary.",
|
|
420
|
+
"name": "verbose",
|
|
421
|
+
"allowNo": false,
|
|
422
|
+
"type": "boolean"
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
"hasDynamicHelp": false,
|
|
426
|
+
"hiddenAliases": [],
|
|
427
|
+
"id": "artifacts:reclassify",
|
|
428
|
+
"pluginAlias": "@memberjunction/cli",
|
|
429
|
+
"pluginName": "@memberjunction/cli",
|
|
430
|
+
"pluginType": "core",
|
|
431
|
+
"strict": true,
|
|
432
|
+
"enableJsonFlag": false,
|
|
433
|
+
"isESM": true,
|
|
434
|
+
"relativePath": [
|
|
435
|
+
"dist",
|
|
436
|
+
"commands",
|
|
437
|
+
"artifacts",
|
|
438
|
+
"reclassify.js"
|
|
439
|
+
]
|
|
440
|
+
},
|
|
341
441
|
"baseline:build": {
|
|
342
442
|
"aliases": [],
|
|
343
443
|
"args": {},
|
|
@@ -676,67 +776,6 @@
|
|
|
676
776
|
"roundtrip.js"
|
|
677
777
|
]
|
|
678
778
|
},
|
|
679
|
-
"artifacts:reclassify": {
|
|
680
|
-
"aliases": [],
|
|
681
|
-
"args": {},
|
|
682
|
-
"description": "Upgrade-recovery utility for v5.35 artifact unification. Re-evaluates rows whose TypeID is the deleted JSON fallback but whose actual content does not parse as JSON. Normally a no-op: the v5.35 backfill migration handles this automatically. This command is only relevant when the migration ran BEFORE the artifact-type metadata (Generic Text / Generic Binary) was pushed via `mj sync push`, in which case the migration prints a notice telling you to run this. Reports \"no candidates\" once everything is reconciled. Dry-run by default; --apply writes through Record Changes.",
|
|
683
|
-
"examples": [
|
|
684
|
-
"<%= config.bin %> <%= command.id %>",
|
|
685
|
-
"<%= config.bin %> <%= command.id %> --apply --limit 50"
|
|
686
|
-
],
|
|
687
|
-
"flags": {
|
|
688
|
-
"conversation-id": {
|
|
689
|
-
"description": "Scope to artifacts attached to the given conversation.",
|
|
690
|
-
"name": "conversation-id",
|
|
691
|
-
"hasDynamicHelp": false,
|
|
692
|
-
"multiple": false,
|
|
693
|
-
"type": "option"
|
|
694
|
-
},
|
|
695
|
-
"since": {
|
|
696
|
-
"description": "Scope to artifacts created on/after this ISO date.",
|
|
697
|
-
"name": "since",
|
|
698
|
-
"hasDynamicHelp": false,
|
|
699
|
-
"multiple": false,
|
|
700
|
-
"type": "option"
|
|
701
|
-
},
|
|
702
|
-
"limit": {
|
|
703
|
-
"description": "Maximum number of rows to inspect.",
|
|
704
|
-
"name": "limit",
|
|
705
|
-
"default": 100,
|
|
706
|
-
"hasDynamicHelp": false,
|
|
707
|
-
"multiple": false,
|
|
708
|
-
"type": "option"
|
|
709
|
-
},
|
|
710
|
-
"apply": {
|
|
711
|
-
"description": "Write changes. Without this flag, this command only reports what it would do.",
|
|
712
|
-
"name": "apply",
|
|
713
|
-
"allowNo": false,
|
|
714
|
-
"type": "boolean"
|
|
715
|
-
},
|
|
716
|
-
"verbose": {
|
|
717
|
-
"char": "v",
|
|
718
|
-
"description": "Print every candidate row, not just the summary.",
|
|
719
|
-
"name": "verbose",
|
|
720
|
-
"allowNo": false,
|
|
721
|
-
"type": "boolean"
|
|
722
|
-
}
|
|
723
|
-
},
|
|
724
|
-
"hasDynamicHelp": false,
|
|
725
|
-
"hiddenAliases": [],
|
|
726
|
-
"id": "artifacts:reclassify",
|
|
727
|
-
"pluginAlias": "@memberjunction/cli",
|
|
728
|
-
"pluginName": "@memberjunction/cli",
|
|
729
|
-
"pluginType": "core",
|
|
730
|
-
"strict": true,
|
|
731
|
-
"enableJsonFlag": false,
|
|
732
|
-
"isESM": true,
|
|
733
|
-
"relativePath": [
|
|
734
|
-
"dist",
|
|
735
|
-
"commands",
|
|
736
|
-
"artifacts",
|
|
737
|
-
"reclassify.js"
|
|
738
|
-
]
|
|
739
|
-
},
|
|
740
779
|
"bump": {
|
|
741
780
|
"aliases": [],
|
|
742
781
|
"args": {},
|
|
@@ -865,6 +904,12 @@
|
|
|
865
904
|
],
|
|
866
905
|
"type": "option"
|
|
867
906
|
},
|
|
907
|
+
"no-claude-pack": {
|
|
908
|
+
"description": "Exclude the Claude Code pack (CLAUDE.md + .claude/) from the bundle. By default the pack is included so air-gapped installs get the same out-of-the-box Claude experience as online installs.",
|
|
909
|
+
"name": "no-claude-pack",
|
|
910
|
+
"allowNo": false,
|
|
911
|
+
"type": "boolean"
|
|
912
|
+
},
|
|
868
913
|
"verbose": {
|
|
869
914
|
"char": "v",
|
|
870
915
|
"description": "Show detailed output",
|
|
@@ -1149,7 +1194,7 @@
|
|
|
1149
1194
|
"codegen": {
|
|
1150
1195
|
"aliases": [],
|
|
1151
1196
|
"args": {},
|
|
1152
|
-
"description": "Run the full MemberJunction code generation pipeline.\n\nAnalyzes your
|
|
1197
|
+
"description": "Run the full MemberJunction code generation pipeline.\n\nAnalyzes your database schema, updates MemberJunction metadata, and generates\nsynchronized code across the stack: SQL objects, TypeScript entities, Angular\nforms, GraphQL resolvers, Action subclasses, and DB schema JSON.\n\nUse --skipdb to regenerate code from existing metadata only; --skipfiles to run\ndatabase-side operations only. --force-advanced-gen re-runs the LLM-driven\nadvanced generation for ALL entities (bypasses changed-entity scoping).",
|
|
1153
1198
|
"examples": [
|
|
1154
1199
|
{
|
|
1155
1200
|
"command": "<%= config.bin %> <%= command.id %>",
|
|
@@ -1160,29 +1205,51 @@
|
|
|
1160
1205
|
"description": "Regenerate code files without touching the database"
|
|
1161
1206
|
},
|
|
1162
1207
|
{
|
|
1163
|
-
"command": "<%= config.bin %> <%= command.id %> --
|
|
1164
|
-
"description": "
|
|
1165
|
-
},
|
|
1166
|
-
{
|
|
1167
|
-
"command": "<%= config.bin %> <%= command.id %> --force-advanced-gen",
|
|
1168
|
-
"description": "Re-run advanced generation for all entities (bypasses changed-entity scoping)"
|
|
1208
|
+
"command": "<%= config.bin %> <%= command.id %> --format=json",
|
|
1209
|
+
"description": "Emit a machine-readable result for an agent"
|
|
1169
1210
|
}
|
|
1170
1211
|
],
|
|
1171
1212
|
"flags": {
|
|
1213
|
+
"format": {
|
|
1214
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
|
|
1215
|
+
"name": "format",
|
|
1216
|
+
"default": "text",
|
|
1217
|
+
"hasDynamicHelp": false,
|
|
1218
|
+
"multiple": false,
|
|
1219
|
+
"options": [
|
|
1220
|
+
"text",
|
|
1221
|
+
"json",
|
|
1222
|
+
"md"
|
|
1223
|
+
],
|
|
1224
|
+
"type": "option"
|
|
1225
|
+
},
|
|
1226
|
+
"verbose": {
|
|
1227
|
+
"char": "v",
|
|
1228
|
+
"description": "Show detailed output",
|
|
1229
|
+
"name": "verbose",
|
|
1230
|
+
"allowNo": false,
|
|
1231
|
+
"type": "boolean"
|
|
1232
|
+
},
|
|
1233
|
+
"no-banner": {
|
|
1234
|
+
"description": "Suppress the startup banner and runtime advisory",
|
|
1235
|
+
"name": "no-banner",
|
|
1236
|
+
"allowNo": false,
|
|
1237
|
+
"type": "boolean"
|
|
1238
|
+
},
|
|
1172
1239
|
"skipdb": {
|
|
1173
|
-
"description": "Skip database operations
|
|
1240
|
+
"description": "Skip database operations. Only regenerate TypeScript entities, Angular components, and GraphQL resolvers from existing metadata.",
|
|
1174
1241
|
"name": "skipdb",
|
|
1175
1242
|
"allowNo": false,
|
|
1176
1243
|
"type": "boolean"
|
|
1177
1244
|
},
|
|
1178
1245
|
"skipfiles": {
|
|
1179
|
-
"description": "Skip file-generation operations
|
|
1246
|
+
"description": "Skip file-generation operations. Only run database-side operations (metadata sync, SQL object generation).",
|
|
1180
1247
|
"name": "skipfiles",
|
|
1181
1248
|
"allowNo": false,
|
|
1182
1249
|
"type": "boolean"
|
|
1183
1250
|
},
|
|
1184
1251
|
"force-advanced-gen": {
|
|
1185
|
-
"description": "Bypass entity scoping in Pass 2 and force advanced generation to re-run for all entities.
|
|
1252
|
+
"description": "Bypass entity scoping in Pass 2 and force advanced generation to re-run for all entities.",
|
|
1186
1253
|
"name": "force-advanced-gen",
|
|
1187
1254
|
"allowNo": false,
|
|
1188
1255
|
"type": "boolean"
|
|
@@ -1196,6 +1263,44 @@
|
|
|
1196
1263
|
"pluginType": "core",
|
|
1197
1264
|
"strict": true,
|
|
1198
1265
|
"enableJsonFlag": false,
|
|
1266
|
+
"Usage": {
|
|
1267
|
+
"domain": "codegen",
|
|
1268
|
+
"command": "codegen",
|
|
1269
|
+
"summary": "Regenerate entities, SQL, and Angular forms from the database schema.",
|
|
1270
|
+
"description": "Runs the full CodeGen pipeline. Scales with entity count — a full run is far slower than a single-entity change. Use --skipdb/--skipfiles to run only one half.",
|
|
1271
|
+
"flags": [
|
|
1272
|
+
{
|
|
1273
|
+
"name": "--skipdb",
|
|
1274
|
+
"type": "boolean",
|
|
1275
|
+
"description": "Regenerate code from existing metadata only (no DB operations)"
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
"name": "--skipfiles",
|
|
1279
|
+
"type": "boolean",
|
|
1280
|
+
"description": "Run DB-side operations only (no code files)"
|
|
1281
|
+
},
|
|
1282
|
+
{
|
|
1283
|
+
"name": "--force-advanced-gen",
|
|
1284
|
+
"type": "boolean",
|
|
1285
|
+
"description": "Re-run advanced generation for all entities"
|
|
1286
|
+
},
|
|
1287
|
+
{
|
|
1288
|
+
"name": "--format",
|
|
1289
|
+
"type": "text|json|md",
|
|
1290
|
+
"description": "Output format (json for machine-readable result)"
|
|
1291
|
+
}
|
|
1292
|
+
],
|
|
1293
|
+
"examples": [
|
|
1294
|
+
"mj codegen",
|
|
1295
|
+
"mj codegen --skipdb",
|
|
1296
|
+
"mj codegen --format=json"
|
|
1297
|
+
],
|
|
1298
|
+
"runtime": {
|
|
1299
|
+
"class": "slow",
|
|
1300
|
+
"typicalSeconds": 45,
|
|
1301
|
+
"note": "scales with entity count; full run far slower than a single-entity change"
|
|
1302
|
+
}
|
|
1303
|
+
},
|
|
1199
1304
|
"isESM": true,
|
|
1200
1305
|
"relativePath": [
|
|
1201
1306
|
"dist",
|
|
@@ -1306,6 +1411,12 @@
|
|
|
1306
1411
|
"name": "strict",
|
|
1307
1412
|
"allowNo": false,
|
|
1308
1413
|
"type": "boolean"
|
|
1414
|
+
},
|
|
1415
|
+
"open-app-client-bootstrap": {
|
|
1416
|
+
"description": "After generating the manifest, append a managed block of side-effect imports — one per Open App client package recorded in mj.config `dynamicPackages.client` — so installed apps' client classes register when the client bundle loads. Used by MJExplorer's prebuild; requires --output.",
|
|
1417
|
+
"name": "open-app-client-bootstrap",
|
|
1418
|
+
"allowNo": false,
|
|
1419
|
+
"type": "boolean"
|
|
1309
1420
|
}
|
|
1310
1421
|
},
|
|
1311
1422
|
"hasDynamicHelp": false,
|
|
@@ -1324,6 +1435,41 @@
|
|
|
1324
1435
|
"manifest.js"
|
|
1325
1436
|
]
|
|
1326
1437
|
},
|
|
1438
|
+
"codegen:usage": {
|
|
1439
|
+
"aliases": [],
|
|
1440
|
+
"args": {},
|
|
1441
|
+
"description": "Show usage, flags, examples, and runtime hints for `mj codegen`.",
|
|
1442
|
+
"flags": {
|
|
1443
|
+
"format": {
|
|
1444
|
+
"description": "Output format",
|
|
1445
|
+
"name": "format",
|
|
1446
|
+
"default": "text",
|
|
1447
|
+
"hasDynamicHelp": false,
|
|
1448
|
+
"multiple": false,
|
|
1449
|
+
"options": [
|
|
1450
|
+
"text",
|
|
1451
|
+
"json",
|
|
1452
|
+
"md"
|
|
1453
|
+
],
|
|
1454
|
+
"type": "option"
|
|
1455
|
+
}
|
|
1456
|
+
},
|
|
1457
|
+
"hasDynamicHelp": false,
|
|
1458
|
+
"hiddenAliases": [],
|
|
1459
|
+
"id": "codegen:usage",
|
|
1460
|
+
"pluginAlias": "@memberjunction/cli",
|
|
1461
|
+
"pluginName": "@memberjunction/cli",
|
|
1462
|
+
"pluginType": "core",
|
|
1463
|
+
"strict": true,
|
|
1464
|
+
"enableJsonFlag": false,
|
|
1465
|
+
"isESM": true,
|
|
1466
|
+
"relativePath": [
|
|
1467
|
+
"dist",
|
|
1468
|
+
"commands",
|
|
1469
|
+
"codegen",
|
|
1470
|
+
"usage.js"
|
|
1471
|
+
]
|
|
1472
|
+
},
|
|
1327
1473
|
"dbdoc:analyze": {
|
|
1328
1474
|
"aliases": [],
|
|
1329
1475
|
"args": {},
|
|
@@ -1818,82 +1964,195 @@
|
|
|
1818
1964
|
"index.js"
|
|
1819
1965
|
]
|
|
1820
1966
|
},
|
|
1821
|
-
"install": {
|
|
1967
|
+
"install:claude": {
|
|
1822
1968
|
"aliases": [],
|
|
1823
1969
|
"args": {},
|
|
1824
|
-
"description": "Install
|
|
1970
|
+
"description": "Install or refresh the Claude Code pack in the current directory.",
|
|
1825
1971
|
"examples": [
|
|
1826
|
-
"<%= config.bin %>
|
|
1827
|
-
"<%= config.bin %>
|
|
1828
|
-
"<%= config.bin %>
|
|
1829
|
-
"<%= config.bin %>
|
|
1972
|
+
"<%= config.bin %> install:claude",
|
|
1973
|
+
"<%= config.bin %> install:claude --dry-run",
|
|
1974
|
+
"<%= config.bin %> install:claude --from ./local-pack",
|
|
1975
|
+
"<%= config.bin %> install:claude --json"
|
|
1830
1976
|
],
|
|
1831
1977
|
"flags": {
|
|
1832
|
-
"
|
|
1833
|
-
"
|
|
1834
|
-
"
|
|
1835
|
-
"
|
|
1978
|
+
"dir": {
|
|
1979
|
+
"description": "Target directory for the install",
|
|
1980
|
+
"name": "dir",
|
|
1981
|
+
"default": ".",
|
|
1836
1982
|
"hasDynamicHelp": false,
|
|
1837
1983
|
"multiple": false,
|
|
1838
1984
|
"type": "option"
|
|
1839
1985
|
},
|
|
1840
|
-
"
|
|
1841
|
-
"description": "
|
|
1842
|
-
"name": "
|
|
1843
|
-
"default": ".",
|
|
1986
|
+
"major": {
|
|
1987
|
+
"description": "Force a specific MJ major (default: detected from package.json)",
|
|
1988
|
+
"name": "major",
|
|
1844
1989
|
"hasDynamicHelp": false,
|
|
1845
1990
|
"multiple": false,
|
|
1846
1991
|
"type": "option"
|
|
1847
1992
|
},
|
|
1848
|
-
"
|
|
1849
|
-
"
|
|
1850
|
-
"
|
|
1851
|
-
"name": "config",
|
|
1993
|
+
"ref": {
|
|
1994
|
+
"description": "Git ref to fetch from (branch or tag). Default: main.",
|
|
1995
|
+
"name": "ref",
|
|
1852
1996
|
"hasDynamicHelp": false,
|
|
1853
1997
|
"multiple": false,
|
|
1854
1998
|
"type": "option"
|
|
1855
1999
|
},
|
|
1856
|
-
"
|
|
1857
|
-
"description": "Use
|
|
1858
|
-
"
|
|
1859
|
-
"
|
|
2000
|
+
"from": {
|
|
2001
|
+
"description": "Use a local pack source instead of fetching from GitHub",
|
|
2002
|
+
"name": "from",
|
|
2003
|
+
"hasDynamicHelp": false,
|
|
2004
|
+
"multiple": false,
|
|
2005
|
+
"type": "option"
|
|
2006
|
+
},
|
|
2007
|
+
"offline": {
|
|
2008
|
+
"description": "Forbid network; requires --from <path>",
|
|
2009
|
+
"name": "offline",
|
|
1860
2010
|
"allowNo": false,
|
|
1861
2011
|
"type": "boolean"
|
|
1862
2012
|
},
|
|
1863
2013
|
"dry-run": {
|
|
1864
|
-
"description": "
|
|
2014
|
+
"description": "Print what would be written; change nothing",
|
|
1865
2015
|
"name": "dry-run",
|
|
1866
2016
|
"allowNo": false,
|
|
1867
2017
|
"type": "boolean"
|
|
1868
2018
|
},
|
|
1869
2019
|
"yes": {
|
|
1870
2020
|
"char": "y",
|
|
1871
|
-
"description": "
|
|
2021
|
+
"description": "Don't prompt (reserved for future interactive paths; currently no-op)",
|
|
1872
2022
|
"name": "yes",
|
|
1873
2023
|
"allowNo": false,
|
|
1874
2024
|
"type": "boolean"
|
|
1875
2025
|
},
|
|
1876
|
-
"
|
|
1877
|
-
"
|
|
1878
|
-
"
|
|
1879
|
-
"name": "verbose",
|
|
2026
|
+
"force": {
|
|
2027
|
+
"description": "Overwrite user-customized commands/skills (saves .bak files)",
|
|
2028
|
+
"name": "force",
|
|
1880
2029
|
"allowNo": false,
|
|
1881
2030
|
"type": "boolean"
|
|
1882
2031
|
},
|
|
1883
|
-
"skip-
|
|
1884
|
-
"description": "Skip
|
|
1885
|
-
"name": "skip-
|
|
2032
|
+
"skip-commands": {
|
|
2033
|
+
"description": "Skip seeding .claude/commands/",
|
|
2034
|
+
"name": "skip-commands",
|
|
1886
2035
|
"allowNo": false,
|
|
1887
2036
|
"type": "boolean"
|
|
1888
2037
|
},
|
|
1889
|
-
"skip-
|
|
1890
|
-
"description": "Skip
|
|
1891
|
-
"name": "skip-
|
|
2038
|
+
"skip-skills": {
|
|
2039
|
+
"description": "Skip seeding .claude/skills/",
|
|
2040
|
+
"name": "skip-skills",
|
|
1892
2041
|
"allowNo": false,
|
|
1893
2042
|
"type": "boolean"
|
|
1894
2043
|
},
|
|
1895
|
-
"
|
|
1896
|
-
"description": "
|
|
2044
|
+
"skip-settings": {
|
|
2045
|
+
"description": "Skip merging .claude/settings.json",
|
|
2046
|
+
"name": "skip-settings",
|
|
2047
|
+
"allowNo": false,
|
|
2048
|
+
"type": "boolean"
|
|
2049
|
+
},
|
|
2050
|
+
"json": {
|
|
2051
|
+
"description": "Output as JSON (matches plan §7.5 schema)",
|
|
2052
|
+
"name": "json",
|
|
2053
|
+
"allowNo": false,
|
|
2054
|
+
"type": "boolean"
|
|
2055
|
+
},
|
|
2056
|
+
"verbose": {
|
|
2057
|
+
"char": "v",
|
|
2058
|
+
"description": "Show progress messages from the fetcher and merger",
|
|
2059
|
+
"name": "verbose",
|
|
2060
|
+
"allowNo": false,
|
|
2061
|
+
"type": "boolean"
|
|
2062
|
+
}
|
|
2063
|
+
},
|
|
2064
|
+
"hasDynamicHelp": false,
|
|
2065
|
+
"hiddenAliases": [],
|
|
2066
|
+
"id": "install:claude",
|
|
2067
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2068
|
+
"pluginName": "@memberjunction/cli",
|
|
2069
|
+
"pluginType": "core",
|
|
2070
|
+
"strict": true,
|
|
2071
|
+
"enableJsonFlag": false,
|
|
2072
|
+
"isESM": true,
|
|
2073
|
+
"relativePath": [
|
|
2074
|
+
"dist",
|
|
2075
|
+
"commands",
|
|
2076
|
+
"install",
|
|
2077
|
+
"claude.js"
|
|
2078
|
+
]
|
|
2079
|
+
},
|
|
2080
|
+
"install": {
|
|
2081
|
+
"aliases": [],
|
|
2082
|
+
"args": {},
|
|
2083
|
+
"description": "Install MemberJunction from a GitHub release",
|
|
2084
|
+
"examples": [
|
|
2085
|
+
"<%= config.bin %> <%= command.id %>",
|
|
2086
|
+
"<%= config.bin %> <%= command.id %> -t v4.3.0",
|
|
2087
|
+
"<%= config.bin %> <%= command.id %> --dry-run",
|
|
2088
|
+
"<%= config.bin %> <%= command.id %> --yes"
|
|
2089
|
+
],
|
|
2090
|
+
"flags": {
|
|
2091
|
+
"tag": {
|
|
2092
|
+
"char": "t",
|
|
2093
|
+
"description": "Release tag to install (e.g. v4.3.0). If omitted, shows a version picker.",
|
|
2094
|
+
"name": "tag",
|
|
2095
|
+
"hasDynamicHelp": false,
|
|
2096
|
+
"multiple": false,
|
|
2097
|
+
"type": "option"
|
|
2098
|
+
},
|
|
2099
|
+
"dir": {
|
|
2100
|
+
"description": "Target directory for the installation",
|
|
2101
|
+
"name": "dir",
|
|
2102
|
+
"default": ".",
|
|
2103
|
+
"hasDynamicHelp": false,
|
|
2104
|
+
"multiple": false,
|
|
2105
|
+
"type": "option"
|
|
2106
|
+
},
|
|
2107
|
+
"config": {
|
|
2108
|
+
"char": "c",
|
|
2109
|
+
"description": "Path to JSON config file with install settings (database, auth, ports, etc.)",
|
|
2110
|
+
"name": "config",
|
|
2111
|
+
"hasDynamicHelp": false,
|
|
2112
|
+
"multiple": false,
|
|
2113
|
+
"type": "option"
|
|
2114
|
+
},
|
|
2115
|
+
"legacy": {
|
|
2116
|
+
"description": "Use the legacy interactive installer (ZIP-only distribution)",
|
|
2117
|
+
"hidden": true,
|
|
2118
|
+
"name": "legacy",
|
|
2119
|
+
"allowNo": false,
|
|
2120
|
+
"type": "boolean"
|
|
2121
|
+
},
|
|
2122
|
+
"dry-run": {
|
|
2123
|
+
"description": "Show the install plan without executing it",
|
|
2124
|
+
"name": "dry-run",
|
|
2125
|
+
"allowNo": false,
|
|
2126
|
+
"type": "boolean"
|
|
2127
|
+
},
|
|
2128
|
+
"yes": {
|
|
2129
|
+
"char": "y",
|
|
2130
|
+
"description": "Non-interactive mode: auto-select latest version and accept defaults",
|
|
2131
|
+
"name": "yes",
|
|
2132
|
+
"allowNo": false,
|
|
2133
|
+
"type": "boolean"
|
|
2134
|
+
},
|
|
2135
|
+
"verbose": {
|
|
2136
|
+
"char": "v",
|
|
2137
|
+
"description": "Show detailed output",
|
|
2138
|
+
"name": "verbose",
|
|
2139
|
+
"allowNo": false,
|
|
2140
|
+
"type": "boolean"
|
|
2141
|
+
},
|
|
2142
|
+
"skip-db": {
|
|
2143
|
+
"description": "Skip database provisioning phases",
|
|
2144
|
+
"name": "skip-db",
|
|
2145
|
+
"allowNo": false,
|
|
2146
|
+
"type": "boolean"
|
|
2147
|
+
},
|
|
2148
|
+
"skip-start": {
|
|
2149
|
+
"description": "Skip service startup and smoke tests",
|
|
2150
|
+
"name": "skip-start",
|
|
2151
|
+
"allowNo": false,
|
|
2152
|
+
"type": "boolean"
|
|
2153
|
+
},
|
|
2154
|
+
"no-resume": {
|
|
2155
|
+
"description": "Ignore any existing checkpoint and start fresh",
|
|
1897
2156
|
"name": "no-resume",
|
|
1898
2157
|
"allowNo": false,
|
|
1899
2158
|
"type": "boolean"
|
|
@@ -1915,6 +2174,12 @@
|
|
|
1915
2174
|
"name": "monorepo",
|
|
1916
2175
|
"allowNo": false,
|
|
1917
2176
|
"type": "boolean"
|
|
2177
|
+
},
|
|
2178
|
+
"no-claude-pack": {
|
|
2179
|
+
"description": "Exclude the Claude Code pack (CLAUDE.md + .claude/ tree) from the scaffold. By default the pack ships with the install so opening Claude Code in your new MJ project gives you the curated MJ-aware experience immediately.",
|
|
2180
|
+
"name": "no-claude-pack",
|
|
2181
|
+
"allowNo": false,
|
|
2182
|
+
"type": "boolean"
|
|
1918
2183
|
}
|
|
1919
2184
|
},
|
|
1920
2185
|
"hasDynamicHelp": false,
|
|
@@ -1936,11 +2201,11 @@
|
|
|
1936
2201
|
"migrate:convert": {
|
|
1937
2202
|
"aliases": [],
|
|
1938
2203
|
"args": {},
|
|
1939
|
-
"description": "Convert T-SQL migrations to PostgreSQL
|
|
2204
|
+
"description": "Convert T-SQL migrations to PostgreSQL",
|
|
1940
2205
|
"examples": [
|
|
1941
|
-
"<%= config.bin %> migrate convert",
|
|
1942
|
-
"<%= config.bin %> migrate convert --dry-run",
|
|
1943
|
-
"<%= config.bin %> migrate convert --file V202604060452__v5.24.x__KnowledgeHub.sql",
|
|
2206
|
+
"<%= config.bin %> migrate convert --split",
|
|
2207
|
+
"<%= config.bin %> migrate convert --split --dry-run",
|
|
2208
|
+
"<%= config.bin %> migrate convert --split --file V202604060452__v5.24.x__KnowledgeHub.sql",
|
|
1944
2209
|
"<%= config.bin %> migrate convert --source-dir ./migrations/v5 --output-dir ./migrations-pg/v5",
|
|
1945
2210
|
"<%= config.bin %> migrate convert --verbose"
|
|
1946
2211
|
],
|
|
@@ -1994,6 +2259,24 @@
|
|
|
1994
2259
|
"name": "verbose",
|
|
1995
2260
|
"allowNo": false,
|
|
1996
2261
|
"type": "boolean"
|
|
2262
|
+
},
|
|
2263
|
+
"split": {
|
|
2264
|
+
"description": "Split-and-regenerate (the standard path): transpile only hand-written DDL via the AST dialect; CodeGen objects are regenerated by `mj codegen` and mj-sync metadata re-seeded by `mj sync push`; every conversion gap is surfaced and fails the run unless --allow-gaps.",
|
|
2265
|
+
"name": "split",
|
|
2266
|
+
"allowNo": false,
|
|
2267
|
+
"type": "boolean"
|
|
2268
|
+
},
|
|
2269
|
+
"allow-gaps": {
|
|
2270
|
+
"description": "With --split: exit 0 even when migrations have conversion gaps (hand-authoring needed or unhandled statements). Gaps are still embedded as comments and listed in the summary.",
|
|
2271
|
+
"name": "allow-gaps",
|
|
2272
|
+
"allowNo": false,
|
|
2273
|
+
"type": "boolean"
|
|
2274
|
+
},
|
|
2275
|
+
"bake-codegen": {
|
|
2276
|
+
"description": "With --split: bake native PG CodeGen objects inline per migration (Path C), so the set deploys with `mj migrate` alone — no `mj codegen` step. Requires a LIVE working PG database (DB_PLATFORM=postgresql + PG_* env, same as `mj codegen`) seeded to the state just BEFORE the migrations being converted (typically the latest baseline); the converter brings it forward in committed order as it bakes. Not compatible with --dry-run.",
|
|
2277
|
+
"name": "bake-codegen",
|
|
2278
|
+
"allowNo": false,
|
|
2279
|
+
"type": "boolean"
|
|
1997
2280
|
}
|
|
1998
2281
|
},
|
|
1999
2282
|
"hasDynamicHelp": false,
|
|
@@ -2141,6 +2424,113 @@
|
|
|
2141
2424
|
"index.js"
|
|
2142
2425
|
]
|
|
2143
2426
|
},
|
|
2427
|
+
"migrate:rebake": {
|
|
2428
|
+
"aliases": [],
|
|
2429
|
+
"args": {},
|
|
2430
|
+
"description": "Re-bake the post-baseline PG migration set with inline native CodeGen",
|
|
2431
|
+
"examples": [
|
|
2432
|
+
"<%= config.bin %> migrate rebake",
|
|
2433
|
+
"<%= config.bin %> migrate rebake --baseline-floor V202605291452 --dry-run"
|
|
2434
|
+
],
|
|
2435
|
+
"flags": {
|
|
2436
|
+
"source-dir": {
|
|
2437
|
+
"description": "Source T-SQL migrations directory",
|
|
2438
|
+
"name": "source-dir",
|
|
2439
|
+
"default": "./migrations/v5",
|
|
2440
|
+
"hasDynamicHelp": false,
|
|
2441
|
+
"multiple": false,
|
|
2442
|
+
"type": "option"
|
|
2443
|
+
},
|
|
2444
|
+
"output-dir": {
|
|
2445
|
+
"description": "PG migrations directory (committed files read here + baked output written here)",
|
|
2446
|
+
"name": "output-dir",
|
|
2447
|
+
"default": "./migrations-pg/v5",
|
|
2448
|
+
"hasDynamicHelp": false,
|
|
2449
|
+
"multiple": false,
|
|
2450
|
+
"type": "option"
|
|
2451
|
+
},
|
|
2452
|
+
"schema": {
|
|
2453
|
+
"description": "Target schema name",
|
|
2454
|
+
"name": "schema",
|
|
2455
|
+
"default": "__mj",
|
|
2456
|
+
"hasDynamicHelp": false,
|
|
2457
|
+
"multiple": false,
|
|
2458
|
+
"type": "option"
|
|
2459
|
+
},
|
|
2460
|
+
"baseline-floor": {
|
|
2461
|
+
"description": "Re-bake migrations strictly AFTER this version key (default: the latest B* in output-dir)",
|
|
2462
|
+
"name": "baseline-floor",
|
|
2463
|
+
"hasDynamicHelp": false,
|
|
2464
|
+
"multiple": false,
|
|
2465
|
+
"type": "option"
|
|
2466
|
+
},
|
|
2467
|
+
"dry-run": {
|
|
2468
|
+
"description": "Report what would be re-baked without writing files",
|
|
2469
|
+
"name": "dry-run",
|
|
2470
|
+
"allowNo": false,
|
|
2471
|
+
"type": "boolean"
|
|
2472
|
+
}
|
|
2473
|
+
},
|
|
2474
|
+
"hasDynamicHelp": false,
|
|
2475
|
+
"hiddenAliases": [],
|
|
2476
|
+
"id": "migrate:rebake",
|
|
2477
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2478
|
+
"pluginName": "@memberjunction/cli",
|
|
2479
|
+
"pluginType": "core",
|
|
2480
|
+
"strict": true,
|
|
2481
|
+
"enableJsonFlag": false,
|
|
2482
|
+
"isESM": true,
|
|
2483
|
+
"relativePath": [
|
|
2484
|
+
"dist",
|
|
2485
|
+
"commands",
|
|
2486
|
+
"migrate",
|
|
2487
|
+
"rebake.js"
|
|
2488
|
+
]
|
|
2489
|
+
},
|
|
2490
|
+
"plugin:add": {
|
|
2491
|
+
"aliases": [],
|
|
2492
|
+
"args": {
|
|
2493
|
+
"package": {
|
|
2494
|
+
"description": "Plugin entry-point specifier (package name, subpath, or relative path)",
|
|
2495
|
+
"name": "package",
|
|
2496
|
+
"required": true
|
|
2497
|
+
}
|
|
2498
|
+
},
|
|
2499
|
+
"description": "Register a CLI plugin package in mj-cli-plugins.json so `mj` loads it at startup.",
|
|
2500
|
+
"examples": [
|
|
2501
|
+
"<%= config.bin %> <%= command.id %> @my-org/mj-plugin/plugins",
|
|
2502
|
+
"<%= config.bin %> <%= command.id %> ./local-plugins/my-tool"
|
|
2503
|
+
],
|
|
2504
|
+
"flags": {
|
|
2505
|
+
"format": {
|
|
2506
|
+
"description": "Output format",
|
|
2507
|
+
"name": "format",
|
|
2508
|
+
"default": "text",
|
|
2509
|
+
"hasDynamicHelp": false,
|
|
2510
|
+
"multiple": false,
|
|
2511
|
+
"options": [
|
|
2512
|
+
"text",
|
|
2513
|
+
"json"
|
|
2514
|
+
],
|
|
2515
|
+
"type": "option"
|
|
2516
|
+
}
|
|
2517
|
+
},
|
|
2518
|
+
"hasDynamicHelp": false,
|
|
2519
|
+
"hiddenAliases": [],
|
|
2520
|
+
"id": "plugin:add",
|
|
2521
|
+
"pluginAlias": "@memberjunction/cli",
|
|
2522
|
+
"pluginName": "@memberjunction/cli",
|
|
2523
|
+
"pluginType": "core",
|
|
2524
|
+
"strict": true,
|
|
2525
|
+
"enableJsonFlag": false,
|
|
2526
|
+
"isESM": true,
|
|
2527
|
+
"relativePath": [
|
|
2528
|
+
"dist",
|
|
2529
|
+
"commands",
|
|
2530
|
+
"plugin",
|
|
2531
|
+
"add.js"
|
|
2532
|
+
]
|
|
2533
|
+
},
|
|
2144
2534
|
"querygen:export": {
|
|
2145
2535
|
"aliases": [],
|
|
2146
2536
|
"args": {},
|
|
@@ -2605,13 +2995,36 @@
|
|
|
2605
2995
|
"description": "Pull metadata from database to local files",
|
|
2606
2996
|
"examples": [
|
|
2607
2997
|
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Prompts\"",
|
|
2608
|
-
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Prompts\" --filter=\"CategoryID='customer-service-id'\"",
|
|
2609
2998
|
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Agents\" --merge-strategy=overwrite",
|
|
2610
|
-
"<%= config.bin %> <%= command.id %> --entity=\"
|
|
2611
|
-
"<%= config.bin %> <%= command.id %> --entity=\"Templates\" --dry-run --verbose",
|
|
2612
|
-
"<%= config.bin %> <%= command.id %> --entity=\"MJ: AI Prompts\" --exclude-fields=InternalNotes,DebugInfo"
|
|
2999
|
+
"<%= config.bin %> <%= command.id %> --entity=\"Templates\" --dry-run --verbose"
|
|
2613
3000
|
],
|
|
2614
3001
|
"flags": {
|
|
3002
|
+
"format": {
|
|
3003
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
|
|
3004
|
+
"name": "format",
|
|
3005
|
+
"default": "text",
|
|
3006
|
+
"hasDynamicHelp": false,
|
|
3007
|
+
"multiple": false,
|
|
3008
|
+
"options": [
|
|
3009
|
+
"text",
|
|
3010
|
+
"json",
|
|
3011
|
+
"md"
|
|
3012
|
+
],
|
|
3013
|
+
"type": "option"
|
|
3014
|
+
},
|
|
3015
|
+
"verbose": {
|
|
3016
|
+
"char": "v",
|
|
3017
|
+
"description": "Show detailed output",
|
|
3018
|
+
"name": "verbose",
|
|
3019
|
+
"allowNo": false,
|
|
3020
|
+
"type": "boolean"
|
|
3021
|
+
},
|
|
3022
|
+
"no-banner": {
|
|
3023
|
+
"description": "Suppress the startup banner and runtime advisory",
|
|
3024
|
+
"name": "no-banner",
|
|
3025
|
+
"allowNo": false,
|
|
3026
|
+
"type": "boolean"
|
|
3027
|
+
},
|
|
2615
3028
|
"entity": {
|
|
2616
3029
|
"description": "Entity name to pull",
|
|
2617
3030
|
"name": "entity",
|
|
@@ -2640,13 +3053,6 @@
|
|
|
2640
3053
|
"multiple": false,
|
|
2641
3054
|
"type": "option"
|
|
2642
3055
|
},
|
|
2643
|
-
"verbose": {
|
|
2644
|
-
"char": "v",
|
|
2645
|
-
"description": "Show detailed output",
|
|
2646
|
-
"name": "verbose",
|
|
2647
|
-
"allowNo": false,
|
|
2648
|
-
"type": "boolean"
|
|
2649
|
-
},
|
|
2650
3056
|
"no-validate": {
|
|
2651
3057
|
"description": "Skip validation before pull",
|
|
2652
3058
|
"name": "no-validate",
|
|
@@ -2719,7 +3125,7 @@
|
|
|
2719
3125
|
"type": "boolean"
|
|
2720
3126
|
},
|
|
2721
3127
|
"since": {
|
|
2722
|
-
"description": "Only pull records updated after this ISO 8601 timestamp
|
|
3128
|
+
"description": "Only pull records updated after this ISO 8601 timestamp",
|
|
2723
3129
|
"name": "since",
|
|
2724
3130
|
"hasDynamicHelp": false,
|
|
2725
3131
|
"multiple": false,
|
|
@@ -2734,6 +3140,48 @@
|
|
|
2734
3140
|
"pluginType": "core",
|
|
2735
3141
|
"strict": true,
|
|
2736
3142
|
"enableJsonFlag": false,
|
|
3143
|
+
"Usage": {
|
|
3144
|
+
"domain": "sync",
|
|
3145
|
+
"command": "sync:pull",
|
|
3146
|
+
"summary": "Pull database records into local metadata files.",
|
|
3147
|
+
"description": "Writes records of --entity into the matching entity directory, creating or updating files per the merge strategy.",
|
|
3148
|
+
"flags": [
|
|
3149
|
+
{
|
|
3150
|
+
"name": "--entity",
|
|
3151
|
+
"type": "string",
|
|
3152
|
+
"description": "Entity name to pull (required)"
|
|
3153
|
+
},
|
|
3154
|
+
{
|
|
3155
|
+
"name": "--filter",
|
|
3156
|
+
"type": "string",
|
|
3157
|
+
"description": "Extra SQL filter for which records to pull"
|
|
3158
|
+
},
|
|
3159
|
+
{
|
|
3160
|
+
"name": "--merge-strategy",
|
|
3161
|
+
"type": "merge|overwrite|skip",
|
|
3162
|
+
"description": "How to reconcile existing files"
|
|
3163
|
+
},
|
|
3164
|
+
{
|
|
3165
|
+
"name": "--dry-run",
|
|
3166
|
+
"type": "boolean",
|
|
3167
|
+
"description": "Report what would be pulled without writing"
|
|
3168
|
+
},
|
|
3169
|
+
{
|
|
3170
|
+
"name": "--format",
|
|
3171
|
+
"type": "text|json|md",
|
|
3172
|
+
"description": "Output format (json for machine-readable result)"
|
|
3173
|
+
}
|
|
3174
|
+
],
|
|
3175
|
+
"examples": [
|
|
3176
|
+
"mj sync pull --entity=\"MJ: AI Prompts\"",
|
|
3177
|
+
"mj sync pull --entity=\"Actions\" --format=json"
|
|
3178
|
+
],
|
|
3179
|
+
"runtime": {
|
|
3180
|
+
"class": "variable",
|
|
3181
|
+
"typicalSeconds": 15,
|
|
3182
|
+
"note": "scales with number of records matched for --entity"
|
|
3183
|
+
}
|
|
3184
|
+
},
|
|
2737
3185
|
"isESM": true,
|
|
2738
3186
|
"relativePath": [
|
|
2739
3187
|
"dist",
|
|
@@ -2750,9 +3198,35 @@
|
|
|
2750
3198
|
"<%= config.bin %> <%= command.id %>",
|
|
2751
3199
|
"<%= config.bin %> <%= command.id %> --dry-run",
|
|
2752
3200
|
"<%= config.bin %> <%= command.id %> --dir=\"ai-prompts\"",
|
|
2753
|
-
"<%= config.bin %> <%= command.id %> --ci"
|
|
3201
|
+
"<%= config.bin %> <%= command.id %> --ci --format=json"
|
|
2754
3202
|
],
|
|
2755
3203
|
"flags": {
|
|
3204
|
+
"format": {
|
|
3205
|
+
"description": "Output format: text (human), json (machine-readable), md (Markdown-fenced)",
|
|
3206
|
+
"name": "format",
|
|
3207
|
+
"default": "text",
|
|
3208
|
+
"hasDynamicHelp": false,
|
|
3209
|
+
"multiple": false,
|
|
3210
|
+
"options": [
|
|
3211
|
+
"text",
|
|
3212
|
+
"json",
|
|
3213
|
+
"md"
|
|
3214
|
+
],
|
|
3215
|
+
"type": "option"
|
|
3216
|
+
},
|
|
3217
|
+
"verbose": {
|
|
3218
|
+
"char": "v",
|
|
3219
|
+
"description": "Show detailed output",
|
|
3220
|
+
"name": "verbose",
|
|
3221
|
+
"allowNo": false,
|
|
3222
|
+
"type": "boolean"
|
|
3223
|
+
},
|
|
3224
|
+
"no-banner": {
|
|
3225
|
+
"description": "Suppress the startup banner and runtime advisory",
|
|
3226
|
+
"name": "no-banner",
|
|
3227
|
+
"allowNo": false,
|
|
3228
|
+
"type": "boolean"
|
|
3229
|
+
},
|
|
2756
3230
|
"dir": {
|
|
2757
3231
|
"description": "Specific entity directory to push",
|
|
2758
3232
|
"name": "dir",
|
|
@@ -2772,13 +3246,6 @@
|
|
|
2772
3246
|
"allowNo": false,
|
|
2773
3247
|
"type": "boolean"
|
|
2774
3248
|
},
|
|
2775
|
-
"verbose": {
|
|
2776
|
-
"char": "v",
|
|
2777
|
-
"description": "Show detailed field-level output",
|
|
2778
|
-
"name": "verbose",
|
|
2779
|
-
"allowNo": false,
|
|
2780
|
-
"type": "boolean"
|
|
2781
|
-
},
|
|
2782
3249
|
"no-validate": {
|
|
2783
3250
|
"description": "Skip validation before push",
|
|
2784
3251
|
"name": "no-validate",
|
|
@@ -2834,6 +3301,53 @@
|
|
|
2834
3301
|
"pluginType": "core",
|
|
2835
3302
|
"strict": true,
|
|
2836
3303
|
"enableJsonFlag": false,
|
|
3304
|
+
"Usage": {
|
|
3305
|
+
"domain": "sync",
|
|
3306
|
+
"command": "sync:push",
|
|
3307
|
+
"summary": "Push local metadata files to the database (upsert).",
|
|
3308
|
+
"description": "Reads entity directories under --dir and creates/updates matching records. Runs validation first unless --no-validate.",
|
|
3309
|
+
"flags": [
|
|
3310
|
+
{
|
|
3311
|
+
"name": "--dir",
|
|
3312
|
+
"type": "string",
|
|
3313
|
+
"description": "Entity directory to push"
|
|
3314
|
+
},
|
|
3315
|
+
{
|
|
3316
|
+
"name": "--dry-run",
|
|
3317
|
+
"type": "boolean",
|
|
3318
|
+
"description": "Report what would change without writing"
|
|
3319
|
+
},
|
|
3320
|
+
{
|
|
3321
|
+
"name": "--ci",
|
|
3322
|
+
"type": "boolean",
|
|
3323
|
+
"description": "No prompts; non-zero exit on error"
|
|
3324
|
+
},
|
|
3325
|
+
{
|
|
3326
|
+
"name": "--no-validate",
|
|
3327
|
+
"type": "boolean",
|
|
3328
|
+
"description": "Skip pre-push validation"
|
|
3329
|
+
},
|
|
3330
|
+
{
|
|
3331
|
+
"name": "--incremental",
|
|
3332
|
+
"type": "boolean",
|
|
3333
|
+
"description": "Skip unchanged files using stored checksums"
|
|
3334
|
+
},
|
|
3335
|
+
{
|
|
3336
|
+
"name": "--format",
|
|
3337
|
+
"type": "text|json|md",
|
|
3338
|
+
"description": "Output format (json for machine-readable result)"
|
|
3339
|
+
}
|
|
3340
|
+
],
|
|
3341
|
+
"examples": [
|
|
3342
|
+
"mj sync push --dir=ai-agents",
|
|
3343
|
+
"mj sync push --ci --format=json"
|
|
3344
|
+
],
|
|
3345
|
+
"runtime": {
|
|
3346
|
+
"class": "variable",
|
|
3347
|
+
"typicalSeconds": 20,
|
|
3348
|
+
"note": "scales with number of records in --dir"
|
|
3349
|
+
}
|
|
3350
|
+
},
|
|
2837
3351
|
"isESM": true,
|
|
2838
3352
|
"relativePath": [
|
|
2839
3353
|
"dist",
|
|
@@ -2897,6 +3411,41 @@
|
|
|
2897
3411
|
"status.js"
|
|
2898
3412
|
]
|
|
2899
3413
|
},
|
|
3414
|
+
"sync:usage": {
|
|
3415
|
+
"aliases": [],
|
|
3416
|
+
"args": {},
|
|
3417
|
+
"description": "Show usage, flags, examples, and runtime hints for every `mj sync` command.",
|
|
3418
|
+
"flags": {
|
|
3419
|
+
"format": {
|
|
3420
|
+
"description": "Output format",
|
|
3421
|
+
"name": "format",
|
|
3422
|
+
"default": "text",
|
|
3423
|
+
"hasDynamicHelp": false,
|
|
3424
|
+
"multiple": false,
|
|
3425
|
+
"options": [
|
|
3426
|
+
"text",
|
|
3427
|
+
"json",
|
|
3428
|
+
"md"
|
|
3429
|
+
],
|
|
3430
|
+
"type": "option"
|
|
3431
|
+
}
|
|
3432
|
+
},
|
|
3433
|
+
"hasDynamicHelp": false,
|
|
3434
|
+
"hiddenAliases": [],
|
|
3435
|
+
"id": "sync:usage",
|
|
3436
|
+
"pluginAlias": "@memberjunction/cli",
|
|
3437
|
+
"pluginName": "@memberjunction/cli",
|
|
3438
|
+
"pluginType": "core",
|
|
3439
|
+
"strict": true,
|
|
3440
|
+
"enableJsonFlag": false,
|
|
3441
|
+
"isESM": true,
|
|
3442
|
+
"relativePath": [
|
|
3443
|
+
"dist",
|
|
3444
|
+
"commands",
|
|
3445
|
+
"sync",
|
|
3446
|
+
"usage.js"
|
|
3447
|
+
]
|
|
3448
|
+
},
|
|
2900
3449
|
"sync:validate": {
|
|
2901
3450
|
"aliases": [],
|
|
2902
3451
|
"args": {},
|
|
@@ -3718,6 +4267,144 @@
|
|
|
3718
4267
|
"index.js"
|
|
3719
4268
|
]
|
|
3720
4269
|
},
|
|
4270
|
+
"update:claude": {
|
|
4271
|
+
"aliases": [],
|
|
4272
|
+
"args": {},
|
|
4273
|
+
"description": "Update the Claude Code pack in the current directory.",
|
|
4274
|
+
"examples": [
|
|
4275
|
+
"<%= config.bin %> update:claude",
|
|
4276
|
+
"<%= config.bin %> update:claude --check",
|
|
4277
|
+
"<%= config.bin %> update:claude --refresh-commands",
|
|
4278
|
+
"<%= config.bin %> update:claude --allow-major",
|
|
4279
|
+
"<%= config.bin %> update:claude --json"
|
|
4280
|
+
],
|
|
4281
|
+
"flags": {
|
|
4282
|
+
"dir": {
|
|
4283
|
+
"description": "Target directory",
|
|
4284
|
+
"name": "dir",
|
|
4285
|
+
"default": ".",
|
|
4286
|
+
"hasDynamicHelp": false,
|
|
4287
|
+
"multiple": false,
|
|
4288
|
+
"type": "option"
|
|
4289
|
+
},
|
|
4290
|
+
"major": {
|
|
4291
|
+
"description": "Force a specific MJ major (default: detected from package.json)",
|
|
4292
|
+
"name": "major",
|
|
4293
|
+
"hasDynamicHelp": false,
|
|
4294
|
+
"multiple": false,
|
|
4295
|
+
"type": "option"
|
|
4296
|
+
},
|
|
4297
|
+
"ref": {
|
|
4298
|
+
"description": "Git ref to fetch from (branch or tag). Default: main.",
|
|
4299
|
+
"name": "ref",
|
|
4300
|
+
"hasDynamicHelp": false,
|
|
4301
|
+
"multiple": false,
|
|
4302
|
+
"type": "option"
|
|
4303
|
+
},
|
|
4304
|
+
"from": {
|
|
4305
|
+
"description": "Use a local pack source instead of fetching from GitHub",
|
|
4306
|
+
"name": "from",
|
|
4307
|
+
"hasDynamicHelp": false,
|
|
4308
|
+
"multiple": false,
|
|
4309
|
+
"type": "option"
|
|
4310
|
+
},
|
|
4311
|
+
"offline": {
|
|
4312
|
+
"description": "Forbid network; requires --from <path>",
|
|
4313
|
+
"name": "offline",
|
|
4314
|
+
"allowNo": false,
|
|
4315
|
+
"type": "boolean"
|
|
4316
|
+
},
|
|
4317
|
+
"dry-run": {
|
|
4318
|
+
"description": "Print what would be written; change nothing",
|
|
4319
|
+
"name": "dry-run",
|
|
4320
|
+
"allowNo": false,
|
|
4321
|
+
"type": "boolean"
|
|
4322
|
+
},
|
|
4323
|
+
"yes": {
|
|
4324
|
+
"char": "y",
|
|
4325
|
+
"description": "Don't prompt (reserved for future interactive paths; currently no-op)",
|
|
4326
|
+
"name": "yes",
|
|
4327
|
+
"allowNo": false,
|
|
4328
|
+
"type": "boolean"
|
|
4329
|
+
},
|
|
4330
|
+
"force": {
|
|
4331
|
+
"description": "Overwrite user-customized commands/skills (saves .bak files)",
|
|
4332
|
+
"name": "force",
|
|
4333
|
+
"allowNo": false,
|
|
4334
|
+
"type": "boolean"
|
|
4335
|
+
},
|
|
4336
|
+
"skip-commands": {
|
|
4337
|
+
"description": "Skip seeding .claude/commands/",
|
|
4338
|
+
"name": "skip-commands",
|
|
4339
|
+
"allowNo": false,
|
|
4340
|
+
"type": "boolean"
|
|
4341
|
+
},
|
|
4342
|
+
"skip-skills": {
|
|
4343
|
+
"description": "Skip seeding .claude/skills/",
|
|
4344
|
+
"name": "skip-skills",
|
|
4345
|
+
"allowNo": false,
|
|
4346
|
+
"type": "boolean"
|
|
4347
|
+
},
|
|
4348
|
+
"skip-settings": {
|
|
4349
|
+
"description": "Skip merging .claude/settings.json",
|
|
4350
|
+
"name": "skip-settings",
|
|
4351
|
+
"allowNo": false,
|
|
4352
|
+
"type": "boolean"
|
|
4353
|
+
},
|
|
4354
|
+
"check": {
|
|
4355
|
+
"description": "Compare local pack version to remote without writing anything",
|
|
4356
|
+
"name": "check",
|
|
4357
|
+
"allowNo": false,
|
|
4358
|
+
"type": "boolean"
|
|
4359
|
+
},
|
|
4360
|
+
"refresh-commands": {
|
|
4361
|
+
"description": "Force-resync .claude/commands/* from the pack (saves .bak files)",
|
|
4362
|
+
"name": "refresh-commands",
|
|
4363
|
+
"allowNo": false,
|
|
4364
|
+
"type": "boolean"
|
|
4365
|
+
},
|
|
4366
|
+
"refresh-skills": {
|
|
4367
|
+
"description": "Force-resync .claude/skills/** from the pack (saves .bak files)",
|
|
4368
|
+
"name": "refresh-skills",
|
|
4369
|
+
"allowNo": false,
|
|
4370
|
+
"type": "boolean"
|
|
4371
|
+
},
|
|
4372
|
+
"allow-major": {
|
|
4373
|
+
"description": "Allow the remote pack's major to differ from local MJ's major",
|
|
4374
|
+
"name": "allow-major",
|
|
4375
|
+
"allowNo": false,
|
|
4376
|
+
"type": "boolean"
|
|
4377
|
+
},
|
|
4378
|
+
"json": {
|
|
4379
|
+
"description": "Output as JSON (matches plan §7.5 schema)",
|
|
4380
|
+
"name": "json",
|
|
4381
|
+
"allowNo": false,
|
|
4382
|
+
"type": "boolean"
|
|
4383
|
+
},
|
|
4384
|
+
"verbose": {
|
|
4385
|
+
"char": "v",
|
|
4386
|
+
"description": "Show progress messages",
|
|
4387
|
+
"name": "verbose",
|
|
4388
|
+
"allowNo": false,
|
|
4389
|
+
"type": "boolean"
|
|
4390
|
+
}
|
|
4391
|
+
},
|
|
4392
|
+
"hasDynamicHelp": false,
|
|
4393
|
+
"hiddenAliases": [],
|
|
4394
|
+
"id": "update:claude",
|
|
4395
|
+
"pluginAlias": "@memberjunction/cli",
|
|
4396
|
+
"pluginName": "@memberjunction/cli",
|
|
4397
|
+
"pluginType": "core",
|
|
4398
|
+
"strict": true,
|
|
4399
|
+
"enableJsonFlag": false,
|
|
4400
|
+
"isESM": true,
|
|
4401
|
+
"relativePath": [
|
|
4402
|
+
"dist",
|
|
4403
|
+
"commands",
|
|
4404
|
+
"update",
|
|
4405
|
+
"claude.js"
|
|
4406
|
+
]
|
|
4407
|
+
},
|
|
3721
4408
|
"ai:actions:list": {
|
|
3722
4409
|
"aliases": [],
|
|
3723
4410
|
"args": {},
|
|
@@ -4766,5 +5453,5 @@
|
|
|
4766
5453
|
]
|
|
4767
5454
|
}
|
|
4768
5455
|
},
|
|
4769
|
-
"version": "5.
|
|
5456
|
+
"version": "5.43.0"
|
|
4770
5457
|
}
|