Files
snowandClaude Fable 5 2caa09702f sfs v0.1: mountable synced file system for AI agents
- sfs mnt/umnt/sync/status/log/remote/whoami CLI (cobra)
- per-device append-only journals + content-addressed blob store
- deterministic lamport-ordered merge, LWW with conflict-copy preservation
- cloud-agnostic backends: S3, GCS, file:// (S3-compatible via AWS_ENDPOINT_URL)
- offline-first: real files on disk, journal locally, push on reconnect
- background sync daemon per mount with change tracking (device/author/time)
- macOS + Linux; Homebrew formula + goreleaser release pipeline

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 23:40:26 -07:00

28 lines
1.0 KiB
Ruby

# Homebrew formula for sfs.
#
# This is the source-build formula for the runbear-io/homebrew-tap repo.
# Releases via goreleaser (.goreleaser.yaml) generate a bottle-style formula
# with prebuilt binaries automatically; this file is the manual fallback and
# the template for the first tap publication. Update `url` and `sha256` per
# release (sha256: `curl -L <url> | shasum -a 256`).
class Sfs < Formula
desc "Synced file system for AI agents: mount, sync, and track folders"
homepage "https://github.com/runbear-io/sfs"
url "https://github.com/runbear-io/sfs/archive/refs/tags/v0.1.0.tar.gz"
sha256 "0000000000000000000000000000000000000000000000000000000000000000" # update per release
license "MIT"
head "https://github.com/runbear-io/sfs.git", branch: "main"
depends_on "go" => :build
def install
system "go", "build", *std_go_args(ldflags: "-s -w -X main.version=#{version}"), "./cmd/sfs"
end
test do
assert_match "sfs", shell_output("#{bin}/sfs version")
ENV["SFS_HOME"] = testpath/".sfs"
system bin/"sfs", "whoami"
end
end