Documentation
¶
Overview ¶
Package config provides types for interacting with clawker configuration files. It loads clawker.yaml (project) and settings.yaml (user) into a typed Config backed by storage.Store[T], with separate stores for project and settings schemas.
Index ¶
- Constants
- Variables
- func ConfigDir() string
- func DataDir() string
- func ProjectMigrations() []storage.Migration
- func ProjectRegistryFilePath() (string, error)
- func SettingsFilePath() (string, error)
- func StateDir() string
- func UserProjectConfigFilePath() (string, error)
- type AgentConfig
- type ArgDefinition
- type BuildConfig
- type ClaudeCodeConfig
- type ClaudeCodeConfigOptions
- type Config
- type CopyInstruction
- type DockerInstructions
- type EgressRule
- type FirewallConfig
- type FirewallSettings
- type GitCredentialsConfig
- type HostProxyConfig
- type HostProxyDaemonConfig
- type HostProxyManagerConfig
- type InjectConfig
- type KeyNotFoundError
- type LoggingConfig
- type LoopConfig
- type Mode
- type MonitoringConfig
- type NewConfigOption
- type OtelConfig
- type PathRule
- type Preset
- type Project
- type ProjectEntry
- type ProjectRegistry
- type SecurityConfig
- type Settings
- type TelemetryConfig
- type WorkspaceConfig
- type WorktreeEntry
Constants ¶
const DefaultIgnoreFile = `` /* 424-byte string literal not displayed */
DefaultIgnoreFile returns the default .clawkerignore content
Variables ¶
var ErrNotInProject = errors.New("current directory is not within a configured project root")
Functions ¶
func ConfigDir ¶ added in v0.2.0
func ConfigDir() string
ConfigDir returns the clawker config directory.
func ProjectMigrations ¶ added in v0.6.0
ProjectMigrations returns migrations for the project config store. Migrations run on each file during load and auto-save if they return true. Exported so that callers creating temporary probe stores (e.g. HasLocalProjectConfig) can apply the same migrations as the production config loader.
func ProjectRegistryFilePath ¶ added in v0.2.0
ProjectRegistryFilePath returns the absolute path to the project registry file.
func SettingsFilePath ¶ added in v0.2.0
SettingsFilePath returns the absolute path to the global settings file.
func UserProjectConfigFilePath ¶ added in v0.2.0
UserProjectConfigFilePath returns the absolute path to the user-level clawker.yaml file.
Types ¶
type AgentConfig ¶
type AgentConfig struct {
EnvFile []string `yaml:"env_file,omitempty" label:"Env Files" desc:"Load environment variables from .env-style files (e.g. .env.local)"`
FromEnv []string `` /* 137-byte string literal not displayed */
Env map[string]string `yaml:"env,omitempty" label:"Env" desc:"Set container env vars directly; use from_env to forward host values instead"`
Editor string `yaml:"editor,omitempty" label:"Editor" desc:"Editor for git commits and interactive editing inside the container"`
Visual string `yaml:"visual,omitempty" label:"Visual Editor" desc:"Visual editor ($VISUAL) for the container"`
ClaudeCode *ClaudeCodeConfig `yaml:"claude_code,omitempty"`
PostInit string `` /* 159-byte string literal not displayed */
}
AgentConfig defines Claude agent-specific settings.
func (*AgentConfig) SharedDirEnabled ¶
func (a *AgentConfig) SharedDirEnabled() bool
SharedDirEnabled returns whether the shared directory should be mounted (default: false).
type ArgDefinition ¶
type ArgDefinition struct {
Name string `yaml:"name" label:"Name" desc:"Build argument name (referenced as $NAME in Dockerfile instructions)"`
Default string `yaml:"default,omitempty" label:"Default" desc:"Value used when not overridden by --build-arg at build time"`
}
ArgDefinition represents an ARG instruction
type BuildConfig ¶
type BuildConfig struct {
Image string `yaml:"image" label:"Base Image" desc:"Starting Docker image (e.g. node:20-slim, python:3.12); clawker layers tools on top"`
Dockerfile string `` /* 155-byte string literal not displayed */
Packages []string `` /* 146-byte string literal not displayed */
Context string `` /* 152-byte string literal not displayed */
Instructions *DockerInstructions `yaml:"instructions,omitempty"`
Inject *InjectConfig `yaml:"inject,omitempty"`
}
BuildConfig defines the container build configuration
type ClaudeCodeConfig ¶
type ClaudeCodeConfig struct {
Config ClaudeCodeConfigOptions `yaml:"config"`
UseHostAuth *bool `` /* 152-byte string literal not displayed */
}
ClaudeCodeConfig controls Claude Code settings and authentication in containers.
func (*ClaudeCodeConfig) ConfigStrategy ¶
func (c *ClaudeCodeConfig) ConfigStrategy() string
ConfigStrategy returns the config strategy (default: "copy").
func (*ClaudeCodeConfig) UseHostAuthEnabled ¶
func (c *ClaudeCodeConfig) UseHostAuthEnabled() bool
UseHostAuthEnabled returns whether host auth should be used (default: true).
type ClaudeCodeConfigOptions ¶
type ClaudeCodeConfigOptions struct {
Strategy string `` /* 145-byte string literal not displayed */
}
ClaudeCodeConfigOptions controls how Claude Code config is initialized in containers.
type Config ¶
type Config interface {
ClawkerIgnoreName() string
Project() *Project
Settings() *Settings
// ProjectStore returns the underlying project config store.
// Prefer this over SetProject/WriteProject for direct store access.
ProjectStore() *storage.Store[Project]
// SettingsStore returns the underlying settings store.
// Prefer this over SetSettings/WriteSettings for direct store access.
SettingsStore() *storage.Store[Settings]
// Deprecated: Use SettingsStore().Read().Logging instead.
LoggingConfig() LoggingConfig
// Deprecated: Use SettingsStore().Read().Monitoring instead.
MonitoringConfig() MonitoringConfig
// Deprecated: Use SettingsStore().Read().HostProxy instead.
HostProxyConfig() HostProxyConfig
Domain() string
LabelDomain() string
ConfigDirEnvVar() string
StateDirEnvVar() string
DataDirEnvVar() string
TestRepoDirEnvVar() string
MonitorSubdir() (string, error)
BuildSubdir() (string, error)
DockerfilesSubdir() (string, error)
ClawkerNetwork() string
LogsSubdir() (string, error)
BridgesSubdir() (string, error)
PidsSubdir() (string, error)
BridgePIDFilePath(containerID string) (string, error)
HostProxyLogFilePath() (string, error)
HostProxyPIDFilePath() (string, error)
FirewallPIDFilePath() (string, error)
FirewallLogFilePath() (string, error)
WorktreesSubdir() (string, error)
LabelPrefix() string
LabelManaged() string
LabelProject() string
LabelAgent() string
LabelVersion() string
LabelImage() string
LabelCreated() string
LabelWorkdir() string
LabelPurpose() string
PurposeAgent() string
PurposeMonitoring() string
PurposeFirewall() string
LabelTestName() string
LabelBaseImage() string
LabelFlavor() string
LabelTest() string
LabelE2ETest() string
ManagedLabelValue() string
EngineLabelPrefix() string
EngineManagedLabel() string
ContainerUID() int
ContainerGID() int
GrafanaURL(host string, https bool) string
JaegerURL(host string, https bool) string
PrometheusURL(host string, https bool) string
RequiredFirewallDomains() []string
EgressRulesFileName() string
FirewallDataSubdir() (string, error)
FirewallCertSubdir() (string, error)
RequiredFirewallRules() []EgressRule
EnvoyIPLastOctet() byte
CoreDNSIPLastOctet() byte
EnvoyTLSPort() int
EnvoyTCPPortBase() int
EnvoyHTTPPort() int
EnvoyHealthHostPort() int
CoreDNSHealthHostPort() int
CoreDNSHealthPath() string
ProjectConfigFileName() string
SettingsFileName() string
ProjectRegistryFileName() string
GetProjectRoot() (string, error)
GetProjectIgnoreFile() (string, error)
}
Config is the public configuration contract. Add methods here as the config contract grows.
func NewBlankConfig ¶ added in v0.2.0
NewBlankConfig creates a Config with defaults but no file discovery. Useful as the default test double for consumers that don't care about specific config values.
func NewConfig ¶
func NewConfig(opts ...NewConfigOption) (Config, error)
NewConfig loads all clawker configuration files into a Config. The project store discovers clawker.yaml via walk-up (CWD → project root) and config dir. The settings store loads settings.yaml from config dir. Both stores use defaults as the lowest-priority base layer.
func NewFromString ¶ added in v0.2.0
NewFromString creates a Config from raw YAML strings without defaults. Empty strings produce empty structs. Useful for test fixtures that need precise control over values without defaults being merged.
type CopyInstruction ¶
type CopyInstruction struct {
Src string `yaml:"src" label:"Source" desc:"File or directory to copy from your project"`
Dest string `yaml:"dest" label:"Destination" desc:"Where to place it inside the container"`
Chown string `yaml:"chown,omitempty" label:"Chown" desc:"Set file ownership (e.g. claude:claude)"`
Chmod string `yaml:"chmod,omitempty" label:"Chmod" desc:"Set file permissions (e.g. 0644)"`
}
CopyInstruction represents a COPY instruction with optional chown/chmod
type DockerInstructions ¶
type DockerInstructions struct {
Copy []CopyInstruction `yaml:"copy,omitempty" label:"Copy" desc:"Bake config files or credentials into the image (e.g. .npmrc, SSH config)"`
Env map[string]string `yaml:"env,omitempty" label:"Env" desc:"Environment variables baked into the image; use agent.env for runtime-only vars"`
Labels map[string]string `yaml:"labels,omitempty" label:"Labels" desc:"Custom Docker labels for image metadata or tooling integration" merge:"union"`
Args []ArgDefinition `yaml:"args,omitempty" label:"Args" desc:"Build-time variables resolved during docker build (ARG); not available at runtime"`
UserRun []string `` /* 130-byte string literal not displayed */
RootRun []string `` /* 129-byte string literal not displayed */
}
DockerInstructions represents type-safe Dockerfile instructions
type EgressRule ¶ added in v0.5.0
type EgressRule struct {
Dst string `yaml:"dst" label:"Destination" desc:"Domain or IP the container needs to reach (e.g. api.github.com, registry.npmjs.org)"`
Proto string `` /* 127-byte string literal not displayed */
Port int `yaml:"port,omitempty" label:"Port" desc:"Override the default port (443 for TLS, 80 for HTTP)"`
Action string `yaml:"action,omitempty" label:"Action" desc:"Allow or deny traffic to this destination (default: allow)"`
PathRules []PathRule `` /* 132-byte string literal not displayed */
PathDefault string `` /* 131-byte string literal not displayed */
}
EgressRule defines a single egress firewall rule. Dst is the domain or IP, Proto defaults to "tls", Action defaults to "allow".
type FirewallConfig ¶
type FirewallConfig struct {
AddDomains []string `` /* 153-byte string literal not displayed */
Rules []EgressRule `yaml:"rules,omitempty" merge:"union" label:"Rules" desc:"Full egress rules with protocol, port, and path control"`
}
FirewallConfig defines per-project firewall rules in clawker.yaml. Global lifecycle control (enable/disable) lives in settings.yaml via FirewallSettings.
func (*FirewallConfig) GetFirewallDomains ¶
func (f *FirewallConfig) GetFirewallDomains(requiredDomains []string) []string
GetFirewallDomains returns required domains merged with user's add_domains.
type FirewallSettings ¶ added in v0.5.0
type FirewallSettings struct {
Enable *bool `` /* 177-byte string literal not displayed */
}
FirewallSettings controls global firewall lifecycle in settings.yaml. Per-project rules live in FirewallConfig (clawker.yaml).
func (*FirewallSettings) FirewallEnabled ¶ added in v0.5.0
func (f *FirewallSettings) FirewallEnabled() bool
FirewallEnabled returns whether the global firewall is enabled. Returns true when Enable is nil (default enabled) or explicitly true.
type GitCredentialsConfig ¶
type GitCredentialsConfig struct {
ForwardHTTPS *bool `` /* 142-byte string literal not displayed */
ForwardSSH *bool `yaml:"forward_ssh,omitempty" label:"Forward SSH" desc:"Let git use your host SSH keys for cloning and pushing" default:"true"`
ForwardGPG *bool `yaml:"forward_gpg,omitempty" label:"Forward GPG" desc:"Let git sign commits using your host GPG keys" default:"true"`
CopyGitConfig *bool `` /* 156-byte string literal not displayed */
}
GitCredentialsConfig defines git credential forwarding settings
func (*GitCredentialsConfig) CopyGitConfigEnabled ¶
func (g *GitCredentialsConfig) CopyGitConfigEnabled() bool
CopyGitConfigEnabled returns whether host .gitconfig should be copied. Returns true by default.
func (*GitCredentialsConfig) GPGEnabled ¶
func (g *GitCredentialsConfig) GPGEnabled() bool
GPGEnabled returns whether GPG agent forwarding should be enabled. Returns true by default.
func (*GitCredentialsConfig) GitHTTPSEnabled ¶
func (g *GitCredentialsConfig) GitHTTPSEnabled(hostProxyEnabled bool) bool
GitHTTPSEnabled returns whether HTTPS credential forwarding should be enabled. Returns true if host proxy is enabled and not explicitly disabled.
func (*GitCredentialsConfig) GitSSHEnabled ¶
func (g *GitCredentialsConfig) GitSSHEnabled() bool
GitSSHEnabled returns whether SSH agent forwarding should be enabled. Returns true by default.
type HostProxyConfig ¶ added in v0.2.0
type HostProxyConfig struct {
Manager HostProxyManagerConfig `yaml:"manager,omitempty"`
Daemon HostProxyDaemonConfig `yaml:"daemon,omitempty"`
}
HostProxyConfig configures the host proxy.
type HostProxyDaemonConfig ¶ added in v0.2.0
type HostProxyDaemonConfig struct {
Port int `yaml:"port" label:"Daemon Port" desc:"Local port the proxy daemon binds to" default:"18374"`
PollInterval time.Duration `` /* 127-byte string literal not displayed */
GracePeriod time.Duration `` /* 135-byte string literal not displayed */
MaxConsecutiveErrs int `` /* 150-byte string literal not displayed */
}
HostProxyDaemonConfig defines configuration for the host proxy daemon.
type HostProxyManagerConfig ¶ added in v0.2.0
type HostProxyManagerConfig struct {
Port int `yaml:"port" label:"Manager Port" desc:"Local port the host proxy listens on (change if 18374 conflicts)" default:"18374"`
}
HostProxyManagerConfig configures the host proxy manager.
type InjectConfig ¶
type InjectConfig struct {
AfterFrom []string `` /* 202-byte string literal not displayed */
AfterPackages []string `` /* 207-byte string literal not displayed */
AfterUserSetup []string `` /* 201-byte string literal not displayed */
AfterUserSwitch []string `` /* 190-byte string literal not displayed */
AfterClaudeInstall []string `` /* 204-byte string literal not displayed */
BeforeEntrypoint []string `` /* 195-byte string literal not displayed */
}
InjectConfig defines injection points for arbitrary Dockerfile instructions
type KeyNotFoundError ¶ added in v0.2.0
type KeyNotFoundError struct {
Key string
}
KeyNotFoundError indicates a configuration key was not found.
func (*KeyNotFoundError) Error ¶ added in v0.2.0
func (e *KeyNotFoundError) Error() string
type LoggingConfig ¶
type LoggingConfig struct {
FileEnabled *bool `` /* 139-byte string literal not displayed */
MaxSizeMB int `yaml:"max_size_mb,omitempty" label:"Max Log Size (MB)" desc:"Rotate the log file when it exceeds this size" default:"50"`
MaxAgeDays int `yaml:"max_age_days,omitempty" label:"Max Log Age (days)" desc:"Delete rotated logs older than this" default:"7"`
MaxBackups int `yaml:"max_backups,omitempty" label:"Max Backups" desc:"Number of rotated log files to keep" default:"3"`
Compress *bool `yaml:"compress,omitempty" label:"Compress Logs" desc:"Gzip rotated logs to save disk space" default:"true"`
Otel OtelConfig `yaml:"otel,omitempty"`
}
LoggingConfig configures file-based logging.
type LoopConfig ¶ added in v0.1.4
type LoopConfig struct {
MaxLoops int `yaml:"max_loops,omitempty" label:"Max Loops" desc:"Hard cap on iterations to prevent runaway loops"`
StagnationThreshold int `` /* 132-byte string literal not displayed */
TimeoutMinutes int `yaml:"timeout_minutes,omitempty" label:"Timeout (min)" desc:"Kill the loop after this long regardless of progress"`
CallsPerHour int `yaml:"calls_per_hour,omitempty" label:"Calls per Hour" desc:"Throttle API calls to control cost"`
CompletionThreshold int `yaml:"completion_threshold,omitempty" label:"Completion Threshold" desc:"Quality score at which the task is considered done"`
SessionExpirationHours int `` /* 136-byte string literal not displayed */
SameErrorThreshold int `` /* 138-byte string literal not displayed */
OutputDeclineThreshold int `` /* 144-byte string literal not displayed */
MaxConsecutiveTestLoops int `` /* 160-byte string literal not displayed */
LoopDelaySeconds int `yaml:"loop_delay_seconds,omitempty" label:"Loop Delay (sec)" desc:"Pause between iterations (e.g. to avoid rate limits)"`
SafetyCompletionThreshold int `` /* 148-byte string literal not displayed */
SkipPermissions bool `` /* 144-byte string literal not displayed */
HooksFile string `` /* 131-byte string literal not displayed */
AppendSystemPrompt string `` /* 150-byte string literal not displayed */
}
LoopConfig defines configuration for autonomous agent loops.
func (*LoopConfig) GetAppendSystemPrompt ¶ added in v0.1.4
func (r *LoopConfig) GetAppendSystemPrompt() string
GetAppendSystemPrompt returns the additional system prompt (empty string if not configured).
func (*LoopConfig) GetHooksFile ¶ added in v0.1.4
func (r *LoopConfig) GetHooksFile() string
GetHooksFile returns the hooks file path (empty string if not configured).
func (*LoopConfig) GetMaxLoops ¶ added in v0.1.4
func (r *LoopConfig) GetMaxLoops() int
GetMaxLoops returns the max loops with default fallback.
func (*LoopConfig) GetStagnationThreshold ¶ added in v0.1.4
func (r *LoopConfig) GetStagnationThreshold() int
GetStagnationThreshold returns the stagnation threshold with default fallback.
func (*LoopConfig) GetTimeoutMinutes ¶ added in v0.1.4
func (r *LoopConfig) GetTimeoutMinutes() int
GetTimeoutMinutes returns the timeout in minutes with default fallback.
type MonitoringConfig ¶ added in v0.1.6
type MonitoringConfig struct {
OtelCollectorEndpoint string `` /* 155-byte string literal not displayed */
OtelCollectorPort int `yaml:"otel_collector_port,omitempty" label:"OTEL Collector Port" desc:"Host port for the OTEL HTTP receiver" default:"4318"`
OtelCollectorHost string `` /* 141-byte string literal not displayed */
OtelCollectorInternal string `` /* 166-byte string literal not displayed */
OtelGRPCPort int `yaml:"otel_grpc_port,omitempty" label:"OTEL gRPC Port" desc:"Host port for the OTEL gRPC receiver" default:"4317"`
LokiPort int `yaml:"loki_port,omitempty" label:"Loki Port" desc:"Host port for Loki log ingestion" default:"3100"`
PrometheusPort int `yaml:"prometheus_port,omitempty" label:"Prometheus Port" desc:"Host port for Prometheus metrics UI" default:"9090"`
JaegerPort int `yaml:"jaeger_port,omitempty" label:"Jaeger Port" desc:"Host port for Jaeger tracing UI" default:"16686"`
GrafanaPort int `yaml:"grafana_port,omitempty" label:"Grafana Port" desc:"Host port for Grafana dashboards" default:"3000"`
PrometheusMetricsPort int `` /* 136-byte string literal not displayed */
Telemetry TelemetryConfig `yaml:"telemetry,omitempty"`
}
MonitoringConfig configures monitoring stack ports and OTEL endpoints.
type NewConfigOption ¶ added in v0.6.0
type NewConfigOption func(*newConfigOptions)
func WithDefaultProjectYAML ¶ added in v0.6.0
func WithDefaultProjectYAML(yaml string) NewConfigOption
func WithDefaultSettingsYAML ¶ added in v0.6.0
func WithDefaultSettingsYAML(yaml string) NewConfigOption
type OtelConfig ¶ added in v0.1.6
type OtelConfig struct {
Enabled *bool `` /* 127-byte string literal not displayed */
TimeoutSeconds int `yaml:"timeout_seconds,omitempty" label:"OTEL Timeout (sec)" desc:"Give up on an export batch after this long" default:"5"`
MaxQueueSize int `` /* 149-byte string literal not displayed */
ExportIntervalSeconds int `` /* 144-byte string literal not displayed */
}
OtelConfig configures the OTEL zerolog bridge.
type PathRule ¶ added in v0.5.0
type PathRule struct {
Path string `yaml:"path" label:"Path" desc:"URL path prefix to match (e.g. /v1/api, /repos/myorg)"`
Action string `yaml:"action" label:"Action" desc:"Whether to allow or deny requests matching this path"`
}
PathRule defines an HTTP path-level filtering rule for MITM inspection.
type Preset ¶ added in v0.6.0
type Preset struct {
Name string // Display name (used as select option label)
Description string // Short description (used as select option secondary text)
YAML string // Partial clawker.yaml content
AutoCustomize bool // If true, skip "save and get started" and go straight to wizard
}
Preset defines a language-specific project configuration template. Each preset provides a partial YAML overlay — fields not specified are filled from schema defaults via WithDefaultsFromStruct[Project]().
type Project ¶
type Project struct {
Build BuildConfig `yaml:"build"`
Agent AgentConfig `yaml:"agent"`
Workspace WorkspaceConfig `yaml:"workspace"`
Security SecurityConfig `yaml:"security"`
Loop *LoopConfig `yaml:"loop,omitempty"`
}
Project represents the root configuration structure for clawker.yaml.
Project is a pure persisted schema model for clawker.yaml.
type ProjectEntry ¶
type ProjectEntry struct {
Name string `yaml:"name" label:"Name" desc:"Project slug identifier"`
Root string `yaml:"root" label:"Root" desc:"Filesystem path to project root"`
Worktrees map[string]WorktreeEntry `yaml:"worktrees,omitempty" label:"Worktrees" desc:"Active worktrees for this project"`
}
ProjectEntry represents a project in the registry.
type ProjectRegistry ¶
type ProjectRegistry struct {
Projects []ProjectEntry `yaml:"projects" label:"Projects" desc:"Registered projects"`
}
ProjectRegistry is the on-disk structure for projects.yaml.
func (ProjectRegistry) Fields ¶ added in v0.6.0
func (r ProjectRegistry) Fields() storage.FieldSet
Fields implements storage.Schema for ProjectRegistry.
type SecurityConfig ¶
type SecurityConfig struct {
Firewall *FirewallConfig `yaml:"firewall,omitempty"`
DockerSocket bool `` /* 199-byte string literal not displayed */
CapAdd []string `` /* 197-byte string literal not displayed */
EnableHostProxy *bool `` /* 156-byte string literal not displayed */
GitCredentials *GitCredentialsConfig `yaml:"git_credentials,omitempty"`
}
func (*SecurityConfig) HostProxyEnabled ¶
func (s *SecurityConfig) HostProxyEnabled() bool
HostProxyEnabled returns whether the host proxy should be enabled. Returns true if not explicitly set (defaults to enabled).
type Settings ¶
type Settings struct {
Logging LoggingConfig `yaml:"logging,omitempty"`
Monitoring MonitoringConfig `yaml:"monitoring,omitempty"`
HostProxy HostProxyConfig `yaml:"host_proxy,omitempty"`
Firewall FirewallSettings `yaml:"firewall,omitempty"`
}
Settings represents user-level configuration stored in ~/.config/clawker/settings.yaml.
type TelemetryConfig ¶ added in v0.1.6
type TelemetryConfig struct {
MetricsPath string `yaml:"metrics_path,omitempty" label:"Metrics Path" desc:"OTEL collector HTTP path for metrics" default:"/v1/metrics"`
LogsPath string `yaml:"logs_path,omitempty" label:"Logs Path" desc:"OTEL collector HTTP path for logs" default:"/v1/logs"`
MetricExportIntervalMs int `` /* 182-byte string literal not displayed */
LogsExportIntervalMs int `` /* 175-byte string literal not displayed */
LogToolDetails *bool `` /* 166-byte string literal not displayed */
LogUserPrompts *bool `` /* 136-byte string literal not displayed */
IncludeAccountUUID *bool `` /* 164-byte string literal not displayed */
IncludeSessionID *bool `` /* 154-byte string literal not displayed */
}
TelemetryConfig configures telemetry export paths and intervals.
type WorkspaceConfig ¶
type WorkspaceConfig struct {
DefaultMode string `` /* 164-byte string literal not displayed */
}
WorkspaceConfig defines workspace mounting behavior
type WorktreeEntry ¶ added in v0.2.0
type WorktreeEntry struct {
Path string `yaml:"path" label:"Path" desc:"Filesystem path to worktree"`
Branch string `yaml:"branch,omitempty" label:"Branch" desc:"Git branch for this worktree"`
}
WorktreeEntry represents a worktree within a project.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
storeui
|
|
|
project
Package project provides the domain adapter for editing config.Project via storeui.
|
Package project provides the domain adapter for editing config.Project via storeui. |
|
settings
Package settings provides the domain adapter for editing config.Settings via storeui.
|
Package settings provides the domain adapter for editing config.Settings via storeui. |