FelixIsaac / FelixIsaac/claude-code-sync

Add Homebrew tap and Scoop bucket for package manager support

Open
#2 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
8
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Context

Currently, users install via:
- Direct download from GitHub releases
- curl one-liners (Linux/macOS)
- PowerShell one-liner (Windows)
- `go install`

All methods work fine. This issue is for **future consideration** when there are more users who might prefer package managers.

---

## What Are These?

### Homebrew Tap
Custom Homebrew repository containing formulas (installation recipes).

**User experience:**
```bash
brew install felixisaac/tap/claude-code-sync
brew upgrade claude-code-sync
```

### Scoop Bucket
Custom Scoop repository containing JSON manifests.

**User experience:**
```powershell
scoop bucket add felixisaac https://github.com/felixisaac/scoop-bucket
scoop install claude-code-sync
scoop update claude-code-sync
```

---

## Benefits

✅ Slightly easier for users who prefer package managers
✅ Auto-discovery via `brew search` / `scoop search`
✅ goreleaser auto-updates them on each release

## Downsides

❌ Two more repos to maintain
❌ Adds complexity to release process
❌ Current install methods already work well

---

## How to Implement (when ready)

### 1. Create Homebrew Tap Repo

Create repo manually at: https://github.com/new
- Name: homebrew-tap
- Description: Homebrew formulae for claude-code-sync and other tools
- Public repo

### 2. Create Scoop Bucket Repo

Create repo manually at: https://github.com/new
- Name: scoop-bucket
- Description: Scoop manifests for claude-code-sync and other tools
- Public repo

### 3. Update .goreleaser.yaml

Add these sections back (they were removed in commit 9c13cd4):

```yaml
brews:
- repository:
owner: felixisaac
name: homebrew-tap
directory: Formula
homepage: https://github.com/felixisaac/claude-code-sync
description: Sync Claude Code configs across machines via GitHub with age encryption
license: MIT
install: |
bin.install "claude-code-sync"
test: |
system "#{bin}/claude-code-sync", "version"

scoops:
- repository:
owner: felixisaac
name: scoop-bucket
homepage: https://github.com/felixisaac/claude-code-sync
description: Sync Claude Code configs across machines via GitHub with age encryption
license: MIT
```

### 4. Update README.md

Add installation sections for Homebrew and Scoop.

### 5. Test

After next release, goreleaser will automatically populate both repos with formulas/manifests.

---

## Decision Criteria

Consider implementing this when:
- [ ] Project has 100+ stars (indicates broader adoption)
- [ ] Multiple users request package manager support
- [ ] You have other tools to add to these repos (amortize maintenance cost)

## References

- [Homebrew Tap Documentation](https://docs.brew.sh/Taps)
- [Scoop Bucket Documentation](https://github.com/ScoopInstaller/Scoop/wiki/Buckets)
- [goreleaser Homebrew](https://goreleaser.com/customization/homebrew/)
- [goreleaser Scoop](https://goreleaser.com/customization/scoop/)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.