First contributor path

From clean machine to reviewable change.

Use the released product first, isolate development state, reserve accepted work, and run the same evidence-producing checks expected in review.

Understand the product boundary

RynMesh is a local-first personal assistant. The node daemon—not the browser—is the authority for identity, preferences, publishing, peers, and owner data.

Read architecture and trust boundaries

Use the released app

Open For You, inspect source health, view several content formats, give feedback, save a preference, and restart. This establishes what a released user sees.

Download the current release

Prepare the source checkout

Prerequisites: Git, Python 3.10+, and Node.js 22 with npm. Rust stable is needed only for Tauri desktop work.

git clone https://github.com/yeogirlyun/rynmesh.git
cd rynmesh
./scripts/dev_setup.sh

Run an isolated development node

Quit the released app so port 8791 is free. Keep development identity, preferences, and content outside your normal profile.

export RYNMESH_HOME="${TMPDIR:-/tmp}/rynmesh-contributor-node"
export RYNMESH_AUTO_REGISTER="0"
export RYNMESH_DEFAULT_DISCOVERY="1"
./.venv/bin/rynmesh-peer

In a second terminal:

cd webapp
npm run dev

Choose and reserve accepted work

Open an available contribution item, read its acceptance criteria, and comment /claim. Design, privacy, and large changes wait for maintainer approval.

Choose my first task

Work in a focused branch

One issue should normally produce one pull request. Reproduce current behavior, add deterministic tests, and avoid unrelated dependency upgrades or refactors.

git switch -c test/issue-15-for-you

Verify before submission

Run the baseline suite from the repository root. Add surface-specific checks described in the accepted issue.

./.venv/bin/python -m pytest tests/ -q
./.venv/bin/python -m ruff check rynmesh tests qa
(cd webapp && npm ci && npm run build)

Open a linked draft pull request

Use Closes #123, explain user-visible behavior, list verification evidence, and keep the draft updated when scope or progress changes.

Read the complete first contributor guide

Before submission

Definition of done

  • The accepted issue and its acceptance criteria are linked.
  • Tests cover user-visible success and relevant failure states.
  • No credentials, private content, or real private infrastructure are present.
  • Documentation changes match behavior changes.
  • Backend, lint, web build, packaged-node, and applicable desktop checks remain green.