sync

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2026 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// ErrPostWriteLockCleanup identifies a fatal lock cleanup failure after sync
	// has already written all generated outputs successfully.
	ErrPostWriteLockCleanup = errors.New("sync generated writes succeeded but post-write lock cleanup failed")
)

Functions

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. sys performs filesystem operations, root is the projection root, and commands supplies the canonical loaded skills. It returns the first reconciliation error.

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. sys performs filesystem operations, root is the projection root, and commands supplies the canonical loaded skills. It returns the first reconciliation error.

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) Close added in v0.14.0

func (RealSystem) Close(file *os.File) error

Close closes file.

func (RealSystem) Flock added in v0.14.0

func (RealSystem) Flock(fd int, how int) error

Flock applies or removes an advisory lock on the file represented by fd.

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) Now added in v0.14.0

func (RealSystem) Now() time.Time

Now returns the current time.

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) Sleep added in v0.14.0

func (RealSystem) Sleep(d time.Duration)

Sleep pauses the current goroutine for at least d.

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
	Close(file *os.File) error
	Flock(fd int, how int) error
	Now() time.Time
	Sleep(d time.Duration)
}

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