@quonfig/cli 0.2.2 → 0.3.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.
Files changed (34) hide show
  1. package/README.md +195 -60
  2. package/dist/agent/install-skill.d.ts +37 -0
  3. package/dist/agent/install-skill.js +110 -0
  4. package/dist/agent/skill-bundle.generated.d.ts +6 -0
  5. package/dist/agent/skill-bundle.generated.js +21 -0
  6. package/dist/codegen/json-schema-to-zod.js +99 -24
  7. package/dist/codegen/language-mappers/zod-to-typescript-mapper.js +4 -2
  8. package/dist/commands/agent/install-skill.d.ts +12 -0
  9. package/dist/commands/agent/install-skill.js +83 -0
  10. package/dist/commands/cleanup/list.js +2 -1
  11. package/dist/commands/cleanup/remove.js +17 -6
  12. package/dist/commands/cleanup/status.js +2 -2
  13. package/dist/commands/cleanup.js +4 -3
  14. package/dist/commands/config-schema.js +3 -0
  15. package/dist/commands/contexts/search.d.ts +15 -0
  16. package/dist/commands/contexts/search.js +78 -0
  17. package/dist/commands/contexts.d.ts +6 -0
  18. package/dist/commands/contexts.js +10 -0
  19. package/dist/commands/override.js +19 -1
  20. package/dist/commands/set-default.js +20 -4
  21. package/dist/init/schema.js +4 -1
  22. package/dist/init/templates.js +17 -36
  23. package/dist/util/coerce.d.ts +1 -1
  24. package/dist/util/coerce.js +10 -19
  25. package/dist/util/encryption.js +3 -1
  26. package/dist/verify/schema-error-reshape.d.ts +5 -0
  27. package/dist/verify/schema-error-reshape.js +23 -0
  28. package/dist/verify/validate.js +41 -5
  29. package/dist/verify/value-grammar.d.ts +13 -0
  30. package/dist/verify/value-grammar.js +63 -0
  31. package/dist/version.d.ts +1 -1
  32. package/dist/version.js +1 -1
  33. package/oclif.manifest.json +239 -6
  34. package/package.json +2 -3
package/README.md CHANGED
@@ -17,7 +17,7 @@ $ npm install -g @quonfig/cli
17
17
  $ qfg COMMAND
18
18
  running command...
19
19
  $ qfg (--version)
20
- @quonfig/cli/0.2.2 linux-x64 node-v24.4.1
20
+ @quonfig/cli/0.3.0 linux-x64 node-v24.4.1
21
21
  $ qfg --help [COMMAND]
22
22
  USAGE
23
23
  $ qfg COMMAND
@@ -125,6 +125,7 @@ script doesn't need to know which env it's running in.
125
125
  * [`qfg activity feed`](#qfg-activity-feed)
126
126
  * [`qfg activity history [NAME]`](#qfg-activity-history-name)
127
127
  * [`qfg activity restore [NAME]`](#qfg-activity-restore-name)
128
+ * [`qfg agent install-skill`](#qfg-agent-install-skill)
128
129
  * [`qfg audit-log [NAME]`](#qfg-audit-log-name)
129
130
  * [`qfg cleanup`](#qfg-cleanup)
130
131
  * [`qfg cleanup list`](#qfg-cleanup-list)
@@ -132,6 +133,8 @@ script doesn't need to know which env it's running in.
132
133
  * [`qfg cleanup status [NAME]`](#qfg-cleanup-status-name)
133
134
  * [`qfg cleanup verify [NAME]`](#qfg-cleanup-verify-name)
134
135
  * [`qfg config-schema`](#qfg-config-schema)
136
+ * [`qfg contexts`](#qfg-contexts)
137
+ * [`qfg contexts search CONTEXTTYPE QUERY`](#qfg-contexts-search-contexttype-query)
135
138
  * [`qfg create NAME`](#qfg-create-name)
136
139
  * [`qfg delete NAME`](#qfg-delete-name)
137
140
  * [`qfg flag info [NAME]`](#qfg-flag-info-name)
@@ -201,7 +204,7 @@ EXAMPLES
201
204
  $ qfg activity restore my.flag --yes
202
205
  ```
203
206
 
204
- _See code: [src/commands/activity.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/activity.ts)_
207
+ _See code: [src/commands/activity.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/activity.ts)_
205
208
 
206
209
  ## `qfg activity deleted`
207
210
 
@@ -230,7 +233,7 @@ EXAMPLES
230
233
  $ qfg activity deleted --json
231
234
  ```
232
235
 
233
- _See code: [src/commands/activity/deleted.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/activity/deleted.ts)_
236
+ _See code: [src/commands/activity/deleted.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/activity/deleted.ts)_
234
237
 
235
238
  ## `qfg activity feed`
236
239
 
@@ -265,7 +268,7 @@ EXAMPLES
265
268
  $ qfg activity feed --json
266
269
  ```
267
270
 
268
- _See code: [src/commands/activity/feed.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/activity/feed.ts)_
271
+ _See code: [src/commands/activity/feed.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/activity/feed.ts)_
269
272
 
270
273
  ## `qfg activity history [NAME]`
271
274
 
@@ -299,7 +302,7 @@ EXAMPLES
299
302
  $ qfg activity history request.timeout --json
300
303
  ```
301
304
 
302
- _See code: [src/commands/activity/history.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/activity/history.ts)_
305
+ _See code: [src/commands/activity/history.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/activity/history.ts)_
303
306
 
304
307
  ## `qfg activity restore [NAME]`
305
308
 
@@ -338,7 +341,52 @@ EXAMPLES
338
341
  $ qfg activity restore request.timeout --type config --yes
339
342
  ```
340
343
 
341
- _See code: [src/commands/activity/restore.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/activity/restore.ts)_
344
+ _See code: [src/commands/activity/restore.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/activity/restore.ts)_
345
+
346
+ ## `qfg agent install-skill`
347
+
348
+ Install the Quonfig agent skill into this repo so coding agents use Quonfig correctly.
349
+
350
+ ```
351
+ USAGE
352
+ $ qfg agent install-skill [--json] [--interactive] [--no-color] [--verbose] [--add-pointer] [--dir <value>] [--force]
353
+
354
+ FLAGS
355
+ --add-pointer Also append a one-line pointer to the skill in ./AGENTS.md (created if missing)
356
+ --dir=<value> [default: .claude/skills] Skills directory to install into, relative to the current directory
357
+ --force Overwrite skill files you have edited locally
358
+
359
+ GLOBAL FLAGS
360
+ --[no-]interactive Force interactive mode
361
+ --json Format output as json.
362
+ --no-color Do not colorize output
363
+ --verbose Verbose output
364
+
365
+ DESCRIPTION
366
+ Install the Quonfig agent skill into this repo so coding agents use Quonfig correctly.
367
+
368
+ Writes .claude/skills/quonfig/ (SKILL.md + references/) — the same files as
369
+ `claude plugin install quonfig@quonfig` from github.com/quonfig/skills, embedded
370
+ in this qfg build (no network). Claude Code picks the skill up automatically;
371
+ for Codex, Cursor and other agents that read AGENTS.md, add --add-pointer.
372
+
373
+ Safe to re-run: files still as qfg wrote them are upgraded in place, files you
374
+ edited are left alone (the command fails and lists them) unless you pass --force.
375
+
376
+ This skill is for APPLICATION repos (SDK + qfg + MCP usage). A workspace repo
377
+ created by `qfg init` has its own AGENTS.md/CLAUDE.md for editing config JSON.
378
+
379
+ EXAMPLES
380
+ $ qfg agent install-skill
381
+
382
+ $ qfg agent install-skill --add-pointer
383
+
384
+ $ qfg agent install-skill --dir .agents/skills
385
+
386
+ $ qfg agent install-skill --force
387
+ ```
388
+
389
+ _See code: [src/commands/agent/install-skill.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/agent/install-skill.ts)_
342
390
 
343
391
  ## `qfg audit-log [NAME]`
344
392
 
@@ -366,7 +414,7 @@ EXAMPLES
366
414
  $ qfg audit-log my.flag
367
415
  ```
368
416
 
369
- _See code: [src/commands/audit-log.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/audit-log.ts)_
417
+ _See code: [src/commands/audit-log.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/audit-log.ts)_
370
418
 
371
419
  ## `qfg cleanup`
372
420
 
@@ -387,14 +435,15 @@ DESCRIPTION
387
435
 
388
436
  The cleanup workflow turns a flag's "Ready for cleanup" marker into an end-to-end
389
437
  removal flow: surface the flags that are safe to retire, hand the actual code
390
- removal to the qfg-flag-cleanup Claude skill, then delete the flag definition
391
- once the call sites are gone.
438
+ removal to your coding agent with the Quonfig agent skill (install it with
439
+ `qfg agent install-skill`), then delete the flag definition once the call
440
+ sites are gone.
392
441
 
393
442
  Lifecycle (high-level):
394
443
  1. Owner flips readyForCleanup=true in the UI (already exists)
395
444
  2. qfg cleanup list see candidates + telemetry
396
445
  3. qfg cleanup status <key> drill into one flag
397
- 4. qfg cleanup remove <key> handoff to the cleanup skill
446
+ 4. qfg cleanup remove <key> handoff to the agent skill
398
447
  5. PR merges, SDK redeploys, telemetry confirms 0 evals
399
448
  6. qfg cleanup verify <key> (optional) confirm safe
400
449
  7. qfg delete <key> remove the flag definition
@@ -407,7 +456,7 @@ EXAMPLES
407
456
  $ qfg cleanup status my.flag.key
408
457
  ```
409
458
 
410
- _See code: [src/commands/cleanup.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/cleanup.ts)_
459
+ _See code: [src/commands/cleanup.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/cleanup.ts)_
411
460
 
412
461
  ## `qfg cleanup list`
413
462
 
@@ -445,7 +494,8 @@ DESCRIPTION
445
494
  above plus the raw eval counts your agent can reason about itself.
446
495
 
447
496
  Once you've picked a candidate, run `qfg cleanup status <key>` for the
448
- drill-in or hand off the removal to the qfg-flag-cleanup Claude skill.
497
+ drill-in, or `qfg cleanup remove <key>` to hand the removal to your coding agent
498
+ with the Quonfig agent skill.
449
499
 
450
500
  EXAMPLES
451
501
  $ qfg cleanup list
@@ -453,11 +503,11 @@ EXAMPLES
453
503
  $ qfg cleanup list --json
454
504
  ```
455
505
 
456
- _See code: [src/commands/cleanup/list.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/cleanup/list.ts)_
506
+ _See code: [src/commands/cleanup/list.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/cleanup/list.ts)_
457
507
 
458
508
  ## `qfg cleanup remove [NAME]`
459
509
 
460
- Write a cleanup payload for a ready-for-cleanup flag and hand off to the qfg-flag-cleanup Claude skill.
510
+ Write a cleanup payload for a ready-for-cleanup flag and hand off to the Quonfig agent skill.
461
511
 
462
512
  ```
463
513
  USAGE
@@ -477,14 +527,16 @@ GLOBAL FLAGS
477
527
  --verbose Verbose output
478
528
 
479
529
  DESCRIPTION
480
- Write a cleanup payload for a ready-for-cleanup flag and hand off to the qfg-flag-cleanup Claude skill.
530
+ Write a cleanup payload for a ready-for-cleanup flag and hand off to the Quonfig agent skill.
481
531
 
482
532
  Modeled on `qfg migrate my-code` — this command never edits source files
483
533
  itself. It validates that the flag is marked readyForCleanup=true, refuses to
484
534
  proceed if there are still evals_2d > 0 (use --force to override), writes
485
535
  `.qf/cleanup/<key>.json` describing the flag's current rule shape +
486
- telemetry, and prints instructions to invoke the qfg-flag-cleanup skill which
487
- asks the engineer which value should "win" and applies the inlining.
536
+ telemetry, and prints how to have your coding agent remove the call sites with
537
+ the quonfig agent skill (its references/retire-a-flag.md), which asks the
538
+ engineer which value should "win" and applies the inlining. Install the skill
539
+ with `qfg agent install-skill` or `claude plugin install quonfig@quonfig`.
488
540
 
489
541
  The payload deliberately does NOT suggest a winning value; that's the
490
542
  engineer's call. Run `qfg cleanup status <key>` first if you want to inspect
@@ -498,7 +550,7 @@ EXAMPLES
498
550
  $ qfg cleanup remove my.flag.key --json
499
551
  ```
500
552
 
501
- _See code: [src/commands/cleanup/remove.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/cleanup/remove.ts)_
553
+ _See code: [src/commands/cleanup/remove.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/cleanup/remove.ts)_
502
554
 
503
555
  ## `qfg cleanup status [NAME]`
504
556
 
@@ -524,13 +576,13 @@ DESCRIPTION
524
576
  Drill into one ready-for-cleanup flag — show telemetry across all environments and the current rule shape.
525
577
 
526
578
  Use this after `qfg cleanup list` to inspect a specific flag before handing
527
- removal off to the qfg-flag-cleanup Claude skill. The eval counts come from
579
+ removal off to the Quonfig agent skill. The eval counts come from
528
580
  analytics.configSparklines (the same backing data the per-flag sparklines on
529
581
  the flag detail page use), summed into 24h/2d/7d/30d windows so you can decide
530
582
  whether it's safe to retire.
531
583
 
532
584
  Pass --json for the structured object including the full rule shape per
533
- environment — the cleanup skill consumes this directly.
585
+ environment — the agent skill consumes this directly.
534
586
 
535
587
  EXAMPLES
536
588
  $ qfg cleanup status my.flag.key
@@ -538,7 +590,7 @@ EXAMPLES
538
590
  $ qfg cleanup status my.flag.key --json
539
591
  ```
540
592
 
541
- _See code: [src/commands/cleanup/status.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/cleanup/status.ts)_
593
+ _See code: [src/commands/cleanup/status.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/cleanup/status.ts)_
542
594
 
543
595
  ## `qfg cleanup verify [NAME]`
544
596
 
@@ -584,7 +636,7 @@ EXAMPLES
584
636
  $ qfg cleanup verify my.flag.key && qfg delete my.flag.key
585
637
  ```
586
638
 
587
- _See code: [src/commands/cleanup/verify.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/cleanup/verify.ts)_
639
+ _See code: [src/commands/cleanup/verify.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/cleanup/verify.ts)_
588
640
 
589
641
  ## `qfg config-schema`
590
642
 
@@ -613,7 +665,82 @@ EXAMPLES
613
665
  $ qfg config-schema --json-schema # full JSON Schema document (copy into your editor)
614
666
  ```
615
667
 
616
- _See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/config-schema.ts)_
668
+ _See code: [src/commands/config-schema.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/config-schema.ts)_
669
+
670
+ ## `qfg contexts`
671
+
672
+ Look up contexts (organizations, users, ...) your SDKs have reported, to target them by key.
673
+
674
+ ```
675
+ USAGE
676
+ $ qfg contexts [--json] [--interactive] [--no-color] [--verbose]
677
+
678
+ GLOBAL FLAGS
679
+ --[no-]interactive Force interactive mode
680
+ --json Format output as json.
681
+ --no-color Do not colorize output
682
+ --verbose Verbose output
683
+
684
+ DESCRIPTION
685
+ Look up contexts (organizations, users, ...) your SDKs have reported, to target them by key.
686
+
687
+ EXAMPLES
688
+ $ qfg contexts search organization formhealth
689
+ ```
690
+
691
+ _See code: [src/commands/contexts.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/contexts.ts)_
692
+
693
+ ## `qfg contexts search CONTEXTTYPE QUERY`
694
+
695
+ Find a context's key from a name, to target it in a rule.
696
+
697
+ ```
698
+ USAGE
699
+ $ qfg contexts search CONTEXTTYPE QUERY [--json] [--interactive] [--no-color] [--verbose] [-w <value>]
700
+ [--environment <value>] [--limit <value>]
701
+
702
+ ARGUMENTS
703
+ CONTEXTTYPE Context type to search, e.g. organization or user (the part before ".key" in a rule)
704
+ QUERY Case-insensitive text matched against each context key and its reported properties (e.g. a name)
705
+
706
+ FLAGS
707
+ --environment=<value> Only contexts reported from this environment (default: every environment)
708
+ --limit=<value> [default: 20] Maximum number of matches (1-100)
709
+
710
+ GLOBAL FLAGS
711
+ -w, --workspace=<value> Workspace slug to use (overrides QUONFIG_WORKSPACE env var and saved default)
712
+ --[no-]interactive Force interactive mode
713
+ --json Format output as json.
714
+ --no-color Do not colorize output
715
+ --verbose Verbose output
716
+
717
+ DESCRIPTION
718
+ Find a context's key from a name, to target it in a rule.
719
+
720
+ Targeting rules should match a context by its KEY (<contextType>.key, e.g.
721
+ organization.key or user.key), not by a slug, email or name. This searches the
722
+ contexts your SDKs have reported through telemetry, matching the query against
723
+ each context's key and properties, and prints each match's key, its name and
724
+ its email (blank when the context reported none), most recently seen first.
725
+
726
+ Only contexts your SDKs have reported are searchable. If nothing matches, the key
727
+ is unknown: get it from whoever owns that customer rather than targeting a slug
728
+ or email instead.
729
+
730
+ Pass a key as the query to see its name and email.
731
+
732
+ --json prints {contexts: [{key, name, email?}]}: name is null when the context
733
+ reported no name, and email is present only when it reported one.
734
+
735
+ EXAMPLES
736
+ $ qfg contexts search organization formhealth
737
+
738
+ $ qfg contexts search user barry@example.com --environment production
739
+
740
+ $ qfg contexts search organization formhealth --json
741
+ ```
742
+
743
+ _See code: [src/commands/contexts/search.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/contexts/search.ts)_
617
744
 
618
745
  ## `qfg create NAME`
619
746
 
@@ -700,7 +827,7 @@ EXAMPLES
700
827
  $ qfg set-rollout my.new.flag --environment production --true-percent 20
701
828
  ```
702
829
 
703
- _See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/create.ts)_
830
+ _See code: [src/commands/create.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/create.ts)_
704
831
 
705
832
  ## `qfg delete NAME`
706
833
 
@@ -746,7 +873,7 @@ EXAMPLES
746
873
  $ qfg delete my.config --yes
747
874
  ```
748
875
 
749
- _See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/delete.ts)_
876
+ _See code: [src/commands/delete.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/delete.ts)_
750
877
 
751
878
  ## `qfg flag info [NAME]`
752
879
 
@@ -950,7 +1077,7 @@ EXAMPLES
950
1077
  $ qfg generate --targets node-ts -o ./dist # combine with targets
951
1078
  ```
952
1079
 
953
- _See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/generate.ts)_
1080
+ _See code: [src/commands/generate.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/generate.ts)_
954
1081
 
955
1082
  ## `qfg generate-new-hex-key`
956
1083
 
@@ -973,7 +1100,7 @@ EXAMPLES
973
1100
  $ qfg generate-new-hex-key
974
1101
  ```
975
1102
 
976
- _See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/generate-new-hex-key.ts)_
1103
+ _See code: [src/commands/generate-new-hex-key.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/generate-new-hex-key.ts)_
977
1104
 
978
1105
  ## `qfg get [NAME]`
979
1106
 
@@ -1005,7 +1132,7 @@ EXAMPLES
1005
1132
  $ qfg get my.config.name --environment=production
1006
1133
  ```
1007
1134
 
1008
- _See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/get.ts)_
1135
+ _See code: [src/commands/get.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/get.ts)_
1009
1136
 
1010
1137
  ## `qfg history NAME`
1011
1138
 
@@ -1031,7 +1158,7 @@ EXAMPLES
1031
1158
  $ qfg history my.flag
1032
1159
  ```
1033
1160
 
1034
- _See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/history.ts)_
1161
+ _See code: [src/commands/history.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/history.ts)_
1035
1162
 
1036
1163
  ## `qfg info [NAME]`
1037
1164
 
@@ -1079,7 +1206,7 @@ EXAMPLES
1079
1206
  $ qfg info my.config.name --exclude-evaluations # skip 24h stats
1080
1207
  ```
1081
1208
 
1082
- _See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/info.ts)_
1209
+ _See code: [src/commands/info.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/info.ts)_
1083
1210
 
1084
1211
  ## `qfg init [DIRECTORY]`
1085
1212
 
@@ -1119,7 +1246,7 @@ EXAMPLES
1119
1246
  $ qfg init --dry-run
1120
1247
  ```
1121
1248
 
1122
- _See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/init.ts)_
1249
+ _See code: [src/commands/init.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/init.ts)_
1123
1250
 
1124
1251
  ## `qfg interactive`
1125
1252
 
@@ -1149,7 +1276,7 @@ EXAMPLES
1149
1276
  $ qfg
1150
1277
  ```
1151
1278
 
1152
- _See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/interactive.ts)_
1279
+ _See code: [src/commands/interactive.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/interactive.ts)_
1153
1280
 
1154
1281
  ## `qfg list`
1155
1282
 
@@ -1189,7 +1316,7 @@ EXAMPLES
1189
1316
  $ qfg list --feature-flags
1190
1317
  ```
1191
1318
 
1192
- _See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/list.ts)_
1319
+ _See code: [src/commands/list.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/list.ts)_
1193
1320
 
1194
1321
  ## `qfg log`
1195
1322
 
@@ -1214,7 +1341,7 @@ EXAMPLES
1214
1341
  $ qfg log --limit 5
1215
1342
  ```
1216
1343
 
1217
- _See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/log.ts)_
1344
+ _See code: [src/commands/log.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/log.ts)_
1218
1345
 
1219
1346
  ## `qfg log-level NAME`
1220
1347
 
@@ -1279,7 +1406,7 @@ EXAMPLES
1279
1406
  $ qfg log-level log-level.my-app --target=Chatty --value=INFO --environment=production
1280
1407
  ```
1281
1408
 
1282
- _See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/log-level.ts)_
1409
+ _See code: [src/commands/log-level.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/log-level.ts)_
1283
1410
 
1284
1411
  ## `qfg login`
1285
1412
 
@@ -1304,7 +1431,7 @@ EXAMPLES
1304
1431
  $ qfg login --profile myprofile
1305
1432
  ```
1306
1433
 
1307
- _See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/login.ts)_
1434
+ _See code: [src/commands/login.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/login.ts)_
1308
1435
 
1309
1436
  ## `qfg logout`
1310
1437
 
@@ -1327,7 +1454,7 @@ EXAMPLES
1327
1454
  $ qfg logout
1328
1455
  ```
1329
1456
 
1330
- _See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/logout.ts)_
1457
+ _See code: [src/commands/logout.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/logout.ts)_
1331
1458
 
1332
1459
  ## `qfg migrate`
1333
1460
 
@@ -1392,7 +1519,7 @@ EXAMPLES
1392
1519
  $ qfg migrate --from launch --source-api-key $LAUNCH_API_KEY --dir ./quonfig-repo --staging
1393
1520
  ```
1394
1521
 
1395
- _See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/migrate.ts)_
1522
+ _See code: [src/commands/migrate.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/migrate.ts)_
1396
1523
 
1397
1524
  ## `qfg migrate doctor`
1398
1525
 
@@ -1430,7 +1557,7 @@ EXAMPLES
1430
1557
  $ qfg migrate doctor --json
1431
1558
  ```
1432
1559
 
1433
- _See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/migrate/doctor.ts)_
1560
+ _See code: [src/commands/migrate/doctor.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/migrate/doctor.ts)_
1434
1561
 
1435
1562
  ## `qfg migrate my-code`
1436
1563
 
@@ -1462,7 +1589,7 @@ EXAMPLES
1462
1589
  $ qfg migrate my-code --dry-run
1463
1590
  ```
1464
1591
 
1465
- _See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/migrate/my-code.ts)_
1592
+ _See code: [src/commands/migrate/my-code.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/migrate/my-code.ts)_
1466
1593
 
1467
1594
  ## `qfg migrate status`
1468
1595
 
@@ -1493,7 +1620,7 @@ EXAMPLES
1493
1620
  $ qfg migrate status --json
1494
1621
  ```
1495
1622
 
1496
- _See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/migrate/status.ts)_
1623
+ _See code: [src/commands/migrate/status.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/migrate/status.ts)_
1497
1624
 
1498
1625
  ## `qfg override [NAME] [VALUE]`
1499
1626
 
@@ -1548,7 +1675,7 @@ EXAMPLES
1548
1675
  $ qfg override my.flag true --env=staging
1549
1676
  ```
1550
1677
 
1551
- _See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/override.ts)_
1678
+ _See code: [src/commands/override.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/override.ts)_
1552
1679
 
1553
1680
  ## `qfg pull`
1554
1681
 
@@ -1595,7 +1722,7 @@ EXAMPLES
1595
1722
  $ qfg pull # uses QUONFIG_DIR env var
1596
1723
  ```
1597
1724
 
1598
- _See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/pull.ts)_
1725
+ _See code: [src/commands/pull.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/pull.ts)_
1599
1726
 
1600
1727
  ## `qfg push`
1601
1728
 
@@ -1644,7 +1771,7 @@ EXAMPLES
1644
1771
  $ qfg push --dir ./our-config --yes
1645
1772
  ```
1646
1773
 
1647
- _See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/push.ts)_
1774
+ _See code: [src/commands/push.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/push.ts)_
1648
1775
 
1649
1776
  ## `qfg run [COMMAND]`
1650
1777
 
@@ -1695,7 +1822,7 @@ EXAMPLES
1695
1822
  $ qfg run --env DATABASE_URL=db.url --preserve-env --environment=staging -- npm test
1696
1823
  ```
1697
1824
 
1698
- _See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/run.ts)_
1825
+ _See code: [src/commands/run.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/run.ts)_
1699
1826
 
1700
1827
  ## `qfg schema NAME`
1701
1828
 
@@ -1733,7 +1860,7 @@ EXAMPLES
1733
1860
  $ qfg schema my-schema --set-json-schema=@schemas/my-schema.json --protected
1734
1861
  ```
1735
1862
 
1736
- _See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/schema.ts)_
1863
+ _See code: [src/commands/schema.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/schema.ts)_
1737
1864
 
1738
1865
  ## `qfg sdk-key`
1739
1866
 
@@ -1760,7 +1887,7 @@ EXAMPLES
1760
1887
  $ qfg sdk-key revoke <key-id>
1761
1888
  ```
1762
1889
 
1763
- _See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/sdk-key.ts)_
1890
+ _See code: [src/commands/sdk-key.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/sdk-key.ts)_
1764
1891
 
1765
1892
  ## `qfg sdk-key create`
1766
1893
 
@@ -1792,7 +1919,7 @@ EXAMPLES
1792
1919
  $ qfg sdk-key create --environment staging --type browser
1793
1920
  ```
1794
1921
 
1795
- _See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/sdk-key/create.ts)_
1922
+ _See code: [src/commands/sdk-key/create.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/sdk-key/create.ts)_
1796
1923
 
1797
1924
  ## `qfg sdk-key list`
1798
1925
 
@@ -1821,7 +1948,7 @@ EXAMPLES
1821
1948
  $ qfg sdk-key list --environment production
1822
1949
  ```
1823
1950
 
1824
- _See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/sdk-key/list.ts)_
1951
+ _See code: [src/commands/sdk-key/list.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/sdk-key/list.ts)_
1825
1952
 
1826
1953
  ## `qfg sdk-key revoke KEYID`
1827
1954
 
@@ -1848,7 +1975,7 @@ EXAMPLES
1848
1975
  $ qfg sdk-key revoke a1b2c3d4-e5f6-7890-abcd-ef1234567890
1849
1976
  ```
1850
1977
 
1851
- _See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/sdk-key/revoke.ts)_
1978
+ _See code: [src/commands/sdk-key/revoke.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/sdk-key/revoke.ts)_
1852
1979
 
1853
1980
  ## `qfg serve`
1854
1981
 
@@ -1906,7 +2033,7 @@ EXAMPLES
1906
2033
  $ qfg serve --port 6581 --frontend-sdk-key PUBLIC_KEY
1907
2034
  ```
1908
2035
 
1909
- _See code: [src/commands/serve.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/serve.ts)_
2036
+ _See code: [src/commands/serve.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/serve.ts)_
1910
2037
 
1911
2038
  ## `qfg set-default [NAME]`
1912
2039
 
@@ -1959,6 +2086,10 @@ DESCRIPTION
1959
2086
  To see all current values and rules for a flag:
1960
2087
  qfg info my.flag
1961
2088
 
2089
+ To target specific organizations or users, write rules on their KEY
2090
+ (organization.key, user.key), not a slug or email; find a key from a name with:
2091
+ qfg contexts search organization formhealth
2092
+
1962
2093
  ALIASES
1963
2094
  $ qfg toggle
1964
2095
 
@@ -1982,7 +2113,7 @@ EXAMPLES
1982
2113
  $ qfg pull && qfg config-schema
1983
2114
  ```
1984
2115
 
1985
- _See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/set-default.ts)_
2116
+ _See code: [src/commands/set-default.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/set-default.ts)_
1986
2117
 
1987
2118
  ## `qfg set-rollout [NAME]`
1988
2119
 
@@ -2073,7 +2204,7 @@ EXAMPLES
2073
2204
  $ qfg set-rollout my.variant.flag --environment production --weights "a:33,b:33,c:34" --hash-by user.id
2074
2205
  ```
2075
2206
 
2076
- _See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/set-rollout.ts)_
2207
+ _See code: [src/commands/set-rollout.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/set-rollout.ts)_
2077
2208
 
2078
2209
  ## `qfg sync`
2079
2210
 
@@ -2105,7 +2236,7 @@ EXAMPLES
2105
2236
  $ qfg sync --watch --dir ./our-config --interval 30
2106
2237
  ```
2107
2238
 
2108
- _See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/sync.ts)_
2239
+ _See code: [src/commands/sync.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/sync.ts)_
2109
2240
 
2110
2241
  ## `qfg toggle [NAME]`
2111
2242
 
@@ -2158,6 +2289,10 @@ DESCRIPTION
2158
2289
  To see all current values and rules for a flag:
2159
2290
  qfg info my.flag
2160
2291
 
2292
+ To target specific organizations or users, write rules on their KEY
2293
+ (organization.key, user.key), not a slug or email; find a key from a name with:
2294
+ qfg contexts search organization formhealth
2295
+
2161
2296
  ALIASES
2162
2297
  $ qfg toggle
2163
2298
 
@@ -2212,7 +2347,7 @@ EXAMPLES
2212
2347
  $ qfg verify --json
2213
2348
  ```
2214
2349
 
2215
- _See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/verify.ts)_
2350
+ _See code: [src/commands/verify.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/verify.ts)_
2216
2351
 
2217
2352
  ## `qfg whoami`
2218
2353
 
@@ -2235,7 +2370,7 @@ EXAMPLES
2235
2370
  $ qfg whoami
2236
2371
  ```
2237
2372
 
2238
- _See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/whoami.ts)_
2373
+ _See code: [src/commands/whoami.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/whoami.ts)_
2239
2374
 
2240
2375
  ## `qfg workspace`
2241
2376
 
@@ -2258,7 +2393,7 @@ EXAMPLES
2258
2393
  $ qfg workspace
2259
2394
  ```
2260
2395
 
2261
- _See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/workspace.ts)_
2396
+ _See code: [src/commands/workspace.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/workspace.ts)_
2262
2397
 
2263
2398
  ## `qfg workspace bootstrap`
2264
2399
 
@@ -2291,7 +2426,7 @@ EXAMPLES
2291
2426
  $ qfg workspace bootstrap --dir ./our-config --skip-validate
2292
2427
  ```
2293
2428
 
2294
- _See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/workspace/bootstrap.ts)_
2429
+ _See code: [src/commands/workspace/bootstrap.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/workspace/bootstrap.ts)_
2295
2430
 
2296
2431
  ## `qfg workspace create SLUG`
2297
2432
 
@@ -2325,7 +2460,7 @@ EXAMPLES
2325
2460
  $ qfg workspace create my-team --org 11111111-1111-1111-1111-111111111111
2326
2461
  ```
2327
2462
 
2328
- _See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/workspace/create.ts)_
2463
+ _See code: [src/commands/workspace/create.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/workspace/create.ts)_
2329
2464
 
2330
2465
  ## `qfg workspace switch [SLUG]`
2331
2466
 
@@ -2353,7 +2488,7 @@ EXAMPLES
2353
2488
  $ qfg workspace switch acme/production
2354
2489
  ```
2355
2490
 
2356
- _See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.2.2/src/commands/workspace/switch.ts)_
2491
+ _See code: [src/commands/workspace/switch.ts](https://github.com/quonfig/cli/blob/v0.3.0/src/commands/workspace/switch.ts)_
2357
2492
  <!-- commandsstop -->
2358
2493
 
2359
2494
  ## Local Development