@quonfig/cli 0.0.2 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +306 -29
- package/bin/dev.js +5 -9
- package/bin/dev.mjs +6 -0
- package/dist/codegen/zod-introspection.js +13 -4
- package/dist/commands/config-schema.d.ts +10 -0
- package/dist/commands/config-schema.js +165 -0
- package/dist/commands/create.js +22 -1
- package/dist/commands/info.js +17 -2
- package/dist/commands/login.js +27 -6
- package/dist/commands/mcp.js +1 -1
- package/dist/commands/pull.d.ts +15 -0
- package/dist/commands/pull.js +191 -0
- package/dist/commands/serve.js +3 -1
- package/dist/commands/set-default.js +78 -15
- package/dist/commands/set-rollout.d.ts +19 -0
- package/dist/commands/set-rollout.js +260 -0
- package/dist/commands/sync.d.ts +18 -0
- package/dist/commands/sync.js +142 -0
- package/dist/commands/whoami.js +4 -1
- package/dist/commands/workspace/bootstrap.d.ts +13 -0
- package/dist/commands/workspace/bootstrap.js +155 -0
- package/dist/init/init-workspace.js +4 -4
- package/dist/init/templates.js +1 -1
- package/dist/util/coerce.js +2 -1
- package/dist/util/get-client.js +6 -44
- package/dist/util/get-valid-token.d.ts +5 -0
- package/dist/util/get-valid-token.js +44 -0
- package/dist/util/git-ops.d.ts +32 -0
- package/dist/util/git-ops.js +164 -0
- package/dist/util/gitea-api.d.ts +11 -0
- package/dist/util/gitea-api.js +45 -0
- package/dist/util/gitea-token-storage.d.ts +8 -0
- package/dist/util/gitea-token-storage.js +47 -0
- package/dist/util/token-storage.d.ts +1 -0
- package/dist/util/token-storage.js +24 -10
- package/dist/verify/validate.d.ts +1 -0
- package/dist/verify/validate.js +136 -6
- package/oclif.manifest.json +404 -9
- package/package.json +2 -2
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"commands": {
|
|
3
|
+
"config-schema": {
|
|
4
|
+
"aliases": [],
|
|
5
|
+
"args": {},
|
|
6
|
+
"description": "Print the config file format reference: rules engine, operators, targeting criteria, segments, and weighted rollouts. Use --json-schema for the machine-readable JSON Schema document.",
|
|
7
|
+
"examples": [
|
|
8
|
+
"<%= config.bin %> <%= command.id %> # human-readable operator reference + examples",
|
|
9
|
+
"<%= config.bin %> <%= command.id %> --json-schema # full JSON Schema document (copy into your editor)"
|
|
10
|
+
],
|
|
11
|
+
"flags": {
|
|
12
|
+
"json": {
|
|
13
|
+
"description": "Format output as json.",
|
|
14
|
+
"helpGroup": "GLOBAL",
|
|
15
|
+
"name": "json",
|
|
16
|
+
"allowNo": false,
|
|
17
|
+
"type": "boolean"
|
|
18
|
+
},
|
|
19
|
+
"interactive": {
|
|
20
|
+
"description": "Force interactive mode",
|
|
21
|
+
"helpGroup": "GLOBAL",
|
|
22
|
+
"name": "interactive",
|
|
23
|
+
"allowNo": true,
|
|
24
|
+
"type": "boolean"
|
|
25
|
+
},
|
|
26
|
+
"no-color": {
|
|
27
|
+
"description": "Do not colorize output",
|
|
28
|
+
"env": "NO_COLOR",
|
|
29
|
+
"helpGroup": "GLOBAL",
|
|
30
|
+
"name": "no-color",
|
|
31
|
+
"allowNo": false,
|
|
32
|
+
"type": "boolean"
|
|
33
|
+
},
|
|
34
|
+
"verbose": {
|
|
35
|
+
"description": "Verbose output",
|
|
36
|
+
"helpGroup": "GLOBAL",
|
|
37
|
+
"name": "verbose",
|
|
38
|
+
"allowNo": false,
|
|
39
|
+
"type": "boolean"
|
|
40
|
+
},
|
|
41
|
+
"json-schema": {
|
|
42
|
+
"description": "Output the full JSON Schema document for config files instead of the human-readable reference",
|
|
43
|
+
"name": "json-schema",
|
|
44
|
+
"allowNo": false,
|
|
45
|
+
"type": "boolean"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"hasDynamicHelp": false,
|
|
49
|
+
"hiddenAliases": [],
|
|
50
|
+
"id": "config-schema",
|
|
51
|
+
"pluginAlias": "@quonfig/cli",
|
|
52
|
+
"pluginName": "@quonfig/cli",
|
|
53
|
+
"pluginType": "core",
|
|
54
|
+
"strict": true,
|
|
55
|
+
"enableJsonFlag": true,
|
|
56
|
+
"isESM": true,
|
|
57
|
+
"relativePath": [
|
|
58
|
+
"dist",
|
|
59
|
+
"commands",
|
|
60
|
+
"config-schema.js"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
3
63
|
"create": {
|
|
4
64
|
"aliases": [],
|
|
5
65
|
"args": {
|
|
@@ -9,14 +69,16 @@
|
|
|
9
69
|
"required": true
|
|
10
70
|
}
|
|
11
71
|
},
|
|
12
|
-
"description": "Create a new item
|
|
72
|
+
"description": "Create a new feature flag, config value, or other item.\n\nUse --type to specify the kind of item:\n boolean-flag On/off feature flag (sendToClientSdk defaults to true; best for gradual rollouts)\n string A string configuration value\n int An integer configuration value\n double A floating-point configuration value\n string-list A comma-separated list of strings\n json An arbitrary JSON blob\n boolean A plain boolean (not a feature flag)\n\nThis sets the global default value. Override per-environment with:\n qfg set-default my.flag --environment production --value true\n\nFor a percentage rollout (gradual rollout / A/B test / canary deploy), use:\n qfg set-rollout my.flag --environment production --true-percent 20\n\nOr edit the JSON config file directly for complex targeting rules:\n qfg config-schema # full operator reference + examples\n qfg pull --dir ./config # clone workspace, then edit JSON and git push",
|
|
13
73
|
"examples": [
|
|
14
74
|
"<%= config.bin %> <%= command.id %> my.new.flag --type boolean-flag",
|
|
15
75
|
"<%= config.bin %> <%= command.id %> my.new.flag --type boolean-flag --value=true",
|
|
16
76
|
"<%= config.bin %> <%= command.id %> my.new.string --type string --value=\"hello world\"",
|
|
17
77
|
"<%= config.bin %> <%= command.id %> my.new.string --type string --value=\"hello world\" --secret",
|
|
18
78
|
"<%= config.bin %> <%= command.id %> my.new.string --type string --env-var=MY_ENV_VAR_NAME",
|
|
19
|
-
"<%= config.bin %> <%= command.id %> my.new.string --type json --value=\"{\\\"key\\\": \\\"value\\\"}\""
|
|
79
|
+
"<%= config.bin %> <%= command.id %> my.new.string --type json --value=\"{\\\"key\\\": \\\"value\\\"}\"",
|
|
80
|
+
"# After creating a flag, set a 20% rollout in production:",
|
|
81
|
+
"<%= config.bin %> set-rollout my.new.flag --environment production --true-percent 20"
|
|
20
82
|
],
|
|
21
83
|
"flags": {
|
|
22
84
|
"json": {
|
|
@@ -425,9 +487,10 @@
|
|
|
425
487
|
"name": "name"
|
|
426
488
|
}
|
|
427
489
|
},
|
|
428
|
-
"description": "Show
|
|
490
|
+
"description": "Show current values, rules, and evaluation stats for a flag or config.\n\nOutput shows the value for each environment:\n - A simple value (true / false / \"hello\") means a single unconditional rule.\n - \"[see rules]\" means the environment has targeting rules or a percentage rollout.\n - \"[inherit]\" means the environment falls back to the Default value.\n\nPercentage rollouts are displayed as \"20.0% true, 80.0% false\".\nEvaluation counts for the past 24 hours are included by default.\n\nRelated commands:\n qfg set-default my.flag --environment production --value true # set a scalar fallback\n qfg set-rollout my.flag --environment production --true-percent 20 # set a % rollout",
|
|
429
491
|
"examples": [
|
|
430
|
-
"<%= config.bin %> <%= command.id %> my.config.name"
|
|
492
|
+
"<%= config.bin %> <%= command.id %> my.config.name",
|
|
493
|
+
"<%= config.bin %> <%= command.id %> my.config.name --exclude-evaluations # skip 24h stats"
|
|
431
494
|
],
|
|
432
495
|
"flags": {
|
|
433
496
|
"json": {
|
|
@@ -834,7 +897,7 @@
|
|
|
834
897
|
"examples": [
|
|
835
898
|
"<%= config.bin %> <%= command.id %>",
|
|
836
899
|
"<%= config.bin %> <%= command.id %> --editor cursor",
|
|
837
|
-
"<%= config.bin %> <%= command.id %> --url http://local-app.
|
|
900
|
+
"<%= config.bin %> <%= command.id %> --url http://local-app.quonfig-staging.com:3003/api/v1/mcp"
|
|
838
901
|
],
|
|
839
902
|
"flags": {
|
|
840
903
|
"json": {
|
|
@@ -1044,6 +1107,74 @@
|
|
|
1044
1107
|
"profile.js"
|
|
1045
1108
|
]
|
|
1046
1109
|
},
|
|
1110
|
+
"pull": {
|
|
1111
|
+
"aliases": [],
|
|
1112
|
+
"args": {},
|
|
1113
|
+
"description": "Clone or update a local copy of your workspace config files.\n\nUse this when you need to edit flag JSON directly — for complex targeting rules,\nmulti-rule configs, or anything beyond a single scalar value.\n\nFor the config file format, operator reference, and examples:\n qfg config-schema # human-readable reference\n qfg config-schema --json-schema # machine-readable JSON Schema\n\nAfter editing files:\n qfg verify <dir> # validate JSON before pushing\n git -C <dir> add -A && git -C <dir> commit -m \"feat: ...\" && git -C <dir> push\n\nCLI shortcuts (no JSON editing needed for simple cases):\n qfg set-rollout my.flag --environment production --true-percent 20\n qfg set-default my.flag --environment production --value true",
|
|
1114
|
+
"examples": [
|
|
1115
|
+
"<%= config.bin %> pull --dir ./our-config",
|
|
1116
|
+
"<%= config.bin %> pull # uses QUONFIG_DIR env var"
|
|
1117
|
+
],
|
|
1118
|
+
"flags": {
|
|
1119
|
+
"json": {
|
|
1120
|
+
"description": "Format output as json.",
|
|
1121
|
+
"helpGroup": "GLOBAL",
|
|
1122
|
+
"name": "json",
|
|
1123
|
+
"allowNo": false,
|
|
1124
|
+
"type": "boolean"
|
|
1125
|
+
},
|
|
1126
|
+
"interactive": {
|
|
1127
|
+
"description": "Force interactive mode",
|
|
1128
|
+
"helpGroup": "GLOBAL",
|
|
1129
|
+
"name": "interactive",
|
|
1130
|
+
"allowNo": true,
|
|
1131
|
+
"type": "boolean"
|
|
1132
|
+
},
|
|
1133
|
+
"no-color": {
|
|
1134
|
+
"description": "Do not colorize output",
|
|
1135
|
+
"env": "NO_COLOR",
|
|
1136
|
+
"helpGroup": "GLOBAL",
|
|
1137
|
+
"name": "no-color",
|
|
1138
|
+
"allowNo": false,
|
|
1139
|
+
"type": "boolean"
|
|
1140
|
+
},
|
|
1141
|
+
"verbose": {
|
|
1142
|
+
"description": "Verbose output",
|
|
1143
|
+
"helpGroup": "GLOBAL",
|
|
1144
|
+
"name": "verbose",
|
|
1145
|
+
"allowNo": false,
|
|
1146
|
+
"type": "boolean"
|
|
1147
|
+
},
|
|
1148
|
+
"dir": {
|
|
1149
|
+
"description": "Local directory to clone/update (defaults to QUONFIG_DIR env var)",
|
|
1150
|
+
"name": "dir",
|
|
1151
|
+
"hasDynamicHelp": false,
|
|
1152
|
+
"multiple": false,
|
|
1153
|
+
"type": "option"
|
|
1154
|
+
},
|
|
1155
|
+
"workspace": {
|
|
1156
|
+
"description": "Workspace ID (defaults to active profile)",
|
|
1157
|
+
"name": "workspace",
|
|
1158
|
+
"hasDynamicHelp": false,
|
|
1159
|
+
"multiple": false,
|
|
1160
|
+
"type": "option"
|
|
1161
|
+
}
|
|
1162
|
+
},
|
|
1163
|
+
"hasDynamicHelp": false,
|
|
1164
|
+
"hiddenAliases": [],
|
|
1165
|
+
"id": "pull",
|
|
1166
|
+
"pluginAlias": "@quonfig/cli",
|
|
1167
|
+
"pluginName": "@quonfig/cli",
|
|
1168
|
+
"pluginType": "core",
|
|
1169
|
+
"strict": true,
|
|
1170
|
+
"enableJsonFlag": true,
|
|
1171
|
+
"isESM": true,
|
|
1172
|
+
"relativePath": [
|
|
1173
|
+
"dist",
|
|
1174
|
+
"commands",
|
|
1175
|
+
"pull.js"
|
|
1176
|
+
]
|
|
1177
|
+
},
|
|
1047
1178
|
"schema": {
|
|
1048
1179
|
"aliases": [],
|
|
1049
1180
|
"args": {
|
|
@@ -1216,12 +1347,15 @@
|
|
|
1216
1347
|
"name": "name"
|
|
1217
1348
|
}
|
|
1218
1349
|
},
|
|
1219
|
-
"description": "Set
|
|
1350
|
+
"description": "Set the unconditional fallback value for a flag or config in a specific environment.\n\nThis updates the catch-all rule — the value users receive when NO targeting rule matches.\nAny targeting rules or percentage rollouts you have configured are NOT affected; they\ncontinue to fire before this fallback is evaluated.\n\n\"Other rules still apply\" means: if you have rules targeting specific users, segments,\nor properties, those rules still take priority. This command only changes what everyone\nelse sees.\n\nTo set a percentage rollout (gradual rollout / A/B test / canary deploy) instead:\n qfg set-rollout my.flag --environment production --true-percent 20\n\nTo see all current values and rules for a flag:\n qfg info my.flag",
|
|
1220
1351
|
"examples": [
|
|
1221
|
-
"<%= config.bin %> <%= command.id %> my.flag.name
|
|
1352
|
+
"<%= config.bin %> <%= command.id %> my.flag.name # prompts for value and env",
|
|
1222
1353
|
"<%= config.bin %> <%= command.id %> my.flag.name --value=true --environment=staging",
|
|
1354
|
+
"<%= config.bin %> <%= command.id %> my.flag.name --value=false --environment=production # kill-switch: turn off for everyone",
|
|
1223
1355
|
"<%= config.bin %> <%= command.id %> my.flag.name --value=true --secret",
|
|
1224
|
-
"<%= config.bin %> <%= command.id %> my.config.name --env-var=MY_ENV_VAR_NAME --environment=production"
|
|
1356
|
+
"<%= config.bin %> <%= command.id %> my.config.name --env-var=MY_ENV_VAR_NAME --environment=production",
|
|
1357
|
+
"# For a percentage rollout, use set-rollout instead:",
|
|
1358
|
+
"<%= config.bin %> set-rollout my.flag.name --environment production --true-percent 20"
|
|
1225
1359
|
],
|
|
1226
1360
|
"flags": {
|
|
1227
1361
|
"json": {
|
|
@@ -1326,6 +1460,191 @@
|
|
|
1326
1460
|
"set-default.js"
|
|
1327
1461
|
]
|
|
1328
1462
|
},
|
|
1463
|
+
"set-rollout": {
|
|
1464
|
+
"aliases": [],
|
|
1465
|
+
"args": {
|
|
1466
|
+
"name": {
|
|
1467
|
+
"description": "config/feature-flag/etc. name",
|
|
1468
|
+
"name": "name"
|
|
1469
|
+
}
|
|
1470
|
+
},
|
|
1471
|
+
"description": "Configure a percentage rollout (gradual rollout / A/B test / canary deploy) for a flag.\n\nThe flag must already exist. Create it first if needed:\n qfg create my.flag --type boolean-flag\n\nWeights are specified as whole-number percentages (0–100). They must sum to 100.\n\nFor a boolean flag, use --true-percent to set the percentage of users that receive\ntrue (the remainder automatically receive false):\n qfg set-rollout my.flag --environment production --true-percent 20\n → 20% of users get true, 80% get false\n\nFor multi-value flags or custom splits, use --weights with a comma-separated list:\n qfg set-rollout my.flag --environment production --weights \"red:33,green:33,blue:34\"\n\nHashing: users are bucketed by the value of hashByPropertyName (default: \"user.key\").\nUse --hash-by to change which property drives the bucket assignment:\n qfg set-rollout my.flag --environment production --true-percent 10 --hash-by user.id\n\nFor scripted / agent use, add --confirm to skip the interactive confirmation prompt.\n\nTo combine a rollout with segment targeting (e.g. beta ON, holdout OFF, everyone else 50/50),\nyou need to edit the JSON config file directly:\n qfg config-schema # operator reference + worked multi-rule example\n qfg pull --dir ./config # clone workspace to edit\n\nTo revert to a single value for everyone, use:\n qfg set-default my.flag --environment production --value false\n\nTo inspect the current rollout:\n qfg info my.flag",
|
|
1472
|
+
"examples": [
|
|
1473
|
+
"<%= config.bin %> <%= command.id %> my.feature.flag --environment production --true-percent 20",
|
|
1474
|
+
"<%= config.bin %> <%= command.id %> my.feature.flag --environment staging --true-percent 50",
|
|
1475
|
+
"<%= config.bin %> <%= command.id %> my.feature.flag --environment production --true-percent 100 # full rollout",
|
|
1476
|
+
"<%= config.bin %> <%= command.id %> my.feature.flag --environment production --true-percent 0 # kill switch (all false)",
|
|
1477
|
+
"<%= config.bin %> <%= command.id %> my.variant.flag --environment production --weights \"control:50,treatment:50\"",
|
|
1478
|
+
"<%= config.bin %> <%= command.id %> my.variant.flag --environment production --weights \"a:33,b:33,c:34\" --hash-by user.id"
|
|
1479
|
+
],
|
|
1480
|
+
"flags": {
|
|
1481
|
+
"json": {
|
|
1482
|
+
"description": "Format output as json.",
|
|
1483
|
+
"helpGroup": "GLOBAL",
|
|
1484
|
+
"name": "json",
|
|
1485
|
+
"allowNo": false,
|
|
1486
|
+
"type": "boolean"
|
|
1487
|
+
},
|
|
1488
|
+
"interactive": {
|
|
1489
|
+
"description": "Force interactive mode",
|
|
1490
|
+
"helpGroup": "GLOBAL",
|
|
1491
|
+
"name": "interactive",
|
|
1492
|
+
"allowNo": true,
|
|
1493
|
+
"type": "boolean"
|
|
1494
|
+
},
|
|
1495
|
+
"no-color": {
|
|
1496
|
+
"description": "Do not colorize output",
|
|
1497
|
+
"env": "NO_COLOR",
|
|
1498
|
+
"helpGroup": "GLOBAL",
|
|
1499
|
+
"name": "no-color",
|
|
1500
|
+
"allowNo": false,
|
|
1501
|
+
"type": "boolean"
|
|
1502
|
+
},
|
|
1503
|
+
"verbose": {
|
|
1504
|
+
"description": "Verbose output",
|
|
1505
|
+
"helpGroup": "GLOBAL",
|
|
1506
|
+
"name": "verbose",
|
|
1507
|
+
"allowNo": false,
|
|
1508
|
+
"type": "boolean"
|
|
1509
|
+
},
|
|
1510
|
+
"profile": {
|
|
1511
|
+
"char": "p",
|
|
1512
|
+
"description": "Profile to use (defaults to ENV var QUONFIG_PROFILE or \"default\")",
|
|
1513
|
+
"helpGroup": "GLOBAL",
|
|
1514
|
+
"name": "profile",
|
|
1515
|
+
"required": false,
|
|
1516
|
+
"hasDynamicHelp": false,
|
|
1517
|
+
"multiple": false,
|
|
1518
|
+
"type": "option"
|
|
1519
|
+
},
|
|
1520
|
+
"environment": {
|
|
1521
|
+
"description": "environment to update (e.g. production, staging)",
|
|
1522
|
+
"name": "environment",
|
|
1523
|
+
"hasDynamicHelp": false,
|
|
1524
|
+
"multiple": false,
|
|
1525
|
+
"type": "option"
|
|
1526
|
+
},
|
|
1527
|
+
"hash-by": {
|
|
1528
|
+
"description": "user property used to assign buckets (default: user.key)",
|
|
1529
|
+
"name": "hash-by",
|
|
1530
|
+
"default": "user.key",
|
|
1531
|
+
"hasDynamicHelp": false,
|
|
1532
|
+
"multiple": false,
|
|
1533
|
+
"type": "option"
|
|
1534
|
+
},
|
|
1535
|
+
"true-percent": {
|
|
1536
|
+
"description": "percentage of users that receive true (0–100). Remaining users receive false. Boolean flags only.",
|
|
1537
|
+
"name": "true-percent",
|
|
1538
|
+
"hasDynamicHelp": false,
|
|
1539
|
+
"multiple": false,
|
|
1540
|
+
"type": "option"
|
|
1541
|
+
},
|
|
1542
|
+
"weights": {
|
|
1543
|
+
"description": "comma-separated \"value:percent\" pairs that must sum to 100 (e.g. \"true:20,false:80\" or \"red:33,green:33,blue:34\")",
|
|
1544
|
+
"name": "weights",
|
|
1545
|
+
"hasDynamicHelp": false,
|
|
1546
|
+
"multiple": false,
|
|
1547
|
+
"type": "option"
|
|
1548
|
+
},
|
|
1549
|
+
"confirm": {
|
|
1550
|
+
"description": "skip the interactive confirmation prompt (useful for scripts and agents)",
|
|
1551
|
+
"name": "confirm",
|
|
1552
|
+
"allowNo": false,
|
|
1553
|
+
"type": "boolean"
|
|
1554
|
+
}
|
|
1555
|
+
},
|
|
1556
|
+
"hasDynamicHelp": false,
|
|
1557
|
+
"hiddenAliases": [],
|
|
1558
|
+
"id": "set-rollout",
|
|
1559
|
+
"pluginAlias": "@quonfig/cli",
|
|
1560
|
+
"pluginName": "@quonfig/cli",
|
|
1561
|
+
"pluginType": "core",
|
|
1562
|
+
"strict": true,
|
|
1563
|
+
"enableJsonFlag": true,
|
|
1564
|
+
"isESM": true,
|
|
1565
|
+
"relativePath": [
|
|
1566
|
+
"dist",
|
|
1567
|
+
"commands",
|
|
1568
|
+
"set-rollout.js"
|
|
1569
|
+
]
|
|
1570
|
+
},
|
|
1571
|
+
"sync": {
|
|
1572
|
+
"aliases": [],
|
|
1573
|
+
"args": {},
|
|
1574
|
+
"description": "Continuously poll for workspace config updates and apply them locally",
|
|
1575
|
+
"examples": [
|
|
1576
|
+
"<%= config.bin %> sync --watch",
|
|
1577
|
+
"<%= config.bin %> sync --watch --interval 10",
|
|
1578
|
+
"<%= config.bin %> sync --watch --dir ./our-config --interval 30"
|
|
1579
|
+
],
|
|
1580
|
+
"flags": {
|
|
1581
|
+
"json": {
|
|
1582
|
+
"description": "Format output as json.",
|
|
1583
|
+
"helpGroup": "GLOBAL",
|
|
1584
|
+
"name": "json",
|
|
1585
|
+
"allowNo": false,
|
|
1586
|
+
"type": "boolean"
|
|
1587
|
+
},
|
|
1588
|
+
"interactive": {
|
|
1589
|
+
"description": "Force interactive mode",
|
|
1590
|
+
"helpGroup": "GLOBAL",
|
|
1591
|
+
"name": "interactive",
|
|
1592
|
+
"allowNo": true,
|
|
1593
|
+
"type": "boolean"
|
|
1594
|
+
},
|
|
1595
|
+
"no-color": {
|
|
1596
|
+
"description": "Do not colorize output",
|
|
1597
|
+
"env": "NO_COLOR",
|
|
1598
|
+
"helpGroup": "GLOBAL",
|
|
1599
|
+
"name": "no-color",
|
|
1600
|
+
"allowNo": false,
|
|
1601
|
+
"type": "boolean"
|
|
1602
|
+
},
|
|
1603
|
+
"verbose": {
|
|
1604
|
+
"description": "Verbose output",
|
|
1605
|
+
"helpGroup": "GLOBAL",
|
|
1606
|
+
"name": "verbose",
|
|
1607
|
+
"allowNo": false,
|
|
1608
|
+
"type": "boolean"
|
|
1609
|
+
},
|
|
1610
|
+
"dir": {
|
|
1611
|
+
"description": "Local directory to sync (defaults to QUONFIG_DIR env var)",
|
|
1612
|
+
"name": "dir",
|
|
1613
|
+
"hasDynamicHelp": false,
|
|
1614
|
+
"multiple": false,
|
|
1615
|
+
"type": "option"
|
|
1616
|
+
},
|
|
1617
|
+
"interval": {
|
|
1618
|
+
"description": "Poll interval in seconds",
|
|
1619
|
+
"name": "interval",
|
|
1620
|
+
"default": 60,
|
|
1621
|
+
"hasDynamicHelp": false,
|
|
1622
|
+
"multiple": false,
|
|
1623
|
+
"type": "option"
|
|
1624
|
+
},
|
|
1625
|
+
"watch": {
|
|
1626
|
+
"description": "Run as a continuous polling daemon (required)",
|
|
1627
|
+
"name": "watch",
|
|
1628
|
+
"required": true,
|
|
1629
|
+
"allowNo": false,
|
|
1630
|
+
"type": "boolean"
|
|
1631
|
+
}
|
|
1632
|
+
},
|
|
1633
|
+
"hasDynamicHelp": false,
|
|
1634
|
+
"hiddenAliases": [],
|
|
1635
|
+
"id": "sync",
|
|
1636
|
+
"pluginAlias": "@quonfig/cli",
|
|
1637
|
+
"pluginName": "@quonfig/cli",
|
|
1638
|
+
"pluginType": "core",
|
|
1639
|
+
"strict": true,
|
|
1640
|
+
"enableJsonFlag": true,
|
|
1641
|
+
"isESM": true,
|
|
1642
|
+
"relativePath": [
|
|
1643
|
+
"dist",
|
|
1644
|
+
"commands",
|
|
1645
|
+
"sync.js"
|
|
1646
|
+
]
|
|
1647
|
+
},
|
|
1329
1648
|
"verify": {
|
|
1330
1649
|
"aliases": [],
|
|
1331
1650
|
"args": {
|
|
@@ -1498,7 +1817,83 @@
|
|
|
1498
1817
|
"commands",
|
|
1499
1818
|
"workspace.js"
|
|
1500
1819
|
]
|
|
1820
|
+
},
|
|
1821
|
+
"workspace:bootstrap": {
|
|
1822
|
+
"aliases": [],
|
|
1823
|
+
"args": {},
|
|
1824
|
+
"description": "Push a local git repo to Gitea as this workspace's config repository",
|
|
1825
|
+
"examples": [
|
|
1826
|
+
"<%= config.bin %> workspace bootstrap --dir ./our-config",
|
|
1827
|
+
"<%= config.bin %> workspace bootstrap --dir ./launch-migrator/output",
|
|
1828
|
+
"<%= config.bin %> workspace bootstrap --dir ./our-config --skip-validate"
|
|
1829
|
+
],
|
|
1830
|
+
"flags": {
|
|
1831
|
+
"json": {
|
|
1832
|
+
"description": "Format output as json.",
|
|
1833
|
+
"helpGroup": "GLOBAL",
|
|
1834
|
+
"name": "json",
|
|
1835
|
+
"allowNo": false,
|
|
1836
|
+
"type": "boolean"
|
|
1837
|
+
},
|
|
1838
|
+
"interactive": {
|
|
1839
|
+
"description": "Force interactive mode",
|
|
1840
|
+
"helpGroup": "GLOBAL",
|
|
1841
|
+
"name": "interactive",
|
|
1842
|
+
"allowNo": true,
|
|
1843
|
+
"type": "boolean"
|
|
1844
|
+
},
|
|
1845
|
+
"no-color": {
|
|
1846
|
+
"description": "Do not colorize output",
|
|
1847
|
+
"env": "NO_COLOR",
|
|
1848
|
+
"helpGroup": "GLOBAL",
|
|
1849
|
+
"name": "no-color",
|
|
1850
|
+
"allowNo": false,
|
|
1851
|
+
"type": "boolean"
|
|
1852
|
+
},
|
|
1853
|
+
"verbose": {
|
|
1854
|
+
"description": "Verbose output",
|
|
1855
|
+
"helpGroup": "GLOBAL",
|
|
1856
|
+
"name": "verbose",
|
|
1857
|
+
"allowNo": false,
|
|
1858
|
+
"type": "boolean"
|
|
1859
|
+
},
|
|
1860
|
+
"dir": {
|
|
1861
|
+
"description": "Local directory to push (defaults to current directory)",
|
|
1862
|
+
"name": "dir",
|
|
1863
|
+
"required": false,
|
|
1864
|
+
"hasDynamicHelp": false,
|
|
1865
|
+
"multiple": false,
|
|
1866
|
+
"type": "option"
|
|
1867
|
+
},
|
|
1868
|
+
"force": {
|
|
1869
|
+
"description": "Force push even if remote already has commits",
|
|
1870
|
+
"name": "force",
|
|
1871
|
+
"allowNo": false,
|
|
1872
|
+
"type": "boolean"
|
|
1873
|
+
},
|
|
1874
|
+
"skip-validate": {
|
|
1875
|
+
"description": "Skip config validation before pushing",
|
|
1876
|
+
"name": "skip-validate",
|
|
1877
|
+
"allowNo": false,
|
|
1878
|
+
"type": "boolean"
|
|
1879
|
+
}
|
|
1880
|
+
},
|
|
1881
|
+
"hasDynamicHelp": false,
|
|
1882
|
+
"hiddenAliases": [],
|
|
1883
|
+
"id": "workspace:bootstrap",
|
|
1884
|
+
"pluginAlias": "@quonfig/cli",
|
|
1885
|
+
"pluginName": "@quonfig/cli",
|
|
1886
|
+
"pluginType": "core",
|
|
1887
|
+
"strict": true,
|
|
1888
|
+
"enableJsonFlag": true,
|
|
1889
|
+
"isESM": true,
|
|
1890
|
+
"relativePath": [
|
|
1891
|
+
"dist",
|
|
1892
|
+
"commands",
|
|
1893
|
+
"workspace",
|
|
1894
|
+
"bootstrap.js"
|
|
1895
|
+
]
|
|
1501
1896
|
}
|
|
1502
1897
|
},
|
|
1503
|
-
"version": "0.0.
|
|
1898
|
+
"version": "0.0.5"
|
|
1504
1899
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageManager": "yarn@4.11.0+sha512.4e54aeace9141df2f0177c266b05ec50dc044638157dae128c471ba65994ac802122d7ab35bcd9e81641228b7dcf24867d28e750e0bcae8a05277d600008ad54",
|
|
3
3
|
"name": "@quonfig/cli",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.5",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/quonfig/cli/issues"
|
|
7
7
|
},
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@oclif/core": "^3.18.2",
|
|
22
22
|
"@oclif/plugin-help": "^6",
|
|
23
23
|
"@oclif/plugin-plugins": "^4",
|
|
24
|
-
"@quonfig/node": "^0.0.
|
|
24
|
+
"@quonfig/node": "^0.0.2",
|
|
25
25
|
"acorn": "^8.10.0",
|
|
26
26
|
"acorn-walk": "^8.2.0",
|
|
27
27
|
"chalk": "^5.4.1",
|