As You Code, As You Will. Immortality.
tonarino is a version control system built around preserving traces, not just versions.
It sits quietly beside you — not pulling you forward, just making sure nothing you've done disappears.
A note written on an iPad vanished because iCloud synced an older version over it before the new one could upload. The change was gone. No trace, no recovery.
That shouldn't happen. Once a system has seen your work, it should never lose it.
tonarino preserves traces, not just versions.
A daemon-based, append-only trace system — and eventually a comfortable alternative to Git for people who want trace-first workflows.
Every save is recorded. Every change is kept. Rolling back doesn't erase what came after. Erasing is an explicit, deliberate act — not an accident.
You can run Git-less day-to-day and still get a familiar muscle-memory layer: optional git-compat profile maps Git-shaped commands and output (status, log, commit, …) onto tonarino semantics.
Book entire workspace
└── Chapter project / folder
└── Page file
timeline (single append-only sequence per file)
├── Bookmark system anchor (push/pull basis; branch-like pointers live here, not as Git branches)
└── Tag user annotation (commit-message feel)
Author— who edited; attached automatically to each change (not a structural layer).Bookmark— system-facing anchor on the timeline; carries sync identity and optional branch-like fields (e.g. active view name). Can be applied automatically by policy instead of per-file manual tagging.Tag— user-facing note on a point in time; similar role to a commit message or sticky explanation.
There is one physical timeline per file (append-only). Bookmarks define how you slice and present that timeline — switch active bookmark context to browse, restore, or sync from different anchors. Same traces; different lenses.
- Append-only — records only grow, never shrink by default
- Trace over version — the timeline is the source of truth
- No silent loss — the system warns before anything is removed
- Erase is explicit — user-initiated, with full disclosure of what will be lost
Changes in RAM before a save cannot be captured without OS-level access. That's a true hardware constraint, not a design choice — and it'll be addressed when tonarino eventually runs on its own OS layer.
Current tonarino: "What's been saved will never be lost." Future tonarino: "What hasn't been saved yet won't be lost either."
Three styles, all equivalent. Plus user-defined aliases.
| Action | Tonari | Book | English |
|---|---|---|---|
| Create Book | hajimeru |
begin |
init |
| Open Chapter | hiraku |
open |
chapter |
| Start tracking | sobani |
write |
track |
| Stop tracking | hanarete |
pause |
untrack |
| Track all | minna sobani |
write all |
track all |
| Untrack all | minna hanarete |
pause all |
untrack all |
| Keep auto-tracking (rules) | tsuzuku |
stay |
watch |
| Status | ima |
state |
status |
| View timeline | ayumi |
read |
log |
| Browse timeline | saguru |
browse |
browse |
| Restore to point | yobu |
revert |
restore |
| Create Bookmark | shiori |
mark |
commit |
| Create Tag | fusen |
note |
note |
| Fold segment / cumulative diff | musubu |
bind |
bind |
| Push | okuru |
publish |
push |
| Pull | morau |
receive |
pull |
| Archive | owarita |
archive |
done |
| Archive all | minna owarita |
archive all |
done all |
| Lock final state | kore |
seal |
lock |
| Erase traces | kesu |
burn |
burn |
| Ignore | mienai |
fold |
fold |
| Emergency recover | tasukete |
remember |
recover |
minna sobani / track all is a one-shot “track everything now”. watch (and chapter rules) keeps new paths under tracking without repeating that command.
bind combines spans of timeline changes into one logical step. Two modes are planned: fold (still append-only — hide granularity in the UI while keeping traces) and merge (actually collapse into a single recorded step; finer detail moves to archive / explicit retention rules).
Word meanings (Tonari style)
hajimeru 始める to begin
hiraku 開く to open
sobani 傍に beside you
hanarete 離れて step away
minna みんな everyone / all
ima 今 now
ayumi 歩み footsteps (the path you've walked)
saguru 探る to feel around, to search
yobu 呼ぶ to call (calling the past back)
shiori 栞 bookmark
fusen 付箋 sticky note
okuru 送る to send
morau もらう to receive
owarita 終わった it's done
kore これ this (this is it)
kesu 消す to erase (traces fade)
mienai 見えない can't see it (ignore this)
tasukete 助けて help me
musubu 結ぶ to tie / bind (fold segments together)
tsuzuku 続く to continue (keep watching / auto-track)
No Git-style branches diverging the object graph — one timeline per file, with bookmark-scoped views for “which anchor am I working from?”.
When two authors work on the same file, their timelines merge — each change tagged with its author. Conflicts don't block work; they can be resolved later. Experimenting means working directly on the timeline, then rolling back if needed — with everything after the rollback still preserved.
- Append-only trace recording
- First snapshot on
sobani - Crash recovery
yobu— restore to any point
- Bookmark / Tag / Book hierarchy (bookmark-driven timeline views + sync)
musubu/bind— fold vs merge modes for cumulative editstsuzuku/watch— persistent auto-tracking rules- Optional
git-compatcommand & output shims owarita— archiveokuru/morau— push/pull (Bookmark-based)- Collaboration + timeline merge
- Binary diff (bsdiff / xdelta)
- Integrity — hash chain + monotonic sequence
- External time anchor
- Timelapse UI
- Remote backup plugin system (
azukeru— 預ける, to entrust)
- Language: Rust
- Storage:
.tonarino/alongside tracked files, excluded from cloud sync - Daemon: always running, survives terminal close, auto-restores after reboot
- Platform support: macOS first → Windows / Linux → mobile later
tonarino — 隣の — beside you.