ブランチ、マージ、衝突解決 —— 同時に走らせられるエージェント数を縛る直列ボトルネック。Sinfo はそれを構造から消す。ファイルではなくモジュール単位でバージョンを刻むから、何体でも同時に出荷でき、ブランチもマージも衝突解決もしない。
Branches, merges, conflict resolution — the serial bottleneck that caps how many agents you can run. Sinfo removes it: version by module, not by file, so any number of agents ship at once — with no branching, merging, or conflict resolution.
$curl -fsSL https://sinfo.dev/install.sh | sh
macOS · Linux / sha256 で改竄検証 / sudo 不要 · 中身を読む macOS · Linux / sha256-verified / no sudo · read the script
Git の常識を捨て、AI 並列開発のために再設計した 6 つの柱。
Six pillars, redesigned from scratch for AI-parallel development.
モジュール単位の独立バージョンだからマージ工程そのものが無い。同じモジュールを同時に変えても、マージせず「どの版を採るか選ぶ」だけ。
Independent per-module versions mean there's no merge step at all. Edit the same module at once and you just choose which version wins — nothing to merge.
複数の AI エージェントが同じ作業ツリーで同時に作業。branch 切替も worktree も stash も要らない。
Many AI agents work in the same working tree at once — no branch switching, no worktrees, no stash.
モジュールバージョンの組み合わせを記録。staging / production など環境ごとの構成を一元管理。
Capture a combination of module versions — one source of truth for per-environment (staging / production) configuration.
バージョンは線形ではなく DAG。任意の過去バージョンから枝を作り、最適な枝を採用。
Versions form a DAG, not a line. Branch from any past version and adopt whichever branch wins.
snap に semver と公開範囲を振って公開単位化。誰がどのバージョンを使えるかを制御。
Stamp a snapshot with semver and visibility to ship it as a release. Control who can use which version.
サーバー不要で完全ローカル動作。必要に応じてクラウドに push/pull で同期。
Fully local, no server required. Sync to the cloud with push/pull whenever you need to.
private なプロジェクト向けの opt-in な end-to-end 暗号化。sf init --blind の一言で、コードはあなたの端末を出る前に暗号化され、ハブは中身を一切見られない。ソロなら気にしなくていい — これは「メンバーには共有、ハブ運用者には秘匿」が要るチームや組織のための設計。
Opt-in end-to-end encryption for private projects. With a single sf init --blind, code is encrypted before it leaves your machine — the hub never sees the contents. Solo? Ignore it. This is built for teams and orgs that need "shared with members, hidden from whoever runs the hub."
サーバーが保持するのは暗号文だけ。ハブが侵害されても平文は漏れない。
The server only ever holds ciphertext. A hub breach never leaks plaintext.
承認された端末の鍵だけがコンテンツ鍵を復号できる。紛失した端末は失効するだけ。
Only approved device keys can unwrap the content key. Lost a device? Just revoke it.
既定は非暗号で儀式ゼロ。必要なプロジェクトだけ --blind で有効化。
Default is plain and ceremony-free. Turn on --blind only where you need it.
sf vup web は web のバージョンだけを進める。各モジュールは独立したレーンで、線形ではなくスキルツリーとして育ち、web のように並列の枝も持てる。採用する版の組み合わせを snapshot で固定する。
sf vup web advances only web's version. Each module is its own lane — growing as a skill tree, not a line — and can hold parallel branches like web. Freeze the chosen combination of versions into a snapshot.
Git の commit → branch → merge に代わる、マージのいらない 4 ステップ。
A merge-free four-step flow that replaces Git's commit → branch → merge.
sf vup <module> -c "..."
変更をバージョンとして確定。Git の commit に相当。
Finalize changes as a version — the equivalent of a Git commit.
sf vup <module> 0.5.0b --from 0.4.0
別エージェントが同じモジュールから並列で派生。マージ衝突なし。後でどの版を採るか選ぶ。
Another agent branches the same module in parallel — no merge conflict; you pick which version wins later.
sf snap create "label" -m <module>:0.5.0b
採用するバージョンを選んで構成を確定。マージではなく「選ぶ」だけ。
Pick which versions to adopt and lock the snapshot. You choose — you never merge.
sf release create v0.5.0 --from <snap> --public
snap に semver と公開範囲を振って公開単位化。
Stamp the snapshot with a semver and visibility to publish it as a release.
| Git | Sinfo | |
|---|---|---|
| 管理単位Unit | 全ファイル (working tree)Whole working tree | モジュール単位 (独立バージョン)Per module (independent versions) |
| コミットCommit | 全変更まとめてAll changes at once | 準備できたモジュールだけ vupOnly ready modules get vup'd |
| 並列化Parallelism | ブランチ → マージBranch → merge | vup / 未vup で自然に並列化Natural via vup'd / not-yet-vup'd |
| 作業の切り替えContext switching | branch 切替・worktree・stashCheckout, worktree, stash | 1 つの作業ツリーに共存、切替なしOne working tree — no switching |
| マージ衝突Merge conflicts | 発生するHappen | マージしないので無い(版を選ぶ)None — you pick a version instead of merging |
| ビルドBuild | working tree / commit からFrom the working tree / a commit | snapshot(版の組み合わせ)から再現可能Reproducible from a snapshot (a pinned set of versions) |
| テスト範囲Test scope | working tree 全体(未完成も混ざる)The whole working tree (unfinished code mixed in) | vup した=書き終えたモジュールだけOnly vup'd — i.e. finished — modules |
| AI 連携AI integration | commit/branch の理解が必要Must reason about commits/branches | MCP ツールで直接操作Direct control via MCP tools |
Rust 製の単一バイナリ。サーバー不要で、今すぐローカルから。
A single Rust binary. No server required — start locally right now.