Vendor: Google | Homepage: https://geminicli.com/docs/ | CLI Command: gemini | Version Detection: gemini --version
| Component | Support Level | Notes |
|---|
| Skills | Native | |
| MCP Servers | Native | |
| LSP Servers | Experimental | TS/JS only |
| Hooks | Native | 11 events |
| Agents | Experimental | .gemini/agents/ directory |
| Commands | Native | TOML format at .gemini/commands/ |
| Instructions | Native | |
| Component | Scope | Path |
|---|
| Skills | user | ~/.gemini/skills/{name}/SKILL.md |
| Skills | project | .gemini/skills/{name}/SKILL.md |
| Agents | project | .gemini/agents/{name}.md |
| Commands | project | .gemini/commands/{name}.toml |
| Instructions | user | ~/.gemini/GEMINI.md |
| Instructions | project | GEMINI.md |
| Component | Scope | File | Format | Key |
|---|
| Hooks | user | ~/.gemini/settings.json | json | hooks |
| Hooks | project | .gemini/settings.json | json | hooks |
| MCP Servers | user | ~/.gemini/settings.json | json | mcpServers |
| MCP Servers | project | .gemini/settings.json | json | mcpServers |
| LSP Servers | user | ~/.gemini/settings.json | json | lspServers |
| Property | Value |
|---|
| Filename | GEMINI.md |
| Content Format | markdown |
| Scope | Path |
|---|
| user | ~/.gemini/GEMINI.md |
| project | GEMINI.md |
Type: Bundle
| Property | Value |
|---|
| Install Directory | ~/.gemini/extensions/{package} |
| Manifest | gemini-extension.json (required: name) |
| Registration | directory-presence — ~/.gemini/extensions/ |
Layout:
| Component | Path |
|---|
| skills | skills/{name}/SKILL.md |
| agents | agents/{name}.md |
| commands | commands/{name}.toml |
| hooks | hooks.json |
| mcp_servers | .mcp.json |
| Canonical Event | Host Event |
|---|
pre-tool-use | BeforeTool |
post-tool-use | AfterTool |
session-start | SessionStart |
session-end | SessionEnd |
notification | Notification |
pre-compact | PreCompress |
- BeforeAgent — Fires before an agent is invoked.
- AfterAgent — Fires after an agent completes execution.
- BeforeModel — Fires before a model request is sent.
- AfterModel — Fires after a model response is received.
- BeforeToolSelection — Fires before the tool selection step.
command
| Property | Value |
|---|
| Supported | true |
| Transports | stdio, sse, streamable-http |
| Env Prefix | None |
| Scope | Path |
|---|
| user | ~/.gemini/settings.json |
| project | .gemini/settings.json |
| Property | Value |
|---|
| Default | ~/.gemini |
| Env Override | None |
| Capability | Supported |
|---|
| Lazy Loading | false |
| Hot Reload | false |
| Managed Settings | false |