sync

package
v0.12.1 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2026 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CleanAntigravityChimePlugin added in v0.12.1

func CleanAntigravityChimePlugin(sys System, root string) error

CleanAntigravityChimePlugin removes the dedicated Agent Layer-owned Antigravity chime plugin, preserving any other user plugins or .agents state.

func CleanAntigravityOutputs added in v0.11.0

func CleanAntigravityOutputs(sys System, root string) error

CleanAntigravityOutputs removes Agent Layer-managed Antigravity files.

func CleanClaudeChimeHook added in v0.12.1

func CleanClaudeChimeHook(sys System, root string) error

CleanClaudeChimeHook removes only Agent Layer's generated chime handler from .claude/settings.json. It is used when both Claude surfaces are disabled, so the normal settings regeneration path will not run.

func CleanCodexChimeHook added in v0.12.1

func CleanCodexChimeHook(sys System, root string) error

CleanCodexChimeHook removes only Agent Layer-owned Codex chime hooks from .codex/config.toml. It is used when Codex is disabled, so the normal Codex config merge path will not run.

func CleanCodexInstructions added in v0.12.1

func CleanCodexInstructions(sys System, root string) error

CleanCodexInstructions removes the retired Codex-specific instruction shim. Codex reads root AGENTS.md as project instructions. When CODEX_HOME points at repo-local .codex, .codex/AGENTS.md is loaded as home-level instructions and duplicates the project document.

func CleanCopilotOutputs added in v0.9.2

func CleanCopilotOutputs(sys System, root string) error

CleanCopilotOutputs removes Copilot CLI artifacts generated by previous syncs. Call this when agents.copilot_cli is disabled so stale config does not persist.

func CleanLegacySkillOutputs added in v0.10.0

func CleanLegacySkillOutputs(sys System, root string) error

CleanLegacySkillOutputs removes retired Agent Layer-generated skill projection directories. Agent Layer claims exclusive ownership of these paths (see docs/SKILL-CLIENT-SPEC.md "Ownership of legacy projection paths") and removes them unconditionally. The canonical list lives in config.LegacySkillProjections.

func CleanSharedAgentSkills added in v0.10.0

func CleanSharedAgentSkills(sys System, root string) error

CleanSharedAgentSkills removes generated .agents/skills entries when no shared-skill consumer is enabled.

func EnsureEnabled

func EnsureEnabled(name string, enabled *bool) error

EnsureEnabled is a helper for command handlers.

func WriteAgentSkills added in v0.10.0

func WriteAgentSkills(sys System, root string, commands []config.Skill) error

WriteAgentSkills generates shared Agent Skills in .agents/skills/<name>/SKILL.md.

func WriteAntigravityChimePlugin added in v0.12.1

func WriteAntigravityChimePlugin(sys System, root string, project *config.ProjectConfig) error

WriteAntigravityChimePlugin writes the Agent Layer-owned Antigravity Stop hook plugin used by notifications.chime.

func WriteAntigravityMCPConfig added in v0.11.0

func WriteAntigravityMCPConfig(sys System, root string, project *config.ProjectConfig) error

WriteAntigravityMCPConfig generates .agy/antigravity-cli/mcp_config.json.

func WriteAntigravitySettings added in v0.11.0

func WriteAntigravitySettings(sys System, root string, project *config.ProjectConfig) error

WriteAntigravitySettings generates .agy/antigravity-cli/settings.json.

func WriteClaudeSettings

func WriteClaudeSettings(sys System, root string, project *config.ProjectConfig) error

WriteClaudeSettings generates .claude/settings.json.

func WriteClaudeSkills added in v0.10.0

func WriteClaudeSkills(sys System, root string, commands []config.Skill) error

WriteClaudeSkills generates Claude Code skill files in .claude/skills/<name>/SKILL.md.

func WriteClaudeStatusline added in v0.11.0

func WriteClaudeStatusline(sys System, root string, project *config.ProjectConfig) error

WriteClaudeStatusline projects the editable .agent-layer/claude-statusline.sh source into .claude/claude-statusline.sh when the status line is explicitly enabled. When disabled or absent, it removes any previously generated copy so a stale script does not linger.

func WriteCodexConfig

func WriteCodexConfig(sys System, root string, project *config.ProjectConfig) error

WriteCodexConfig patches Agent Layer-owned entries in .codex/config.toml.

func WriteCodexRules

func WriteCodexRules(sys System, root string, project *config.ProjectConfig) error

WriteCodexRules generates .codex/rules/default.rules.

func WriteCopilotMCPConfig added in v0.9.2

func WriteCopilotMCPConfig(sys System, root string, project *config.ProjectConfig) error

WriteCopilotMCPConfig generates .copilot/mcp-config.json for GitHub Copilot CLI. Contains external MCP servers only.

func WriteInstructionShims

func WriteInstructionShims(sys System, root string, instructions []config.InstructionFile) error

WriteInstructionShims generates instruction shims for supported clients. agy (Antigravity), Claude, Codex, Copilot, and other shared-tier clients all read AGENTS.md (per the agentskills.io standard) or their client- specific shim. GEMINI.md is intentionally NOT written: the Gemini CLI was retired in 0.10.2 and agy reads AGENTS.md. The v0.10.2 migration's `f-delete-orphan-gemini-md` op removes any leftover GEMINI.md from pre-0.10.2 repos.

func WriteMCPConfig

func WriteMCPConfig(sys System, root string, project *config.ProjectConfig) error

WriteMCPConfig generates .mcp.json for Claude Code.

func WriteVSCodeMCPConfig

func WriteVSCodeMCPConfig(sys System, root string, project *config.ProjectConfig) error

WriteVSCodeMCPConfig generates .vscode/mcp.json.

func WriteVSCodeSettings

func WriteVSCodeSettings(sys System, root string, project *config.ProjectConfig) error

WriteVSCodeSettings generates .vscode/settings.json.

Types

type OrderedMap

type OrderedMap[T any] map[string]T

OrderedMap marshals map keys in a stable order.

func (OrderedMap[T]) MarshalJSON

func (m OrderedMap[T]) MarshalJSON() ([]byte, error)

MarshalJSON encodes a map with sorted keys for deterministic output.

type RealSystem added in v0.5.4

type RealSystem struct{}

RealSystem implements System using actual system calls.

func (RealSystem) LookPath added in v0.5.4

func (RealSystem) LookPath(file string) (string, error)

LookPath searches for an executable named file in the directories named by the PATH environment variable.

func (RealSystem) Lstat added in v0.11.0

func (RealSystem) Lstat(name string) (os.FileInfo, error)

Lstat returns a FileInfo describing the named file without following symlinks.

func (RealSystem) MarshalIndent added in v0.5.4

func (RealSystem) MarshalIndent(v any, prefix, indent string) ([]byte, error)

MarshalIndent returns the JSON encoding of v with indentation.

func (RealSystem) MkdirAll added in v0.5.4

func (RealSystem) MkdirAll(path string, perm os.FileMode) error

MkdirAll creates a directory named path, along with any necessary parents.

func (RealSystem) ReadDir added in v0.8.0

func (RealSystem) ReadDir(name string) ([]os.DirEntry, error)

ReadDir reads the named directory and returns all directory entries.

func (RealSystem) ReadFile added in v0.5.4

func (RealSystem) ReadFile(name string) ([]byte, error)

ReadFile reads the named file and returns the contents.

func (RealSystem) Readlink(name string) (string, error)

Readlink returns the destination of a symbolic link.

func (RealSystem) Remove added in v0.8.0

func (RealSystem) Remove(name string) error

Remove removes the named file or empty directory.

func (RealSystem) RemoveAll added in v0.8.0

func (RealSystem) RemoveAll(path string) error

RemoveAll removes path and any children it contains.

func (RealSystem) Stat added in v0.5.4

func (RealSystem) Stat(name string) (os.FileInfo, error)

Stat returns a FileInfo describing the named file.

func (RealSystem) WriteFileAtomic added in v0.5.4

func (RealSystem) WriteFileAtomic(filename string, data []byte, perm os.FileMode) error

WriteFileAtomic writes data to a file atomically by writing to a temp file and renaming.

type Result added in v0.8.1

type Result struct {
	Warnings    []warnings.Warning
	AllWarnings []warnings.Warning
}

Result holds the outcome of a sync operation.

func Run

func Run(root string) (*Result, error)

Run regenerates all configured outputs for the repo. Returns any sync-time warnings and an error if sync failed.

func RunWithProject

func RunWithProject(sys System, root string, project *config.ProjectConfig) (*Result, error)

RunWithProject regenerates outputs using an already loaded project config. Returns any sync-time warnings and an error if sync failed.

func RunWithSystemFS added in v0.5.7

func RunWithSystemFS(sys System, fsys fs.FS, root string) (*Result, error)

RunWithSystemFS loads project config from fsys and runs sync with the provided System. sys provides OS operations for sync writers; fsys must be rooted at repo root.

type System added in v0.5.4

type System interface {
	LookPath(file string) (string, error)
	Stat(name string) (os.FileInfo, error)
	Lstat(name string) (os.FileInfo, error)
	Readlink(name string) (string, error)
	MkdirAll(path string, perm os.FileMode) error
	WriteFileAtomic(filename string, data []byte, perm os.FileMode) error
	MarshalIndent(v any, prefix, indent string) ([]byte, error)
	ReadFile(name string) ([]byte, error)
	ReadDir(name string) ([]os.DirEntry, error)
	Remove(name string) error
	RemoveAll(path string) error
}

System abstracts system-level operations to enable dependency injection in sync logic.

Jump to

Keyboard shortcuts

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