@codeflyai/codefly 0.24.0 → 0.24.2

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 (51) hide show
  1. package/README.md +3 -1
  2. package/bundle/builtin/skill-creator/SKILL.md +382 -0
  3. package/bundle/builtin/skill-creator/scripts/init_skill.cjs +235 -0
  4. package/bundle/builtin/skill-creator/scripts/package_skill.cjs +102 -0
  5. package/bundle/builtin/skill-creator/scripts/validate_skill.cjs +127 -0
  6. package/bundle/codefly.js +318024 -294904
  7. package/bundle/docs/architecture.md +3 -3
  8. package/bundle/docs/assets/monitoring-dashboard-logs.png +0 -0
  9. package/bundle/docs/assets/monitoring-dashboard-metrics.png +0 -0
  10. package/bundle/docs/assets/monitoring-dashboard-overview.png +0 -0
  11. package/bundle/docs/changelogs/index.md +134 -0
  12. package/bundle/docs/changelogs/latest.md +355 -210
  13. package/bundle/docs/changelogs/preview.md +318 -115
  14. package/bundle/docs/cli/commands.md +21 -0
  15. package/bundle/docs/cli/custom-commands.md +9 -9
  16. package/bundle/docs/cli/index.md +6 -2
  17. package/bundle/docs/cli/keyboard-shortcuts.md +61 -78
  18. package/bundle/docs/cli/model-routing.md +7 -2
  19. package/bundle/docs/cli/model.md +1 -1
  20. package/bundle/docs/cli/openspec.md +164 -0
  21. package/bundle/docs/cli/sandbox.md +1 -1
  22. package/bundle/docs/cli/settings.md +80 -60
  23. package/bundle/docs/cli/skills.md +188 -0
  24. package/bundle/docs/cli/system-prompt.md +32 -0
  25. package/bundle/docs/cli/telemetry.md +38 -3
  26. package/bundle/docs/cli/themes.md +0 -2
  27. package/bundle/docs/cli/tutorials/skills-getting-started.md +124 -0
  28. package/bundle/docs/cli/tutorials.md +4 -0
  29. package/bundle/docs/core/index.md +4 -0
  30. package/bundle/docs/core/memport.md +2 -0
  31. package/bundle/docs/core/policy-engine.md +3 -2
  32. package/bundle/docs/extensions/getting-started-extensions.md +39 -2
  33. package/bundle/docs/get-started/configuration.md +127 -71
  34. package/bundle/docs/get-started/gemini-3.md +2 -17
  35. package/bundle/docs/hooks/reference.md +245 -116
  36. package/bundle/docs/index.md +2 -0
  37. package/bundle/docs/local-development.md +1 -1
  38. package/bundle/docs/releases.md +1 -1
  39. package/bundle/docs/sidebar.json +5 -5
  40. package/bundle/docs/tools/database-schema.md +231 -0
  41. package/bundle/docs/tools/index.md +7 -0
  42. package/bundle/docs/tools/mcp-server.md +26 -2
  43. package/bundle/docs/tools/shell.md +1 -1
  44. package/bundle/docs/tools/swagger-schema.md +236 -0
  45. package/bundle/docs/troubleshooting.md +23 -5
  46. package/bundle/policies/agent.toml +1 -1
  47. package/bundle/policies/plan.toml +70 -0
  48. package/bundle/policies/read-only.toml +0 -5
  49. package/bundle/policies/yolo.toml +1 -0
  50. package/package.json +12 -5
  51. package/bundle/docs/get-started/deployment.md +0 -143
@@ -98,6 +98,11 @@ their corresponding top-level category object in your `settings.json` file.
98
98
 
99
99
  #### `general`
100
100
 
101
+ - **`general.language`** (string):
102
+ - **Description:** The language for the CLI interface.
103
+ - **Default:** `"en"`
104
+ - **Requires restart:** Yes
105
+
101
106
  - **`general.previewFeatures`** (boolean):
102
107
  - **Description:** Enable preview features (e.g., preview models).
103
108
  - **Default:** `false`
@@ -110,13 +115,13 @@ their corresponding top-level category object in your `settings.json` file.
110
115
  - **Description:** Enable Vim keybindings
111
116
  - **Default:** `false`
112
117
 
113
- - **`general.disableAutoUpdate`** (boolean):
114
- - **Description:** Disable automatic updates
115
- - **Default:** `false`
118
+ - **`general.enableAutoUpdate`** (boolean):
119
+ - **Description:** Enable automatic updates.
120
+ - **Default:** `true`
116
121
 
117
- - **`general.disableUpdateNag`** (boolean):
118
- - **Description:** Disable update notification prompts.
119
- - **Default:** `false`
122
+ - **`general.enableAutoUpdateNotification`** (boolean):
123
+ - **Description:** Enable update notification prompts.
124
+ - **Default:** `true`
120
125
 
121
126
  - **`general.checkpointing.enabled`** (boolean):
122
127
  - **Description:** Enable session checkpointing for recovery
@@ -159,7 +164,7 @@ their corresponding top-level category object in your `settings.json` file.
159
164
  #### `output`
160
165
 
161
166
  - **`output.format`** (enum):
162
- - **Description:** The format of the CLI output.
167
+ - **Description:** The format of the CLI output. Can be `text` or `json`.
163
168
  - **Default:** `"text"`
164
169
  - **Values:** `"text"`, `"json"`
165
170
 
@@ -180,10 +185,21 @@ their corresponding top-level category object in your `settings.json` file.
180
185
  - **Requires restart:** Yes
181
186
 
182
187
  - **`ui.showStatusInTitle`** (boolean):
183
- - **Description:** Show Codefly status and thoughts in the terminal window
184
- title
188
+ - **Description:** Show Gemini CLI model thoughts in the terminal window title
189
+ during the working phase
185
190
  - **Default:** `false`
186
191
 
192
+ - **`ui.dynamicWindowTitle`** (boolean):
193
+ - **Description:** Update the terminal window title with current status icons
194
+ (Ready: ◇, Action Required: ✋, Working: ✦)
195
+ - **Default:** `true`
196
+
197
+ - **`ui.showHomeDirectoryWarning`** (boolean):
198
+ - **Description:** Show a warning when running Gemini CLI in the home
199
+ directory.
200
+ - **Default:** `true`
201
+ - **Requires restart:** Yes
202
+
187
203
  - **`ui.hideTips`** (boolean):
188
204
  - **Description:** Hide helpful tips in the UI
189
205
  - **Default:** `false`
@@ -255,9 +271,9 @@ their corresponding top-level category object in your `settings.json` file.
255
271
  provided, the CLI cycles through these instead of the defaults.
256
272
  - **Default:** `[]`
257
273
 
258
- - **`ui.accessibility.disableLoadingPhrases`** (boolean):
259
- - **Description:** Disable loading phrases for accessibility
260
- - **Default:** `false`
274
+ - **`ui.accessibility.enableLoadingPhrases`** (boolean):
275
+ - **Description:** Enable loading phrases during operations.
276
+ - **Default:** `true`
261
277
  - **Requires restart:** Yes
262
278
 
263
279
  - **`ui.accessibility.screenReader`** (boolean):
@@ -269,7 +285,7 @@ their corresponding top-level category object in your `settings.json` file.
269
285
  #### `ide`
270
286
 
271
287
  - **`ide.enabled`** (boolean):
272
- - **Description:** Enable IDE integration mode
288
+ - **Description:** Enable IDE integration mode.
273
289
  - **Default:** `false`
274
290
  - **Requires restart:** Yes
275
291
 
@@ -280,7 +296,7 @@ their corresponding top-level category object in your `settings.json` file.
280
296
  #### `privacy`
281
297
 
282
298
  - **`privacy.usageStatisticsEnabled`** (boolean):
283
- - **Description:** Enable usage statistics.
299
+ - **Description:** Enable collection of usage statistics
284
300
  - **Default:** `true`
285
301
  - **Requires restart:** Yes
286
302
 
@@ -546,6 +562,14 @@ their corresponding top-level category object in your `settings.json` file.
546
562
  used.
547
563
  - **Default:** `[]`
548
564
 
565
+ #### `agents`
566
+
567
+ - **`agents.overrides`** (object):
568
+ - **Description:** Override settings for specific agents, e.g. to disable the
569
+ agent, set a custom model config, or run config.
570
+ - **Default:** `{}`
571
+ - **Requires restart:** Yes
572
+
549
573
  #### `context`
550
574
 
551
575
  - **`context.fileName`** (string | string[]):
@@ -573,12 +597,12 @@ their corresponding top-level category object in your `settings.json` file.
573
597
  - **Default:** `false`
574
598
 
575
599
  - **`context.fileFiltering.respectGitIgnore`** (boolean):
576
- - **Description:** Respect .gitignore files when searching
600
+ - **Description:** Respect .gitignore files when searching.
577
601
  - **Default:** `true`
578
602
  - **Requires restart:** Yes
579
603
 
580
- - **`context.fileFiltering.respectGeminiIgnore`** (boolean):
581
- - **Description:** Respect .geminiignore files when searching
604
+ - **`context.fileFiltering.respectCodeflyIgnore`** (boolean):
605
+ - **Description:** Respect .codeflyignore files when searching.
582
606
  - **Default:** `true`
583
607
  - **Requires restart:** Yes
584
608
 
@@ -588,9 +612,9 @@ their corresponding top-level category object in your `settings.json` file.
588
612
  - **Default:** `true`
589
613
  - **Requires restart:** Yes
590
614
 
591
- - **`context.fileFiltering.disableFuzzySearch`** (boolean):
592
- - **Description:** Disable fuzzy search when searching for files.
593
- - **Default:** `false`
615
+ - **`context.fileFiltering.enableFuzzySearch`** (boolean):
616
+ - **Description:** Enable fuzzy search when searching for files.
617
+ - **Default:** `true`
594
618
  - **Requires restart:** Yes
595
619
 
596
620
  #### `tools`
@@ -631,6 +655,13 @@ their corresponding top-level category object in your `settings.json` file.
631
655
  considered safe (e.g., read-only operations).
632
656
  - **Default:** `false`
633
657
 
658
+ - **`tools.approvalMode`** (enum):
659
+ - **Description:** The default approval mode for tool execution. 'default'
660
+ prompts for approval, 'auto_edit' auto-approves edit tools, and 'plan' is
661
+ read-only mode. 'yolo' is not supported yet.
662
+ - **Default:** `"default"`
663
+ - **Values:** `"default"`, `"auto_edit"`, `"plan"`
664
+
634
665
  - **`tools.core`** (array):
635
666
  - **Description:** Restrict the set of built-in tools with an allowlist. Match
636
667
  semantics mirror tools.allowed; see the built-in tools documentation for
@@ -684,12 +715,17 @@ their corresponding top-level category object in your `settings.json` file.
684
715
  - **Default:** `1000`
685
716
  - **Requires restart:** Yes
686
717
 
718
+ - **`tools.disableLLMCorrection`** (boolean):
719
+ - **Description:** Disable LLM-based error correction for edit tools. When
720
+ enabled, tools will fail immediately if exact string matches are not found,
721
+ instead of attempting to self-correct.
722
+ - **Default:** `true`
723
+ - **Requires restart:** Yes
724
+
687
725
  - **`tools.enableHooks`** (boolean):
688
- - **Description:** Enable the hooks system for intercepting and customizing
689
- Codefly CLI behavior. When enabled, hooks configured in settings will
690
- execute at appropriate lifecycle events (BeforeTool, AfterTool, BeforeModel,
691
- etc.). Requires MessageBus integration.
692
- - **Default:** `false`
726
+ - **Description:** Enables the hooks system experiment. When disabled, the
727
+ hooks system is completely deactivated regardless of other settings.
728
+ - **Default:** `true`
693
729
  - **Requires restart:** Yes
694
730
 
695
731
  #### `mcp`
@@ -753,34 +789,34 @@ their corresponding top-level category object in your `settings.json` file.
753
789
  - **Default:** `false`
754
790
  - **Requires restart:** Yes
755
791
 
756
- - **`security.auth.selectedType`** (string):
757
- - **Description:** The currently selected authentication type.
792
+ - **`security.auth.openai.apiKey`** (string):
793
+ - **Description:** OpenAI API key.
758
794
  - **Default:** `undefined`
759
795
  - **Requires restart:** Yes
760
796
 
761
- - **`security.auth.enforcedType`** (string):
762
- - **Description:** The required auth type. If this does not match the selected
763
- auth type, the user will be prompted to re-authenticate.
797
+ - **`security.auth.openai.model`** (string):
798
+ - **Description:** OpenAI model (e.g., gpt-4o).
764
799
  - **Default:** `undefined`
765
800
  - **Requires restart:** Yes
766
801
 
767
- - **`security.auth.useExternal`** (boolean):
768
- - **Description:** Whether to use an external authentication flow.
802
+ - **`security.auth.openai.baseUrl`** (string):
803
+ - **Description:** OpenAI Base URL.
769
804
  - **Default:** `undefined`
770
805
  - **Requires restart:** Yes
771
806
 
772
- - **`security.auth.openai.baseUrl`** (string):
773
- - **Description:** Base URL for the OpenAI compatible provider.
774
- - **Default:** `"https://api.openai.com/v1"`
807
+ - **`security.auth.selectedType`** (string):
808
+ - **Description:** The currently selected authentication type.
809
+ - **Default:** `undefined`
775
810
  - **Requires restart:** Yes
776
811
 
777
- - **`security.auth.openai.model`** (string):
778
- - **Description:** Model name to use.
779
- - **Default:** `"gpt-4o"`
812
+ - **`security.auth.enforcedType`** (string):
813
+ - **Description:** The required auth type. If this does not match the selected
814
+ auth type, the user will be prompted to re-authenticate.
815
+ - **Default:** `undefined`
780
816
  - **Requires restart:** Yes
781
817
 
782
- - **`security.auth.openai.apiKey`** (string):
783
- - **Description:** API Key for the provider.
818
+ - **`security.auth.useExternal`** (boolean):
819
+ - **Description:** Whether to use an external authentication flow.
784
820
  - **Default:** `undefined`
785
821
  - **Requires restart:** Yes
786
822
 
@@ -813,7 +849,7 @@ their corresponding top-level category object in your `settings.json` file.
813
849
  - **`experimental.enableAgents`** (boolean):
814
850
  - **Description:** Enable local and remote subagents. Warning: Experimental
815
851
  feature, uses YOLO mode for subagents
816
- - **Default:** `false`
852
+ - **Default:** `true`
817
853
  - **Requires restart:** Yes
818
854
 
819
855
  - **`experimental.extensionManagement`** (boolean):
@@ -821,6 +857,16 @@ their corresponding top-level category object in your `settings.json` file.
821
857
  - **Default:** `true`
822
858
  - **Requires restart:** Yes
823
859
 
860
+ - **`experimental.extensionConfig`** (boolean):
861
+ - **Description:** Enable requesting and fetching of extension settings.
862
+ - **Default:** `false`
863
+ - **Requires restart:** Yes
864
+
865
+ - **`experimental.enableEventDrivenScheduler`** (boolean):
866
+ - **Description:** Enables event-driven scheduler within the CLI session.
867
+ - **Default:** `true`
868
+ - **Requires restart:** Yes
869
+
824
870
  - **`experimental.extensionReloading`** (boolean):
825
871
  - **Description:** Enables extension loading/unloading within the CLI session.
826
872
  - **Default:** `false`
@@ -836,35 +882,13 @@ their corresponding top-level category object in your `settings.json` file.
836
882
  - **Default:** `false`
837
883
  - **Requires restart:** Yes
838
884
 
839
- - **`experimental.codebaseInvestigatorSettings.enabled`** (boolean):
840
- - **Description:** Enable the Codebase Investigator agent.
841
- - **Default:** `true`
842
- - **Requires restart:** Yes
843
-
844
- - **`experimental.codebaseInvestigatorSettings.maxNumTurns`** (number):
845
- - **Description:** Maximum number of turns for the Codebase Investigator
846
- agent.
847
- - **Default:** `10`
848
- - **Requires restart:** Yes
849
-
850
- - **`experimental.codebaseInvestigatorSettings.maxTimeMinutes`** (number):
851
- - **Description:** Maximum time for the Codebase Investigator agent (in
852
- minutes).
853
- - **Default:** `3`
854
- - **Requires restart:** Yes
855
-
856
- - **`experimental.codebaseInvestigatorSettings.thinkingBudget`** (number):
857
- - **Description:** The thinking budget for the Codebase Investigator agent.
858
- - **Default:** `8192`
859
- - **Requires restart:** Yes
860
-
861
- - **`experimental.codebaseInvestigatorSettings.model`** (string):
862
- - **Description:** The model to use for the Codebase Investigator agent.
863
- - **Default:** `"auto"`
864
- - **Requires restart:** Yes
885
+ - **`experimental.useOSC52Paste`** (boolean):
886
+ - **Description:** Use OSC 52 sequence for pasting instead of clipboardy
887
+ (useful for remote sessions).
888
+ - **Default:** `false`
865
889
 
866
- - **`experimental.introspectionAgentSettings.enabled`** (boolean):
867
- - **Description:** Enable the Introspection Agent.
890
+ - **`experimental.plan`** (boolean):
891
+ - **Description:** Enable planning features (Plan Mode and tools).
868
892
  - **Default:** `false`
869
893
  - **Requires restart:** Yes
870
894
 
@@ -875,13 +899,24 @@ their corresponding top-level category object in your `settings.json` file.
875
899
  - **Default:** `[]`
876
900
  - **Requires restart:** Yes
877
901
 
878
- #### `hooks`
902
+ #### `hooksConfig`
903
+
904
+ - **`hooksConfig.enabled`** (boolean):
905
+ - **Description:** Canonical toggle for the hooks system. When disabled, no
906
+ hooks will be executed.
907
+ - **Default:** `true`
879
908
 
880
- - **`hooks.disabled`** (array):
909
+ - **`hooksConfig.disabled`** (array):
881
910
  - **Description:** List of hook names (commands) that should be disabled.
882
911
  Hooks in this list will not execute even if configured.
883
912
  - **Default:** `[]`
884
913
 
914
+ - **`hooksConfig.notifications`** (boolean):
915
+ - **Description:** Show visual indicators when hooks are executing.
916
+ - **Default:** `true`
917
+
918
+ #### `hooks`
919
+
885
920
  - **`hooks.BeforeTool`** (array):
886
921
  - **Description:** Hooks that execute before tool execution. Can intercept,
887
922
  validate, or modify tool calls.
@@ -936,6 +971,25 @@ their corresponding top-level category object in your `settings.json` file.
936
971
  - **Description:** Hooks that execute before tool selection. Can filter or
937
972
  prioritize available tools dynamically.
938
973
  - **Default:** `[]`
974
+
975
+ #### `admin`
976
+
977
+ - **`admin.secureModeEnabled`** (boolean):
978
+ - **Description:** If true, disallows yolo mode from being used.
979
+ - **Default:** `false`
980
+
981
+ - **`admin.extensions.enabled`** (boolean):
982
+ - **Description:** If false, disallows extensions from being installed or
983
+ used.
984
+ - **Default:** `true`
985
+
986
+ - **`admin.mcp.enabled`** (boolean):
987
+ - **Description:** If false, disallows MCP servers from being used.
988
+ - **Default:** `true`
989
+
990
+ - **`admin.skills.enabled`** (boolean):
991
+ - **Description:** If false, disallows agent skills from being used.
992
+ - **Default:** `true`
939
993
  <!-- SETTINGS-AUTOGEN:END -->
940
994
 
941
995
  #### `mcpServers`
@@ -1449,6 +1503,8 @@ By understanding and utilizing these configuration layers and the hierarchical
1449
1503
  nature of context files, you can effectively manage the AI's memory and tailor
1450
1504
  the Gemini CLI's responses to your specific needs and projects.
1451
1505
 
1506
+ <!-- SETTINGS-AUTOGEN:END -->
1507
+
1452
1508
  ## Sandboxing
1453
1509
 
1454
1510
  The Gemini CLI can execute potentially unsafe operations (like shell commands
@@ -1,25 +1,10 @@
1
1
  # Gemini 3 Pro and Gemini 3 Flash on Gemini CLI
2
2
 
3
- Gemini 3 Pro and Gemini 3 Flash are now available on Gemini CLI! Currently, most
4
- paid customers of Gemini CLI will have access to both Gemini 3 Pro and Gemini 3
5
- Flash, including the following subscribers:
6
-
7
- - Google AI Pro and Google AI Ultra (excluding business customers).
8
- - Gemini Code Assist Standard and Enterprise (requires
9
- [administrative enablement](#administrator-instructions)).
10
- - Paid Gemini API and Vertex API key holders.
11
-
12
- For free tier users:
13
-
14
- - If you signed up for the waitlist, please check your email for details. We’ve
15
- onboarded everyone who signed up to the previously available waitlist.
16
- - If you were not on our waitlist, we’re rolling out additional access gradually
17
- to ensure the experience remains fast and reliable. Stay tuned for more
18
- details.
3
+ Gemini 3 Pro and Gemini 3 Flash are available on Gemini CLI for all users!
19
4
 
20
5
  ## How to get started with Gemini 3 on Gemini CLI
21
6
 
22
- Get started by upgrading Gemini CLI to the latest version (0.21.1):
7
+ Get started by upgrading Gemini CLI to the latest version:
23
8
 
24
9
  ```bash
25
10
  npm install -g @google/gemini-cli@latest