agent

package
v0.1.26 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2026 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AddMcpCmd = &cobra.Command{
	Use:   "add-mcp [name] [args...]",
	Short: "Add an MCP server entry to agent.yaml",
	Long:  `Add an MCP server entry to agent.yaml. Use flags for non-interactive setup or run without flags to open the wizard.`,
	Args:  cobra.ArbitraryArgs,
	RunE:  runAddMcp,
}
View Source
var AddSkillCmd = &cobra.Command{
	Use:   "add-skill <name>",
	Short: "Add a skill to the agent",
	Long: `Add a skill to the agent manifest.

Skills can be added from the following sources:

- A container image (via --image)
- An existing skill registry (via --registry-skill-name)

When starting a new skill from scratch, use 'arctl skill init' instead.

Examples:
  arctl agent add-skill my-skill --image docker.io/org/skill:latest
  arctl agent add-skill my-skill --registry-skill-name cool-skill
`,
	Args: cobra.ExactArgs(1),
	RunE: runAddSkill,
}
View Source
var AgentCmd = &cobra.Command{
	Use:   "agent",
	Short: "Commands for managing agents",
	Long:  `Commands for managing agents.`,
	Args:  cobra.ArbitraryArgs,
	Example: `arctl agent list
arctl agent show dice
arctl agent publish ./my-agent
arctl agent delete dice
arctl agent run ./my-agent`,
}
View Source
var BuildCmd = &cobra.Command{
	Use:   "build [project-directory]",
	Short: "Build Docker images for an agent project",
	Long: `Build Docker images for an agent project created with the init command.

This command looks for agent.yaml in the specified directory, regenerates template artifacts,
and invokes docker build (plus optional push) for both the agent and any command-type MCP servers.`,
	Args:    cobra.ExactArgs(1),
	RunE:    runBuild,
	Example: `arctl agent build ./my-agent`,
}
View Source
var DeleteCmd = &cobra.Command{
	Use:   "delete <agent-name>",
	Short: "Delete an agent from the registry",
	Long: `Delete an agent from the registry.

Examples:
  arctl agent delete my-agent --version 1.0.0`,
	Args:          cobra.ExactArgs(1),
	SilenceUsage:  true,
	SilenceErrors: false,
	RunE:          runDelete,
}
View Source
var DeployCmd = &cobra.Command{
	Use:   "deploy [agent-name]",
	Short: "Deploy an agent",
	Long: `Deploy an agent from the registry.

Example:
  arctl agent deploy my-agent --version latest
  arctl agent deploy my-agent --version 1.2.3
  arctl agent deploy my-agent --version latest --runtime kubernetes`,
	Args: cobra.ExactArgs(1),
	PreRunE: func(cmd *cobra.Command, args []string) error {
		runtimeFlag, _ := cmd.Flags().GetString("runtime")
		if runtimeFlag != "" {
			if err := runtime.ValidateRuntime(runtimeFlag); err != nil {
				return err
			}
		}
		return nil
	},
	RunE: runDeploy,
}
View Source
var InitCmd = &cobra.Command{
	Use:   "init [framework] [language] [agent-name]",
	Short: "Initialize a new agent project",
	Long: `Initialize a new agent project using the specified framework and language.

You can customize the root agent instructions using the --instruction-file flag.
You can select a specific model using --model-provider and --model-name flags.
You can specify a custom Docker image using the --image flag.
If no custom instruction file is provided, a default dice-rolling instruction will be used.
If no model flags are provided, defaults to Gemini (gemini-2.0-flash).

Examples:
arctl agent init adk python dice
arctl agent init adk python dice --instruction-file instructions.md
arctl agent init adk python dice --model-provider Gemini --model-name gemini-2.0-flash
arctl agent init adk python dice --image ghcr.io/myorg/dice:v1.0`,
	Args:    cobra.ExactArgs(3),
	RunE:    runInit,
	Example: `arctl agent init adk python dice`,
}
View Source
var ListCmd = &cobra.Command{
	Use:   "list",
	Short: "List agents",
	Long:  `List agents in the registry.`,
	RunE:  runList,
}
View Source
var PublishCmd = &cobra.Command{
	Use:   "publish [agent-name|project-directory]",
	Short: "Publish an agent to the registry",
	Long: `Publish an agent to the registry.

This command supports two modes:

1. From a local project directory (with agent.yaml):
   arctl agent publish ./my-agent

2. Direct registration (without agent.yaml):
   arctl agent publish my-agent --github https://github.com/myorg/my-agent

Agent name format:
  - Must start and end with alphanumeric characters
  - Can contain letters, numbers, dots (.), and hyphens (-)
  - Minimum 2 characters
  - Examples: my-agent, agent.v2, myAgent123

Examples:
  # Publish from current directory (reads metadata from agent.yaml)
  arctl agent publish

  # Publish from specified directory
  arctl agent publish ./my-agent

  # Publish directly with name and GitHub repo (no agent.yaml needed)
  arctl agent publish my-agent \
    --github https://github.com/myorg/my-agent \
    --version 1.0.0 \
    --description "My agent"

  # Show what would be published
  arctl agent publish --dry-run`,
	Args:          cobra.MaximumNArgs(1),
	SilenceUsage:  true,
	SilenceErrors: false,
	RunE:          runPublish,
}
View Source
var RunCmd = &cobra.Command{
	Use:   "run [project-directory-or-agent-name]",
	Short: "Run an agent locally and launch the interactive chat",
	Long: `Run an agent project locally via docker compose. If the argument is a directory,
arctl uses the local files; otherwise it fetches the agent by name from the registry and
launches the same chat interface.`,
	Args: cobra.ExactArgs(1),
	RunE: runRun,
	Example: `arctl agent run ./my-agent
arctl agent run dice`,
}
View Source
var ShowCmd = &cobra.Command{
	Use:   "show <agent-name>",
	Short: "Show details of an agent",
	Long:  `Shows detailed information about an agent.`,
	Args:  cobra.ExactArgs(1),
	RunE:  runShow,
}

Functions

func SetAPIClient

func SetAPIClient(client *client.Client)

Types

This section is empty.

Directories

Path Synopsis
tui

Jump to

Keyboard shortcuts

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