Repository navigation
Development
TideFTP is a Go application built with Bubble Tea and TideUI.
Clone the repository, then run the app:
git clone https://github.com/allisonhere/TideFTP.git
cd TideFTP
go run ./cmd/tideftpBuild a local binary:
go build -o tideftp ./cmd/tideftpAn untagged build reports version dev and does not check for updates.
The default suite is hermetic and does not require an FTP or SFTP server:
go test ./...
go test -race ./...
go vet ./...Protocol tests use in-process SFTP and FTP servers. UI snapshots live in internal/ui/testdata. Refresh them only after reviewing the intended visual change:
go test ./internal/ui -updateRun tideftp --transfer-lab to test queue and recovery behavior with generated transfers. Transfer Lab does not contact a server or write real transfer data.
Run ./release.sh for the guided release process. It runs the test suite, checks the worktree and branch, creates the release commit, pushes main, and pushes the selected version tag.
For a manual release:
- Add a
## vX.Y.Zsection toCHANGELOG.md. - Create and push the tag.
git tag vX.Y.Z
git push origin vX.Y.ZThe tag starts .github/workflows/release.yml. The workflow builds Linux and macOS archives for x86-64 and ARM64, writes SHA256SUMS, and creates the GitHub release.
This page describes source revision b1fb600.