Moisés Gana Obregón
6bc2f89ee9
fix(cli): deduplicate startup extension warnings in terminal UI
...
This change introduces a module-level Set to deduplicate warning messages
emitted by the ExtensionManager. This prevents identical warnings (like
missing settings or built-in replacements) from being displayed twice
due to loadCliConfig being invoked multiple times during startup.
Fixes #23175
See also #23171 for the planned long-term refactor.
2026-03-20 00:19:23 +00:00
Jerop Kipruto
afe40fc284
feat(sdd): update commands to use colon separator format (/spec:<action>)
2026-03-17 17:45:04 -04:00
Jerop Kipruto
b9c46d362b
feat(sdd): guard built-in SDD with experimental.sdd flag
2026-03-17 17:45:04 -04:00
Jerop Kipruto
e1352ba8f2
feat(cli): refine legacy conductor migration message
2026-03-17 17:45:04 -04:00
Jerop Kipruto
bb1c48a870
test(cli): add tests for builtin extension collisions and migration
2026-03-17 17:45:04 -04:00
Jerop Kipruto
14d4ebe806
feat: update SDD rebranding, storage migration, and extension conflict handling
...
- Renamed 'Conductor' to 'Spec-Driven Development (SDD)'.
- Migrated artifact storage to '.gemini/specs/'.
- Updated commands to '/spec <action>'.
- Added Plan Mode and SDD workflow notes to README.
- Replaced automatic extension migration with a warning prompt to preserve user files.
- Added .gitignore exemption for .gemini/specs/ in setup.
2026-03-17 17:45:04 -04:00
Jerop Kipruto
3964f0cda5
feat(sdd): rename to SDD and migrate storage to .gemini/specs
...
- Renamed built-in extension 'Conductor' to 'Spec-Driven Development (SDD)'.
- Updated commands from '/conductor:<action>' to '/spec <action>'.
- Migrated default artifact storage from 'conductor/' to '.gemini/specs/'.
- Updated documentation, security policies, and internal references.
- Refactored FileCommandLoader to use standardized variable hydration.
- Replaced automatic Conductor deletion with a non-destructive migration prompt.
- Added step in setup to ensure .gemini/specs/ is exempted from .gitignore.
2026-03-17 17:45:03 -04:00
Jerop Kipruto
5c8302ad33
feat(cli): rename extension to sdd and add migration prompt
2026-03-17 17:45:03 -04:00
Jerop Kipruto
d78af8202a
feat(cli): integrate conductor as a built-in extension
...
- Introduce support for bundled 'builtin' extensions in ExtensionManager
- Migrate conductor extension to packages/core/src/extensions/builtin/conductor
- Add automatic migration logic to cleanup manual conductor installations
- Make extension versioning optional for built-ins, defaulting to CLI version
- Update build and bundle scripts to include builtin extensions
- Enhance documentation to highlight conductor as a core feature
2026-03-17 17:45:03 -04:00
Emily Hedlund
05fda0cf01
feat(extensions): implement cryptographic integrity verification for extension updates ( #21772 )
2026-03-16 19:01:52 +00:00
N. Taylor Mullen
bd590bbde6
fix(cli): improve command conflict handling for skills ( #21942 )
2026-03-14 23:33:14 +00:00
Jack Wotherspoon
45faf4d31b
fix: register themes on extension load not start ( #22148 )
2026-03-12 13:38:09 +00:00
christine betts
300929a32b
Add ExtensionDetails dialog and support install ( #20845 )
2026-03-10 21:12:47 +00:00
christine betts
43eb74ac59
Add support for updating extension sources and names ( #21715 )
2026-03-09 23:31:31 +00:00
Gal Zahavi
3481032980
fix(extensions): preserve symlinks in extension source path while enforcing folder trust ( #20867 )
2026-03-05 00:06:19 +00:00
Mahima Shanware
c332d1e636
feat(extensions): add support for plan directory in extension manifest ( #20354 )
...
Co-authored-by: Mahima Shanware <mshanware@google.com >
Co-authored-by: Jerop Kipruto <jerop@google.com >
2026-03-03 16:50:18 +00:00
christine betts
e17f927a69
Add support for policy engine in extensions ( #20049 )
...
Co-authored-by: Jerop Kipruto <jerop@google.com >
2026-02-27 03:29:33 +00:00
Tommaso Sciortino
a037b961b1
feat(cli): load extensions in parallel ( #20229 )
2026-02-25 17:15:00 +00:00
Michael Bleigh
d47d4855db
feat(hooks): adds support for RuntimeHook functions. ( #19598 )
2026-02-24 21:03:36 +00:00
Gal Zahavi
6510347d5b
feat(extensions): enforce folder trust for local extension install ( #19703 )
2026-02-24 19:58:44 +00:00
Christian Gunderman
58d637f919
Disallow and suppress unsafe assignment ( #19736 )
2026-02-20 22:28:55 +00:00
Jerop Kipruto
60be42f095
refactor(core): adopt CoreToolCallStatus enum for type safety ( #18998 )
2026-02-13 16:27:20 +00:00
Christian Gunderman
fd65416a2f
Disallow unsafe type assertions ( #18688 )
2026-02-10 00:10:15 +00:00
Gal Zahavi
81ccd80c6d
feat(cli): implement atomic writes and safety checks for trusted folders ( #18406 )
2026-02-09 17:16:56 +00:00
Shreya Keshive
f062f56b43
feat(admin): apply MCP allowlist to extensions & gemini mcp list command ( #18442 )
2026-02-06 18:07:00 +00:00
christine betts
3e954930f1
Fix handling of empty settings ( #18131 )
2026-02-03 20:39:20 +00:00
kevinjwang1
6396ab1ccb
Add allowedExtensions setting ( #17695 )
2026-01-30 19:43:51 +00:00
Abhi
95b7d69d5b
refactor(hooks): remove legacy tools.enableHooks setting ( #17867 )
2026-01-30 15:15:48 +00:00
Spencer
beaa134f0e
feat(extensions): add support for custom themes in extensions ( #17327 )
2026-01-28 18:58:35 +00:00
christine betts
9dc0994878
Load extension settings for hooks, agents, skills ( #17245 )
2026-01-27 19:34:14 +00:00
joshualitt
211d2c5fdd
feat(core): Ensure all properties in hooks object are event names. ( #16870 )
2026-01-20 22:47:31 +00:00
David Soria Parra
b288f124b2
fix(cli): send gemini-cli version as mcp client version ( #13407 )
...
Co-authored-by: Taylor Mullen <ntaylormullen@google.com >
2026-01-20 22:01:18 +00:00
Jacob Richman
f7f38e2b9e
Make merged settings non-nullable and fix all lints related to that. ( #16647 )
2026-01-15 17:26:10 +00:00
christine betts
3b55581aaf
Add an experimental setting for extension config ( #16506 )
2026-01-14 15:16:42 +00:00
Christian Gunderman
aa52462550
Implement support for subagents as extensions. ( #16473 )
2026-01-13 19:09:22 +00:00
christine betts
77e226c55f
Show settings source in extensions lists ( #16207 )
2026-01-09 17:04:53 +00:00
Shreya Keshive
97ad3d97cb
Reapply "feat(admin): implement extensions disabled" ( #16082 ) ( #16109 )
2026-01-08 17:59:30 +00:00
christine betts
19bdd95eab
Revert "feat(admin): implement extensions disabled" ( #16082 )
2026-01-07 19:35:56 +00:00
Shreya Keshive
db99beda36
feat(admin): implement extensions disabled ( #16024 )
2026-01-07 16:31:17 +00:00
christine betts
97b31c4eef
Simplify extension settings command ( #16001 )
2026-01-07 16:23:07 +00:00
N. Taylor Mullen
7956eb239e
Introduce GEMINI_CLI_HOME for strict test isolation ( #15907 )
2026-01-07 04:09:39 +00:00
joshualitt
56092bd782
feat(hooks): Add a hooks.enabled setting. ( #15933 )
2026-01-06 21:33:37 +00:00
christine betts
4c67eef0f2
Inform user of missing settings on extensions update ( #15944 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-06 17:26:01 +00:00
N. Taylor Mullen
bdb349e7f6
Agent Skills: Extension Support & Security Disclosure ( #15834 )
2026-01-04 22:45:07 +00:00
christine betts
ec11b8afbf
Add extension settings info to /extensions list ( #14905 )
2025-12-30 21:09:48 +00:00
christine betts
563d81e08e
Add experimental in-CLI extension install and uninstall subcommands ( #15178 )
...
Co-authored-by: Christine Betts <chrstn@google.com >
2025-12-23 19:48:27 +00:00
Tommaso Sciortino
edab97997a
Remove unused code ( #15290 )
2025-12-18 23:04:29 +00:00
Christian Gunderman
7f2d33458a
Disallow unnecessary awaits. ( #15172 )
2025-12-17 05:28:18 +00:00
Shardul Natu
d030a1f62f
update(telemetry): add hashed_extension_name to field to extension events ( #15025 )
...
Co-authored-by: Shnatu <snatu@google.com >
2025-12-15 17:40:54 +00:00
Christian Gunderman
942bcfc61e
Disallow redundant typecasts. ( #15030 )
2025-12-13 01:43:43 +00:00