Documentation
¶
Overview ¶
Package gemini provides the Gemini CLI extension adapter.
Index ¶
- type Adapter
- func (a *Adapter) DefaultPaths() []string
- func (a *Adapter) Marshal(plugin *core.Plugin) ([]byte, error)
- func (a *Adapter) Name() string
- func (a *Adapter) Parse(data []byte) (*core.Plugin, error)
- func (a *Adapter) ReadFile(path string) (*core.Plugin, error)
- func (a *Adapter) WriteFile(plugin *core.Plugin, path string) error
- func (a *Adapter) WritePlugin(plugin *core.Plugin, dir string) error
- type GeminiExtension
- type GeminiMCPServer
- type GeminiSetting
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adapter ¶
type Adapter struct{}
Adapter converts between canonical Plugin and Gemini CLI extension format.
func (*Adapter) DefaultPaths ¶
DefaultPaths returns default file paths for Gemini extension manifest.
func (*Adapter) ReadFile ¶
ReadFile reads a Gemini extension JSON file and returns canonical Plugin.
type GeminiExtension ¶
type GeminiExtension struct {
Name string `json:"name"`
Version string `json:"version"`
// Optional metadata
Description string `json:"description,omitempty"`
Author string `json:"author,omitempty"`
License string `json:"license,omitempty"`
Repository string `json:"repository,omitempty"`
Homepage string `json:"homepage,omitempty"`
// MCP server configurations
MCPServers map[string]GeminiMCPServer `json:"mcpServers,omitempty"`
// Context file name (defaults to GEMINI.md)
ContextFileName string `json:"contextFileName,omitempty"`
// Tools to exclude from the model
ExcludeTools []string `json:"excludeTools,omitempty"`
// User-configurable settings
Settings map[string]GeminiSetting `json:"settings,omitempty"`
}
GeminiExtension represents the Gemini CLI gemini-extension.json format. See: https://geminicli.com/docs/extensions/
func FromCanonical ¶
func FromCanonical(p *core.Plugin) *GeminiExtension
FromCanonical creates a GeminiExtension from canonical Plugin.
func (*GeminiExtension) ToCanonical ¶
func (ge *GeminiExtension) ToCanonical() *core.Plugin
ToCanonical converts GeminiExtension to canonical Plugin.
type GeminiMCPServer ¶
type GeminiMCPServer struct {
Command string `json:"command"`
Args []string `json:"args,omitempty"`
Cwd string `json:"cwd,omitempty"`
Env map[string]string `json:"env,omitempty"`
}
GeminiMCPServer represents an MCP server in Gemini format.
type GeminiSetting ¶
type GeminiSetting struct {
Type string `json:"type"` // e.g., "string", "boolean"
Description string `json:"description,omitempty"`
Default string `json:"default,omitempty"`
EnvVar string `json:"envVar,omitempty"` // Environment variable name
}
GeminiSetting represents a user-configurable setting.