Documentation
¶
Index ¶
- Variables
- func CheckAndPromptUpdate()
- func GenerateWorkspaceDocs(workspace string)
- func InstallBundledContent(workspace string)
- func RunInit(args []string)
- func RunInstall(args []string)
- func RunLog(args []string)
- func RunPack(args []string)
- func RunPlugin(args []string)
- func RunPlugins(args []string)
- func RunRestart(args []string)
- func RunServe(args []string)
- func RunStop(args []string)
- func RunUninstall(args []string)
- func RunUpdate(args []string)
- func RunVersion()
- func SaveRegistry(reg *PluginRegistry) error
- func WatchEscQuit(onQuit func())
- type ExternalProcess
- type IDEConfig
- type PluginEntry
- type PluginRegistry
Constants ¶
This section is empty.
Variables ¶
var ( Version = "dev" Commit = "none" Date = "unknown" )
Functions ¶
func CheckAndPromptUpdate ¶
func CheckAndPromptUpdate()
CheckAndPromptUpdate checks for a newer version and prints an advisory. Used by orchestra init to inform the user without blocking.
func GenerateWorkspaceDocs ¶
func GenerateWorkspaceDocs(workspace string)
GenerateWorkspaceDocs creates or overwrites CLAUDE.md and AGENTS.md at the workspace root. It scans .claude/skills/, .claude/agents/, .claude/hooks/ for installed content and reads the pack registry to produce accurate documentation files. Call this from orchestra init and after pack install/remove/update.
func InstallBundledContent ¶
func InstallBundledContent(workspace string)
InstallBundledContent creates the built-in project-manager skill, orchestra skill, orchestra agent, and hooks that ship with every orchestra init. These provide a baseline so the AI IDE knows how to use Orchestra immediately.
func RunInstall ¶
func RunInstall(args []string)
RunInstall handles `orchestra install <repo> [flags]`.
func RunPlugins ¶
func RunPlugins(args []string)
RunPlugins handles `orchestra plugins` -- lists all installed third-party plugins.
func RunRestart ¶ added in v1.0.2
func RunRestart(args []string)
RunRestart handles `orchestra restart [--workspace . --tcp-addr localhost:50101]`. It stops the running instance, then spawns a new `orchestra serve` as a detached process. The command returns immediately after the new process starts.
func RunStop ¶ added in v1.0.2
func RunStop(args []string)
RunStop handles `orchestra stop [--workspace .]`.
func RunUninstall ¶
func RunUninstall(args []string)
RunUninstall handles `orchestra uninstall <plugin-id-or-repo>`.
func RunUpdate ¶
func RunUpdate(args []string)
RunUpdate handles `orchestra update` (self-update) or `orchestra update <plugin>`.
func RunVersion ¶
func RunVersion()
func SaveRegistry ¶
func SaveRegistry(reg *PluginRegistry) error
SaveRegistry writes the registry to disk, creating directories as needed.
func WatchEscQuit ¶ added in v1.0.4
func WatchEscQuit(onQuit func())
WatchEscQuit opens /dev/tty in raw mode. On first ESC it shows a confirmation prompt; pressing ESC again (or 'y') within 3 seconds shuts down. Any other key cancels. Returns immediately if /dev/tty is unavailable.
Types ¶
type ExternalProcess ¶
type ExternalProcess struct {
Entry *PluginEntry
Cmd *exec.Cmd
Addr string // QUIC address from "READY <addr>"
Client *sdkplugin.OrchestratorClient
Cancel context.CancelFunc
}
ExternalProcess tracks a running plugin subprocess.
type IDEConfig ¶
type IDEConfig struct {
Name string
Display string
ConfigPath func(workspace string) string
Generate func(workspace, binaryPath string) ([]byte, error)
}
IDEConfig defines how to generate MCP config for a specific IDE.
type PluginEntry ¶
type PluginEntry struct {
ID string `json:"id"`
Version string `json:"version"`
Binary string `json:"binary"`
Repo string `json:"repo"`
InstalledAt string `json:"installed_at"`
ProvidesTools []string `json:"provides_tools"`
ProvidesStorage []string `json:"provides_storage"`
NeedsStorage []string `json:"needs_storage"`
// Extended fields for selective plugin loading.
Enabled bool `json:"enabled"`
ProvidesAI []string `json:"provides_ai,omitempty"`
NeedsAI []string `json:"needs_ai,omitempty"`
NeedsTools []string `json:"needs_tools,omitempty"`
ProvidesPrompts []string `json:"provides_prompts,omitempty"`
Description string `json:"description,omitempty"`
Author string `json:"author,omitempty"`
Platform string `json:"platform,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
}
PluginEntry describes a single installed plugin.
type PluginRegistry ¶
type PluginRegistry struct {
Plugins map[string]*PluginEntry `json:"plugins"`
}
PluginRegistry holds all installed third-party plugins, keyed by repo URL.
func LoadRegistry ¶
func LoadRegistry() (*PluginRegistry, error)
LoadRegistry reads the registry from disk. Returns an empty registry if the file does not exist.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package inprocess provides an in-process plugin router that dispatches tool calls, storage operations, and prompt requests via direct Go function calls instead of QUIC network round-trips.
|
Package inprocess provides an in-process plugin router that dispatches tool calls, storage operations, and prompt requests via direct Go function calls instead of QUIC network round-trips. |