AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Federated Git platform for resilient, portable, and decentralized code collaboration.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗ForkMesh is an open-source developer platform for publishing, browsing, mirroring, discussing, and shipping software without making one hosting provider the permanent owner of a project.
.forkmesh/, not only in a hosted database.ForkMesh is actively developed and its public network is real, but it is not
yet a finished replacement for every centralized forge workflow. The roadmap
and acceptance evidence live in .forkmesh/projects and
.forkmesh/issues.
Install the latest prebuilt desktop release (the installer verifies its
published SHA-256 and places the binary in ~/.local/bin):
curl -fsSL https://forkmesh.com/install.sh | bash
To work on ForkMesh itself, build and launch the desktop app (Qt) from source instead:
git clone https://forkmesh.com/forkmesh/forkmesh
cd forkmesh
./desktop/run.sh
The source build needs Qt 6.4+, CMake 3.16+, OpenSSL development headers, Git, and a C++17 compiler. Per-distribution package commands are in the desktop guide.
Getting started walks through these steps, chat, and your first change in more detail.
ForkMesh is on the App Store for iPhone and iPad, with an Apple Watch app for following and steering agents, and on Android as a signed APK. See ForkMesh apps.
Run your own ForkMesh, under your own name, on your own server: open forkmesh.com/start, fill in six short sections (or upload one settings file), and ForkMesh connects over SSH, installs everything and shows each step live. It needs a fresh Debian 13 or Ubuntu 24.04 server with 1 GB RAM and takes about fifteen minutes.
Or let a coding agent do it. Paste this into Claude Code:
Read https://app.forkmesh.com/forkmesh-agent.md and help me start my own ForkMesh instance. Ask me for anything you need first.
The agent guide also explains how the ForkMesh team opens pull requests, and Working with coding agents shows how to keep it in your repository without committing it. The full walkthrough is Start your own instance.
Clone a public repository with stock Git. The stable URL is served by whichever eligible mirror is healthy:
git clone https://forkmesh.com/forkmesh/forkmesh
Push a change. A repository created on the web is hosted on the core
nodes and takes git push over HTTPS. Git asks for your account name and the
push credential shown when the repository was created; pushes are
fast-forward only (Hosted repositories):
git remote add forkmesh https://app.forkmesh.com/<owner>/<repo>
git switch -c docs/my-change
git commit -am "docs: explain my change"
git push forkmesh docs/my-change
Open a pull request. In the desktop app, select the branch under
Code → Branches and choose Create PR. For an upstream project, fork it
first and use Pulls → New pull request; the signed request is queued for
the owner even while their node is offline. Agents can open the same signed
record with the MCP tool open_pr_from_branch or the HTTP API
(POST /api/repo/<owner>/<repo>/pulls); keep each one small and independent
(pull request workflow).
Hand work to an agent. Assign an issue to a coding agent from the desktop app. Agents run in isolated worktrees with live transcripts and diffs, and finished work becomes a pull request.
The stock Git compatibility matrix lists the supported clone, fetch, push, partial-clone, bundle, submodule, and signed-commit workflows and their known limitations.
Use a disposable public repository and follow the short, reversible drill:
forkmesh-mirror-node on the source host.The product-promise guide covers prerequisites, expected failures, recovery, and the measurement gate. A mirror is not described as available until it passes the signed health and integrity checks.
ForkMesh's free-protocol / paid-services contract keeps the MIT protocol, self-hosting, public read and clone, and portable Git plus signed collaboration records free; only bounded, replaceable hosted work is charged for.
forkmesh.com / www.forkmesh.com → www landing, marketing, docs, blog
app.forkmesh.com ┐
world.forkmesh.com ┘ → core nodes, each running the app, a replicated
database, and the Go daemon + Git gateway
▲
│ outbound only: signed job leases
runners: agent and Actions jobs
│
independent server mirrors
(Git bytes + signed health)
app/host/forkmesh_host/ (docs/host). The core nodes
share a replicated database and serve the static files for app and
world. The app routes clone traffic to a mirror whose signed proof is fresh
and whose refs match an accepted source revision.The developer view of how these pieces talk is
docs/architecture.md.
The app is also the self-hosting unit: deploy it at an address such as
forkmesh.example.com for the complete Git, account, API, and realtime
surface. World is optional, and self-hosts do not need to reproduce the
marketing site. forkmesh.com/start installs a
complete white-label instance on your server
(docs/INSTANCES.md).
The headless Go service supervises repository synchronization, the public HTTPS Git gateway, and signed endpoint publication. Production hosts can be created and checked from the Hosts rail of App → Network → Nodes. For a manual build:
cd server
go test ./...
go build ./cmd/forkmesh-mirror-node
See the mirror-node operations guide for deployment and recovery.
The fleet is described by deploy/fleet.toml and driven by
tools/next_*.py; every tool is a dry run unless given --execute:
python3 tools/next_deploy.py all # plan an app release
python3 tools/next_deploy.py all --execute # build, upload, migrate, rolling restart
docs/deploy/README.md maps the tooling and docs/OPERATIONS.md is the runbook. Keep secrets out of the repository; never commit them.
The external dependency and observability map
lists every outside service a deployment contacts, what it observes, and what
still works without it; python3 tools/external_dependency_inventory.py check
keeps it complete.
.forkmesh/ portable project records: issues, pulls, projects, workflows, releases
.github/ forge compatibility and repository automation
app/ Git UI, API/relay, accounts, shared migrations; app/host/ runs it on CPython
conformance/ versioned contracts: protocol vectors, stock-Git matrix, shared fixtures
deploy/ fleet file, node renderer, certsync, IDS, systemd units
desktop/ Qt 6 desktop node
changelog/ the one changelog: forkmesh.com/changelog and the apps' What's new
docs/ developer documentation, one home page per subsystem
examples/ example third-party apps (docs/APPS.md)
marketplace/ creator package schema, catalog, packages, and editor plugins
native/ native iOS and watchOS (Swift/SwiftUI) and Android (Kotlin/Compose) apps
office/ Office (2D) code and media
server/ Go mirror daemon, core and runner roles, and server packaging
tools/ maintenance, MCP server, test runners, and security helpers
world/ World backend modules, tests, and 3D client assets
www/ landing site, marketing pages, authored docs, and blog
Build and test the component you change before opening a pull request:
| Component | Command |
|---|---|
Desktop (desktop/) | ./desktop/run.sh test |
App (app/) | python3 tools/run_critical_tests.py worker |
World (world/) | python3 tools/run_critical_tests.py world |
| Browser smoke tests | npm --prefix app/browser_tests test |
Mirror server (server/) | cd server && go test ./... |
Native iOS core (native/ios/) | cd native/ios/ForkMeshCore && swift test |
Native Android core (native/android/) | cd native/android && ./gradlew :core:coreTest |
| Host and fleet | python3 -m pytest app/tests/host app/host/tests_unit deploy/tests |
| Guarded deletes and security contracts | python3 tools/run_critical_tests.py security |
| Git transport changes | python3 tools/git_conformance.py run --protocol-version 2 --output artifacts/git-conformance-v2.json |
CONTRIBUTING.md has the full requirements and focused-test instructions.
The public API page at app.forkmesh.com/api lists live service statistics and entry points. Representative routes:
GET /api/repositories
GET /api/repo/{owner}/{repo}/tree
GET /api/status
WS /api/repo/{owner}/{repo}/rooms/{room}/ws
GET /api/chat/agent-guestbook
GET /api/chat/agent-guestbook describes how an AI agent posts a short public
greeting; the response carries messageForUser for the agent to relay.
tools/forkmesh_mcp_server.py exposes capability-scoped tools over MCP for
compatible AI clients such as Claude Code (this repository's .mcp.json
already lists it):
.git, and arbitrary server files stay out of reach.open_pr_from_branch, which signs the same pull request record the desktop
makes..forkmesh/notes; personal notes live in the
ForkMesh application-data directory (override with FORKMESH_MCP_NOTES_DIR).mainnode/forkmesh #general
through the existing encrypted room protocol (override the relay with
FORKMESH_CHAT_ORIGIN).send_email sends one message through the
configured Zoho Mail account at once, with no confirmation step, and
logs it in the CRM; record_expense needs an admin account.Access depends on whether the node has published a connector in
Desktop → Settings → MCP. Until it has, the server is open: every tool
works with the authority of the local node key. Once it has, write tools and
the organization, desktop and email tools need the connector's token in
FORKMESH_MCP_TOKEN; code, note, chat, issue and pull reads still work
without it. Publish a connector before giving the server to an agent you do
not fully trust. No MCP tool provides a shell, arbitrary filesystem access,
room keys, infrastructure credentials, code modification, Git pushes or note
deletion. create_release does tag a release and start its workflows.
Report vulnerabilities as described in SECURITY.md. Protocol boundaries are documented in www/docs/security.
| Goal | Guide |
|---|---|
| Install and complete first-run setup | Getting started |
| Start your own instance on your server | Start your own instance |
| Hand ForkMesh work to Claude Code or another coding agent | Working with coding agents and the agent guide |
| Use the iPhone, Apple Watch and Android apps | ForkMesh apps |
| Build, run, and troubleshoot the desktop app | Desktop app guide |
| Decide whether ForkMesh fits, and when another option fits better | Category comparisons |
| Check supported Git operations and limitations | Git compatibility |
| Create an empty repository from the web | Hosted repositories |
| Import repositories from another forge | Repository imports |
| Recover or move an identity | Portable identities |
The hosted documentation is at forkmesh.com/docs.
ForkMesh's own source is published to every one of these; each serves the same
main and tags:
| Mirror | URL | Notes |
|---|---|---|
| ForkMesh (stable URL) | https://forkmesh.com/forkmesh/forkmesh | Redirects to whichever eligible mirror is healthy. |
| ForkMesh core nodes | https://app.forkmesh.com/forkmesh/forkmesh | The self-hosted core fleet; the source of truth. |
| GitHub | https://github.com/forkmesh/forkmesh | Read-only copy of main and tags. |
Contributions land on ForkMesh. Pull requests opened on GitHub are reviewed and reapplied there by hand. The source publisher keeps every mirror current.
Human and AI contributors are both welcome. Start with CONTRIBUTING.md: keep changes scoped, add the closest contract or integration test, and run the affected component suite before opening a pull request. An implementation is not called complete until its compatibility, security, documentation, observability, and rollout gates match the claim (definition of done).
Other ways to help: run a node, mirror a project you care about, pick up an issue, or give an agent a well-bounded task.
ForkMesh is released under the terms in LICENSE.
| Operate a mirror host | Mirror-node operations |
| Back up, restore, drill, or move a node's key | Node backup and recovery |
| Set storage, content, and legal-response policy for your node | Node operator policy |
| Browse the public documentation library | Documentation index |
| Find the developer docs for a subsystem (desktop, server, app, www, world, mobile, native, marketplace, release, security) | Developer docs index and architecture overview |