Docs / Team onboarding

Start here

Join ForkMesh and make your first contribution

ForkMesh lets developers collaborate on, mirror, and preserve source-code repositories across independent hosts—without relying on any single hosting provider.

This is the shared starting point for QA, developers, and marketing. You can enter the World immediately; sign in when you need to save work, review a pull request, use a team floor, or submit a public link.

See the promise work: collaborate, add an independent mirror, take the source host offline, and clone again. The guide includes prerequisites, expected failures, and recovery.

QA

Run the shared test deck, record pass/fail/unsure, and turn a reproducible failure into an issue.

QA checklist →

Developers

Set up the Qt node, work on a branch, open a signed pull request, and get an independent approval.

Developer checklist →

Marketing

Join the Office, claim assigned work, submit proof, and publish campaign links through the lobby kiosk.

Marketing checklist →

Join the World

  1. Open forkmesh.com/world. Guest exploration is available immediately.
  2. Use WASD or the arrow keys to move, drag to look, and use the mouse wheel or pinch gesture to zoom.
  3. Select Log in to use account-backed features. Never paste a repository key, wallet recovery phrase, or Cloudflare token into World chat or a form.
  4. Walk to the Office entrance. The lobby is public; elevator buttons show only floors your server-verified organization membership permits.
  5. Use the CHAT terminal for public World chat. Repository and private team conversations remain on their own authorized channels.

Accessibility: the website dashboards expose the same repository, review, QA, and account workflows without requiring 3D navigation.

QA onboarding

  1. Enter the World and walk to the QA board, or open the current QA surface from the project dashboard.
  2. Test exactly what the card asks on the listed browser/device. Record Pass, Fail, or Unsure; do not guess.
  3. For a failure, capture the smallest reproducible sequence, expected result, actual result, app/build version, OS, and relevant sanitized logs.
  4. Search existing issues before opening another. Add screenshots only after checking that they contain no secrets or private repository content.
  5. Retest the exact changed build. A fix is complete only when the original reproduction no longer fails and nearby behavior still works.

Developer onboarding

For the fastest path, install dependencies, start the Qt client, and run its focused tests:

git clone https://forkmesh.com/forkmesh/forkmesh.git
cd forkmesh/desktop
./run.sh

# In another run, execute the Qt test suite:
./run.sh test

See the Qt client guide for platform packages, local relay setup, repository mirroring, chat, and troubleshooting. The root CONTRIBUTING.md is the authoritative repository-level workflow.

  1. Create a focused branch from the current default branch.
  2. Make one coherent change. Preserve unrelated local modifications and never commit credentials, build output, or user data.
  3. Run the smallest relevant tests first, then the broader suite appropriate to the risk.
  4. Update docs and tests whenever behavior, security boundaries, migrations, or user-visible workflows change.
  5. Open a pull request and request at least one independent peer review.

Submit a pull request

  1. Open the target repository on the website and read its CONTRIBUTING.md.
  2. Create or publish your feature branch, then open the repository’s Pull requests tab.
  3. Select New pull request, choose the base and head branches, and review the exact signed diff.
  4. Write a specific title and explain the problem, the change, tests performed, user impact, migrations, and any known follow-up.
  5. Submit the pull request. ForkMesh sends the signed proposal to the maintainer’s inbox; it becomes part of the live mirror after the owner node drains and publishes it.
  6. Ask a peer who is not the pull-request author to review. Respond to requested changes with code and a short explanation, then request another review.

Before submitting: the branch should be current, tests should pass, the diff should contain no generated noise or secrets, and the description should give a reviewer enough context to verify the change.

Peer-review and merge policy

SignalEffect
Author approves their own PRIgnored for the merge gate.
One distinct peer approvesMinimum review gate is met if no peer has an unresolved request for changes.
Two or more distinct peers approveCreates a stronger review signal and makes a discretionary merge more likely; it does not bypass tests or maintainer judgment.
A peer requests changesMerge remains locked until that reviewer’s latest decisive review is approval or the blocking state is cleared.
Comment onlyUseful discussion, but it is not approval.

The website and protected mirror merge both enforce the minimum independent approval. Reviews are signed events, and the latest decisive review from each signer wins. Approval count is never a promise to merge: correctness, security, scope, test results, maintainability, and repository-owner judgment still apply.

Marketing onboarding

  1. Join the World, enter the Office lobby, and use the elevator to open the Marketing floor. If it is locked, ask an organization owner to add your account to the Marketing team.
  2. Open your desk or the task wall, start only work assigned to you, and use progress check-ins to mark Going well, Blocked, or Need help.
  3. Keep campaign credentials, private drafts, customer data, and unreleased URLs out of public chat and public World presence.
  4. When a task is complete, submit the public HTTPS proof link from your desk. Task notes and proof records use the organization-scoped Worker API rather than multiplayer presence.
  5. Use the lobby Link Lab only when you intentionally want a link and your ForkMesh account name shown publicly.

Click the LINK LAB kiosk beside the welcome desk. Enter a public HTTPS link, a short title, and its channel, then accept the public-submission disclosure.

The score is a transparent 0–100 estimated reach score. It uses the authenticated account’s server-side follower count, aggregate visits ForkMesh has already observed from that hostname, and a small verified-domain signal. Potential traffic is shown as a range based on the selected channel. The kiosk does not fetch, crawl, execute, or preview the submitted URL.

What the score is not: it is not a social-credit score, quality judgment, identity verification, guaranteed traffic forecast, or input to merge access, rewards, governance, moderation, or team permissions.

Where to ask for help