MCPcopy
hub / github.com/tuna/tunasync

github.com/tuna/tunasync @v0.10.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.10.0 ↗
439 symbols 1,621 edges 61 files 90 documented · 21%
README

tunasync

Build Status Coverage Status Commitizen friendly GPLv3

Get Started

Download

Pre-built binary for Linux x86_64 and ARM64 is available at Github releases.

Design

# Architecture

- Manager: Central instance for status and job management
- Worker: Runs mirror jobs

+------------+ +---+                  +---+
| Client API | |   |    Job Status    |   |    +----------+     +----------+ 
+------------+ |   +----------------->|   |--->|  mirror  +---->|  mirror  | 
+------------+ |   |                  | w |    |  config  |     | provider | 
| Worker API | | H |                  | o |    +----------+     +----+-----+ 
+------------+ | T |   Job Control    | r |                          |       
+------------+ | T +----------------->| k |       +------------+     |       
| Job/Status | | P |   Start/Stop/... | e |       | mirror job |<----+       
| Management | | S |                  | r |       +------^-----+             
+------------+ |   |   Update Status  |   |    +---------+---------+         
+------------+ |   <------------------+   |    |     Scheduler     |
|   BoltDB   | |   |                  |   |    +-------------------+
+------------+ +---+                  +---+


# Job Run Process


PreSyncing                           Syncing                               Success
+-----------+     +----------+    +-----------+    +-------------+     +--------------+
|  pre-job  +--+->| pre-exec +--->|  job run  +--->|  post-exec  +-+-->| post-success |
+-----------+  ^  +----------+    +-----------+    +-------------+ |   +--------------+
               |                                                   |
               |                +-----------------+                | Failed
               +----------------+    post-fail    |<---------------+
                                +-----------------+

Building

Go version: 1.26

# for native arch
> make all
# for other arch
> make ARCH=linux-arm64 all

Binaries are in build-$ARCH/, e.g., build-linux-amd64/.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Name
called by 122
worker/provider.go
Error
called by 94
internal/logger.go
Errorf
called by 79
internal/logger.go
Run
called by 64
worker/provider.go
Debugf
called by 57
internal/logger.go
WorkingDir
called by 56
worker/provider.go
Close
called by 52
manager/db.go
String
called by 51
internal/msg.go

Shape

Method 257
Function 109
Struct 59
TypeAlias 9
Interface 4
FuncType 1

Languages

Go100%

Modules by API surface

manager/db.go34 symbols
internal/logger.go30 symbols
worker/provider.go28 symbols
worker/base_provider.go27 symbols
worker/config.go21 symbols
manager/server.go17 symbols
worker/worker.go16 symbols
manager/server_test.go15 symbols
worker/hooks.go12 symbols
internal/msg.go12 symbols
cmd/tunasynctl/tunasynctl.go12 symbols
internal/logger_test.go10 symbols

Dependencies from manifests, versioned

dario.cat/mergov1.0.2 · 1×
github.com/BurntSushi/tomlv1.6.0 · 1×
github.com/alicebob/miniredis/v2v2.37.0 · 1×
github.com/anmitsu/go-shlexv0.0.0-2020051411343 · 1×
github.com/bytedance/gopkgv0.1.4 · 1×
github.com/bytedance/sonicv1.15.0 · 1×
github.com/bytedance/sonic/loaderv0.5.1 · 1×
github.com/cespare/xxhash/v2v2.3.0 · 1×
github.com/cloudwego/base64xv0.1.6 · 1×
github.com/codegangsta/injectv0.0.0-2015011423560 · 1×
github.com/codeskyblue/go-shv0.0.0-2025050923073 · 1×

For agents

$ claude mcp add tunasync \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact