| Tool | Description |
|---|---|
|
Multipurpose helper tool for the RtBrick fullstack. See documentation. |
curl -fsSL https://raw.githubusercontent.com/rtbrick/tools/main/install_rtb_buddy.sh | sudo bashThis detects your OS and architecture, downloads the latest release from GitHub, verifies the checksum, and installs rtb-buddy to /usr/local/bin.
# Install a specific version
curl -fsSL https://raw.githubusercontent.com/rtbrick/tools/main/install_rtb_buddy.sh | sudo bash -s -- --version v1.0.0
# Install to a custom directory
curl -fsSL https://raw.githubusercontent.com/rtbrick/tools/main/install_rtb_buddy.sh | bash -s -- --dir ~/.local/bin
# Uninstall
curl -fsSL https://raw.githubusercontent.com/rtbrick/tools/main/install_rtb_buddy.sh | sudo bash -s -- --uninstall-
Go 1.27+
-
Git
-
golangci-lint (optional, for
make lint)
We welcome contributions! Please follow these guidelines:
-
Search existing issues first to avoid duplicates
-
Use the issue template if available
-
Include: steps to reproduce, expected vs actual behavior, environment
-
Fork the repository
-
Create a feature branch:
git checkout -b feature/my-change -
Make your changes with clear, focused commits
-
Run
make fmtandmake lintbefore committing -
Add tests for new functionality
-
Open a PR with a descriptive title and description
-
Follow standard Go conventions (
gofmt,golint) -
Keep functions small and focused
-
Document exported types and functions with Go doc comments
-
Update documentation when behavior changes
-
GoReleaser v2+ (
go install github.com/goreleaser/goreleaser/v2@latest) -
jq(for install script testing)
Test cross-compilation and archive creation without publishing:
make snapshotThis builds all 6 binaries (linux/darwin/windows × amd64/arm64) and outputs them to dist/. Verify:
ls dist/
dist/rtb-buddy_linux_amd64/
dist/rtb-buddy_darwin_arm64/
dist/checksums.txt
...
# Test the local binary
./dist/rtb-buddy_linux_amd64/rtb-buddy versionPush a branch and open a PR to verify lint and tests run:
git checkout -b test-ci
git add . && git commit -m "ci: test workflow"
git push -u origin test-ci
# Open a PR → CI runs automaticallyCreate a pre-release tag to test the full release pipeline:
git tag v0.0.1-rc.1
git push --tagsThis triggers the release workflow which:
-
Builds all binaries via GoReleaser
-
Creates a GitHub release at https://github.com/rtbrick/tools/releases/tag/v0.0.1-rc.1
-
Pushes a Homebrew formula to
rtbrick/homebrew-tap
# Test against the pre-release
curl -fsSL https://raw.githubusercontent.com/rtbrick/tools/main/install_rtb_buddy.sh | sudo bash -s -- --version v0.0.1-rc.1
# Verify
rtb-buddy versionDelete the test release and tag:
gh release delete v0.0.1-rc.1 --yes --cleanup-tag| Command | What it tests |
|---|---|
|
Local cross-compilation, archives, checksums |
Push branch + open PR |
CI workflow (lint + test) |
|
Full release pipeline (build + publish + Homebrew) |
|
Install script (download + checksum + install) |
|
Version injection via ldflags |