Documentation
¶
Index ¶
Constants ¶
const ( // ConfigFileKindConfiguration is for settings and JSON config files. ConfigFileKindConfiguration ConfigFileKind = "configuration" // ConfigFileKindInstruction is for markdown instruction/rules files. ConfigFileKindInstruction ConfigFileKind = "instruction" // EvidenceID is the identifier for the AI agent config material type EvidenceID = "CHAINLOOP_AI_AGENT_CONFIG" // EvidenceSchemaURL is the URL to the JSON schema for AI agent config EvidenceSchemaURL = "https://schemas.chainloop.dev/aiagentconfig/0.1/ai-agent-config.schema.json" )
Variables ¶
This section is empty.
Functions ¶
func DiscoverAll ¶
func DiscoverAll(basePath string) (map[string][]DiscoveredFile, error)
DiscoverAll searches basePath for AI agent configuration files and groups them by agent. Only agents with at least one exclusive file match are included. Shared files are appended to each detected agent's file list. Returns a map of agent name → sorted, deduplicated discovered files.
Types ¶
type ConfigFile ¶
type ConfigFile struct {
Path string `json:"path"`
Kind ConfigFileKind `json:"kind"`
SHA256 string `json:"sha256"`
Size int64 `json:"size"`
Content string `json:"content"`
}
ConfigFile represents a single discovered configuration file
type ConfigFileKind ¶ added in v1.82.3
type ConfigFileKind string
ConfigFileKind classifies the purpose of a discovered configuration file.
type Data ¶ added in v1.82.3
type Data struct {
Agent Agent `json:"agent"`
ConfigHash string `json:"config_hash"`
CapturedAt string `json:"captured_at"`
GitContext *GitContext `json:"git_context,omitempty"`
ConfigFiles []ConfigFile `json:"config_files"`
// Future fields for richer analysis
Permissions any `json:"permissions,omitempty"`
MCPServers any `json:"mcp_servers,omitempty"`
Subagents any `json:"subagents,omitempty"`
}
Data is the AI agent configuration payload
func Build ¶
func Build(basePath string, discovered []DiscoveredFile, agentName string, gitCtx *GitContext) (*Data, error)
Build reads discovered files and constructs the AI agent config payload. basePath is the base directory, discovered contains files relative to basePath with their kinds. agentName identifies the AI agent (e.g. "claude", "cursor"). gitCtx may be nil if not in a git repository.
type DiscoveredFile ¶ added in v1.82.3
type DiscoveredFile struct {
Path string
Kind ConfigFileKind
}
DiscoveredFile represents a file found during discovery, before reading its content.
type Evidence ¶
type Evidence struct {
ID string `json:"chainloop.material.evidence.id"`
Schema string `json:"schema"`
Data Data `json:"data"`
}
Evidence represents the complete evidence structure for AI agent config
func NewEvidence ¶ added in v1.82.3
NewEvidence creates a new Evidence instance
type GitContext ¶
type GitContext struct {
Repository string `json:"repository,omitempty"`
Branch string `json:"branch,omitempty"`
CommitSHA string `json:"commit_sha,omitempty"`
}
GitContext holds optional git information at capture time