From the first push to the merge, on one platform.
Follow a change through Sailfork as it ships today, or jump to any part of it.
Storage that copies
Every push is written as ready-to-send pack segments, so a clone starts sending at once. Benchmarks
Stock git
First byte at 4.50 s
Sailfork
First byte at 0.14 ms, about 32,158 times sooner
New
Caissons
Online worktrees for agents. Each one edits the repository on Sailfork on its own branch, with no clone to make and no sandbox to start.
Open
A caisson on a new branch
open caissonEdit in place
Read and write files on Sailfork
edit invoice.tsCommit
Saved to the branch
commit "Round totals"Pull request
Reviewed behind your branch rules
#418 merged
Pull requests
Review next to the code, and merge only when the rules hold.
- Three ways to merge
- Merge commit, squash or rebase, checked for conflicts first.
- Reviews and threads
- Line comments, requested reviewers and drafts.
- Branch rules
- Require a pull request and a number of approvals.
- Issues
- Labels, assignees and a timeline of every change.
Code browser
The git engine runs in your browser, so moving around a repository never waits on a server.
- Blame and history
- Who changed each line, and the history of any path.
- Highlighting
- Tree-sitter for 16 languages, from Rust and Go to Svelte and YAML.
- Command menu
- Any action, page or file from the keyboard.
- Diffs and raw files
- Every commit, every diff, and the bytes when you need them.
Access and security
Sign in the way you want, and give every script only what it needs.
- ed25519 Accepted
- ECDSA Accepted
- RSA Refused
- DSA Refused
Authenticator codes, ten recovery codes, or sign in with GitHub.
Seven scopes, from reading one repository to managing an organization.
See and revoke every session, and every security event on your account.
CLI and API
Sign in from a terminal with a one-time code, then manage repositories, SSH keys and tokens without a browser.
$ curl -fsSL https://sailfork.com/downloads/sf/install.sh | sh
$ sf auth login Enter the one-time code WDJB-MJHT in your browser Signed in as fenil $ sf repo list fenil/ocean-landing private fenil/dotfiles public
Everything else is in the REST API, described by an OpenAPI spec at /api/openapi.json.
Limits
Written down, so nothing surprises you halfway through a push. Sign-in is rate limited per account and per address.
- One push
up to 100 GiB, finished within 100 minutes
- The Linux kernel
2.03 GiB, every commit since 2005
- One file
up to 10 GiB
- No limit
- on how often you clone, fetch or push
- 100 minutes
- for a single push to finish