agents

package
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package agents provides integration with various AI coding agents. Supports Claude Code, Cursor, Cline, and other AI assistants.

Index

Constants

This section is empty.

Variables

View Source
var (
	// Claude Code - uses ccusage for tracking
	ClaudeCode = Agent{
		Name:        "claude-code",
		DisplayName: "Claude Code",
		BinaryName:  "claude",
		ConfigPath:  "~/.claude/settings.json",
		DetectFunc:  detectClaudeCode,
		SetupFunc:   setupClaudeCode,
		StatusFunc:  statusClaudeCode,
	}

	// Cursor - VS Code fork with AI
	Cursor = Agent{
		Name:        "cursor",
		DisplayName: "Cursor",
		BinaryName:  "cursor",
		ConfigPath:  "~/.cursor/settings.json",
		DetectFunc:  detectCursor,
		SetupFunc:   setupCursor,
		StatusFunc:  statusCursor,
	}

	// Cline - VS Code extension
	Cline = Agent{
		Name:        "cline",
		DisplayName: "Cline",
		BinaryName:  "code",
		ConfigPath:  "~/.vscode/settings.json",
		DetectFunc:  detectCline,
		SetupFunc:   setupCline,
		StatusFunc:  statusCline,
	}

	// Continue - open source AI assistant
	Continue = Agent{
		Name:        "continue",
		DisplayName: "Continue",
		BinaryName:  "continue",
		ConfigPath:  "~/.continue/config.json",
		DetectFunc:  detectContinue,
		SetupFunc:   setupContinue,
		StatusFunc:  statusContinue,
	}

	// Aider - terminal-based AI pair programmer
	Aider = Agent{
		Name:        "aider",
		DisplayName: "Aider",
		BinaryName:  "aider",
		ConfigPath:  "~/.aider.conf.yml",
		DetectFunc:  detectAider,
		SetupFunc:   setupAider,
		StatusFunc:  statusAider,
	}

	// Codex CLI - OpenAI's coding agent
	CodexCLI = Agent{
		Name:        "codex-cli",
		DisplayName: "Codex CLI",
		BinaryName:  "codex",
		ConfigPath:  "~/.codex/config.json",
		DetectFunc:  detectCodexCLI,
		SetupFunc:   setupCodexCLI,
		StatusFunc:  statusCodexCLI,
	}

	// AdaL - SylphAI's AI Agent
	AdaL = Agent{
		Name:        "adal",
		DisplayName: "AdaL (SylphAI)",
		BinaryName:  "adal",
		ConfigPath:  "~/.adal/config",
		DetectFunc:  detectAdaL,
		SetupFunc:   setupAdaL,
		StatusFunc:  statusAdaL,
	}

	// Kiro - AI coding agent
	Kiro = Agent{
		Name:        "kiro",
		DisplayName: "Kiro",
		BinaryName:  "kiro",
		ConfigPath:  "~/.kilorc",
		DetectFunc:  detectKiro,
		SetupFunc:   setupKiro,
		StatusFunc:  statusKiro,
	}

	// Kilo Code - AI coding agent
	KiloCode = Agent{
		Name:        "kilo-code",
		DisplayName: "Kilo Code",
		BinaryName:  "kilo",
		ConfigPath:  "~/.kilorc",
		DetectFunc:  detectKiloCode,
		SetupFunc:   setupKiloCode,
		StatusFunc:  statusKiloCode,
	}

	// Windsurf - Codeium's AI IDE
	Windsurf = Agent{
		Name:        "windsurf",
		DisplayName: "Windsurf",
		BinaryName:  "windsurf",
		ConfigPath:  "~/.windsurf/settings.json",
		DetectFunc:  detectWindsurf,
		SetupFunc:   setupWindsurf,
		StatusFunc:  statusWindsurf,
	}

	// Replit Agent - Cloud-based AI agent
	ReplitAgent = Agent{
		Name:        "replit-agent",
		DisplayName: "Replit Agent",
		BinaryName:  "replit",
		ConfigPath:  ".replit",
		DetectFunc:  detectReplitAgent,
		SetupFunc:   setupReplitAgent,
		StatusFunc:  statusReplitAgent,
	}

	// Gemini CLI - Google's Gemini CLI
	GeminiCLI = Agent{
		Name:        "gemini-cli",
		DisplayName: "Gemini CLI",
		BinaryName:  "gemini",
		ConfigPath:  "~/.gemini/settings.json",
		DetectFunc:  detectGeminiCLI,
		SetupFunc:   setupGeminiCLI,
		StatusFunc:  statusGeminiCLI,
	}

	// OpenCode - Open source AI coding agent
	OpenCode = Agent{
		Name:        "opencode",
		DisplayName: "OpenCode",
		BinaryName:  "opencode",
		ConfigPath:  "~/.config/opencode/config.toml",
		DetectFunc:  detectOpenCode,
		SetupFunc:   setupOpenCode,
		StatusFunc:  statusOpenCode,
	}

	// AllAgents is the list of supported agents
	AllAgents = []Agent{
		ClaudeCode, Cursor, Cline, Continue, Aider, CodexCLI,
		AdaL, Kiro, KiloCode, Windsurf, ReplitAgent, GeminiCLI, OpenCode,
	}
)

Known agents

Functions

func InstallInstructions

func InstallInstructions(name string) string

InstallInstructions returns installation instructions for an agent

func SetupAgent

func SetupAgent(name string) error

SetupAgent configures a specific agent for TokMan integration

Types

type Agent

type Agent struct {
	Name        string
	DisplayName string
	ConfigPath  string
	BinaryName  string
	DetectFunc  func() bool
	SetupFunc   func() error
	StatusFunc  func() (*AgentStatus, error)
}

Agent represents an AI coding agent integration

func GetAgent

func GetAgent(name string) *Agent

GetAgent returns an agent by name

type AgentStatus

type AgentStatus struct {
	Name         string `json:"name"`
	Installed    bool   `json:"installed"`
	Configured   bool   `json:"configured"`
	Version      string `json:"version,omitempty"`
	ConfigPath   string `json:"config_path,omitempty"`
	TokenUsage   int64  `json:"token_usage,omitempty"`
	LastActive   string `json:"last_active,omitempty"`
	ErrorMessage string `json:"error,omitempty"`
}

AgentStatus represents the current status of an agent integration

func DetectAll

func DetectAll() []*AgentStatus

DetectAll returns status of all known agents

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL