Documentation
¶
Overview ¶
Package profile is part of the GoFastr harness.
See docs/harness-architecture.md for the architecture this package implements.
Package profile loads and validates harness profile TOML files. Per § Profiles, a profile is config not code; new profiles ship as new .toml files without touching the engine.
We use a minimal stdlib-only TOML reader covering exactly the subset the v0.1 schema requires:
- top-level scalars: schema_version, name, default_model, prompt_header, permissions, allow_project_hooks
- top-level string arrays: context_sources, skill_packs, tool_packs
- inline tables in an array: mcp_servers = [{...}, {...}]
More complex TOML (deeply nested tables, table arrays with multiple lines, datetime types) is intentionally rejected — keep the surface tight, fail loudly on overreach.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MCPServerSpec ¶
type MCPServerSpec struct {
Name string
Cmd string
Args []string
SHA256 string // required when loaded from project scope
Discovery string // "eager" | "lazy"
}
MCPServerSpec describes one MCP server the profile auto-starts.
type Profile ¶
type Profile struct {
SchemaVersion int
Name string
DefaultModel string
PromptHeader string
ContextSources []string
SkillPacks []string
MCPServers []MCPServerSpec
ToolPacks []string
PermissionsPreset string
AllowProjectHooks bool
}
Profile is the parsed schema.