Help us shape the future of Go! Take the 2026 Go Developer Survey

agents

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2026 License: EUPL-1.2 Imports: 12 Imported by: 0

Documentation

Overview

Package agents découvre les définitions de sous-agents (fichiers <nom>.md compatibles Claude Code) et construit leur prompt système.

Index

Constants

View Source
const (
	// GeneralPurpose est le nom de l'agent intégré, utilisé par défaut.
	GeneralPurpose = "general-purpose"
	// MaxAgents est le nombre maximal de fichiers d'agents retenus.
	MaxAgents = 100
	// MaxAgentBytes est la taille maximale lue pour un fichier d'agent.
	MaxAgentBytes = 32768
)

Variables

This section is empty.

Functions

func Discover

func Discover(lang i18n.Lang, dirs []Dir) (*Catalog, []Notice)

Discover parcourt les répertoires dans l'ordre ; en cas de doublon, le premier gagne. Les bases de projet en lien symbolique et les fichiers non réguliers sont ignorés. L'agent intégré est ajouté s'il n'est pas défini.

func SystemPrompt

func SystemPrompt(lang i18n.Lang, base, skillsSection string, a Agent, withSkills bool) string

SystemPrompt assemble le prompt système d'un sous-agent : base, section des skills (si withSkills), préambule, puis le corps de l'agent.

func TranslateTools

func TranslateTools(names []string) (tools []string, unknown []string)

TranslateTools convertit une liste d'outils Claude Code en noms tenon (sans doublon, suffixe « (...) » retiré, mcp__* conservé). Les noms inconnus (dont agent) sont renvoyés dans unknown. tools est jamais nil.

Types

type Agent

type Agent struct {
	Name, Description string
	Source            Source
	Path              string
	Tools             []string
	Model             string
	Body              string
	Truncated         bool
}

Agent décrit un sous-agent. Tools == nil signifie tous les outils de la session sauf agent ; une clé tools: présente donne toujours un non-nil.

type Catalog

type Catalog struct {
	// contains filtered or unexported fields
}

Catalog contient les agents découverts.

func (*Catalog) FileCount

func (c *Catalog) FileCount() (total, project int)

FileCount renvoie le nombre d'agents issus de fichiers et, parmi eux, ceux du projet.

func (*Catalog) Get

func (c *Catalog) Get(name string) (Agent, bool)

Get renvoie l'agent de ce nom.

func (*Catalog) List

func (c *Catalog) List() []Agent

List renvoie les agents : l'intégré d'abord (sauf s'il est remplacé), puis l'ordre de découverte.

func (*Catalog) PromptSection

func (c *Catalog) PromptSection(lang i18n.Lang, budget int) (section string, dropped int)

PromptSection renvoie la section « agents disponibles » du prompt système. Au-delà de budget octets, les descriptions sont coupées à 200 caractères, puis les derniers agents sont retirés (dropped).

type Dir

type Dir struct {
	Path   string
	Source Source
}

Dir est un répertoire d'agents et son origine.

func Dirs

func Dirs(getenv func(string) string, projectRoot string) []Dir

Dirs renvoie les répertoires d'agents, mêmes bases et même priorité que les skills, le dernier élément « skills » devenant « agents ».

type Notice

type Notice string

Notice est un message d'information (agent ignoré, limite atteinte).

type Source

type Source string

Source indique l'origine d'un agent.

const (
	Builtin Source = "builtin"
	User    Source = "user"
	Project Source = "project"
)

Jump to

Keyboard shortcuts

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