Synck
Synck is an open-source version-control engine and command-line tool for knowledge work: the documents, conversations, tasks, records and saved email that a team produces while it works. It records every accepted change as append-only history and follows each item, a file or a chat for example, through renames and moves. It also keeps the whole history in an ordinary folder that you own.
Here is the whole idea in four commands:
$ synck init --author "Alex"
initialized Synck repository 01a17495-2748-7b72-9f7d-510d60ce94dc
$ printf 'Ship the proposal on Friday.\n' > plan.txt
$ synck commit -m "Write down the plan"
committed sha256:f70013937512919770fda5c3ca8f5dd42633dccc35aa334d4119f15efa103491
$ synck log --oneline
2 | 2026-10-25 20:41 +01:00 | Alex | Write down the plan
1 | 2026-10-25 20:41 +01:00 | Alex | Initialize Synck repository
That folder now has a history. You can see who changed what and when, get back any earlier version, and check that nothing has been damaged. None of that needs an account, a server or a network connection.
Why Synck exists
Much of a project’s value is not in its final files. It is in the earlier drafts, the conversation where a figure was challenged, the task that recorded who approved it, and the email that went to the client. Most tools keep that context inside a hosted service. While the service is running you can see it, but you do not really hold it.
Synck is built around one promise: a complete copy of your data, with its history, that remains readable and verifiable without the service that made it. SynckHub, the collaboration product built on Synck, stores its workspaces as Synck repositories and can export one as a complete repository: a directory holding the entire retained history and every byte it refers to. With nothing but this open-source tool, you can open that directory, read its files, conversations and email, verify it, make further copies and keep working. If SynckHub disappears, your repository does not go with it.
The same engine also works as a straightforward local version-control tool for any folder of files. That is the easiest way to learn it.
What makes Synck different
If you know Git, a few of Synck’s choices will look familiar and a few will surprise you. They are deliberate; Synck internals explains the reasoning behind each one.
- Items, not snapshots. Synck versions items: files, folders, chats,
task lists, calendars and other kinds of record. Each item has a permanent
identity and its own ordered history, so renaming
draft.txttoproposal.txtis still the same file. - Append-only history. Accepted history is never rewritten. Undo adds a new change that reverses an old one. There is no amend, rebase or force-push.
- No staging area. You edit files in any application.
synck commitrecords what changed, either everything or the paths you name. - One writer, linear history. Each item has one authority that accepts its changes in order. Synck does not have Git-style branches and merges.
- Complete, self-checking copies. A complete repository carries every version and every byte its history refers to, so a single directory is enough to read and verify it.
How this documentation is organized
The documentation follows the path most people take, from a first try to a deep understanding:
| Chapter | What you will find |
|---|---|
| Getting started | What Synck is, how to install it, and two short tutorials |
| Synck basics | Everyday work in a tracked folder: recording, moving, history, undo and named versions |
| Complete repositories | Reading, copying, editing and taking over a repository exported from SynckHub |
| Backup and recovery | Integrity checks, backups, interrupted operations and storage space |
| Synck internals | The data model, commit identity, the .synck directory, the system design and its trade-offs |
| Reference | Every command, formats and compatibility, output and exit codes, a glossary and FAQ |
Where to start
- New to Synck? Read What is Synck?, then install it and follow Your first repository. It takes about ten minutes.
- Someone gave you a complete repository? Install Synck and go straight to Opening a complete repository.
- Evaluating the design? Start with Items, events and commits and continue to the system design and its trade-offs.
- Building on the engine? The Rust crates and their normative contracts are in the source repository. Read the internals chapter first; it gives you the vocabulary those contracts use.
Project status
Synck 0.1.0 is the first public release. The engine, its SQLite storage, the
shared item definitions and the synck command-line tool are released under the
Apache-2.0 license.
SynckHub’s applications and hosted platform remain proprietary.
The Rust API is pre-1.0 and may still change. What is stored on disk is treated more strictly: a new release does not rewrite accepted history, change an identifier or quietly reinterpret stored data. See formats and compatibility.
Source code, issues and contributions live at
github.com/synergyos/synck. To report a
security problem, follow the repository’s SECURITY.md instead of opening a
public issue.