Skip to content

docs: clarify contributor setup#1618

Merged
senamakel merged 2 commits into
tinyhumansai:mainfrom
honor2030:docs/contributor-setup-env
May 13, 2026
Merged

docs: clarify contributor setup#1618
senamakel merged 2 commits into
tinyhumansai:mainfrom
honor2030:docs/contributor-setup-env

Conversation

@honor2030
Copy link
Copy Markdown
Contributor

@honor2030 honor2030 commented May 13, 2026

Summary

  • Adds a README contributor-from-source quick start for first-time setup.
  • Documents required Node, pnpm, Rust, CMake, submodule, and platform build prerequisites in contributor docs.
  • Adds a macOS Homebrew bootstrap example and clearer source-build steps.
  • Fixes stale contributor/agent documentation links to the current architecture pages.

Problem

Issue #1600 notes that first-time contributor setup docs are too sparse. The current docs did not call out CMake, submodules, the pinned toolchain versions, or the preferred desktop dev command clearly enough, and several internal contributor links pointed at moved or missing pages.

Solution

  • Clarified the source setup path in README.md, CONTRIBUTING.md, and gitbooks/developing/getting-set-up.md.
  • Added CMake and vendored Tauri/CEF submodules to the prerequisites so native Rust and desktop builds do not fail unexpectedly.
  • Updated moved links from gitbooks/developing/{frontend,tauri-shell}.md to gitbooks/developing/architecture/{frontend,tauri-shell}.md and replaced a broken GitBook placeholder link with the agent harness page.

Submission Checklist

If a section does not apply to this change, mark the item as N/A with a one-line reason. Do not delete items.

  • Tests added or updated (happy path + at least one failure / edge case) per Testing Strategy — N/A: documentation-only contributor setup/link update.
  • Diff coverage ≥ 80% — changed lines (Vitest + cargo-llvm-cov merged via diff-cover) meet the gate enforced by .github/workflows/coverage.yml. Run pnpm test:coverage and pnpm test:rust locally; PRs below 80% on changed lines will not merge. — N/A: documentation-only change with no executable coverage surface.
  • Coverage matrix updated — added/removed/renamed feature rows in docs/TEST-COVERAGE-MATRIX.md reflect this change (or N/A: behaviour-only change) — N/A: no feature row changed.
  • All affected feature IDs from the matrix are listed in the PR description under ## Related — N/A: no affected feature IDs.
  • No new external network dependencies introduced (mock backend used per Testing Strategy)
  • Manual smoke checklist updated if this touches release-cut surfaces (docs/RELEASE-MANUAL-SMOKE.md) — N/A: contributor docs only, not a release-cut surface.
  • Linked issue closed via Closes #NNN in the ## Related section

Impact

  • Runtime/platform impact: none; documentation only.
  • Security/performance/migration impact: none.
  • Contributor impact: clearer local setup path and fewer broken links for new contributors and coding agents.

Related


AI Authored PR Metadata (required for Codex/Linear PRs)

Keep this section for AI-authored PRs. For human-only PRs, mark each field N/A.

Linear Issue

  • Key: N/A — GitHub issue only.
  • URL: N/A — GitHub issue only.

Commit & Branch

  • Branch: docs/contributor-setup-env
  • Commit SHA: fb23a80

Validation Run

  • pnpm --filter openhuman-app format:check
  • pnpm typecheck
  • Focused tests: python3 local markdown link checker over README/CONTRIBUTING/AGENTS/CLAUDE and gitbooks/developing/**/*.md (TOTAL_MISSING=0)
  • Rust fmt/check (if changed): pnpm --filter openhuman-app format:check includes cargo fmt --manifest-path ../Cargo.toml --all --check; no Rust code changed.
  • Tauri fmt/check (if changed): pnpm --filter openhuman-app format:check includes cargo fmt --manifest-path src-tauri/Cargo.toml --all --check; no Tauri code changed.

Validation Blocked

  • command: N/A
  • error: N/A
  • impact: N/A

Behavior Changes

  • Intended behavior change: No runtime behavior change; docs only.
  • User-visible effect: New contributors see clearer setup and link guidance.

Parity Contract

  • Legacy behavior preserved: N/A — docs only.
  • Guard/fallback/dispatch parity checks: N/A — docs only.

Duplicate / Superseded PR Handling

  • Duplicate PR(s): N/A
  • Canonical PR: This PR
  • Resolution (closed/superseded/updated): N/A

Summary by CodeRabbit

  • Documentation
    • Updated contributor docs to point to the revised architecture and agent-harness/tauri-shell locations
    • Pointed design token guidance to the in-repo Tailwind config
    • Clarified prerequisites and pinned versions (Node 24+, pnpm 10.10.0, Rust 1.93.0); added CMake requirement
    • Added macOS Homebrew bootstrap examples and expanded local build/dev setup with explicit submodule, build, and run steps

Review Change Stack

@honor2030 honor2030 requested a review from a team May 13, 2026 10:21
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

📝 Walkthrough

Walkthrough

Documentation updates consolidate contributor onboarding: README adds a "Contributing from source" checklist; CONTRIBUTING and gitbooks pin tool versions, add CMake and a macOS Homebrew bootstrap, and make build-from-source steps explicit; internal docs links are retargeted to architecture-focused GitBook pages and Tailwind token locations.

Changes

Contributor Documentation Updates

Layer / File(s) Summary
Contributor entry point and setup checklist
README.md
README.md adds a "Contributing from source" section with prerequisites, submodule init, and recommended dev/typecheck/build commands, replacing the prior single-line contributor link.
Prerequisites, macOS bootstrap, and build-from-source workflow
CONTRIBUTING.md, gitbooks/developing/getting-set-up.md
CONTRIBUTING.md adds CMake to prerequisites and a macOS Homebrew bootstrap example. getting-set-up.md pins Node/pnpm/Rust versions, requires CMake and vendored submodules, adds a macOS quick-start, and rewrites build steps (submodule update, pnpm install, cargo build --bin openhuman-core, pnpm core:stage, pnpm build); documents web vs desktop dev workflows.
Architecture navigation and design-token retargets
AGENTS.md, CLAUDE.md, gitbooks/developing/README.md
Navigation links retargeted from gitbooks/developing/ to gitbooks/developing/architecture/ (frontend, tauri-shell, agent-harness); design-token references now point to app/tailwind.config.js; a Telegram macOS deep-links reference was removed; Tauri IPC doc links updated.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • tinyhumansai/openhuman#1387: Adds gitbooks/developing/architecture/agent-harness.md and wires it into GitBook navigation — directly related to the link retargets in this PR.
  • tinyhumansai/openhuman#1455: Overlaps contributor setup changes and macOS bootstrap content updated in CONTRIBUTING.md/getting-set-up.md.
  • tinyhumansai/openhuman#1454: Modifies build instructions around the openhuman-core Rust binary and staging commands used in getting-set-up docs.

Suggested reviewers

  • senamakel

Poem

🐰 I hopped through docs with careful cheer,

Links now point where readers steer,
CMake, Node, Rust all set in tune,
A Homebrew hop beneath the moon,
Contributors ready — off they gear!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: clarify contributor setup' accurately and concisely summarizes the main objective of the PR, which is to improve and clarify contributor setup documentation.
Linked Issues check ✅ Passed The PR comprehensively addresses all coding-related objectives from issue #1600: provides step-by-step setup instructions, documents required tools with pinned versions, includes macOS Homebrew bootstrap example, and fixes broken documentation links.
Out of Scope Changes check ✅ Passed All changes are directly scoped to contributor setup documentation improvements as outlined in issue #1600; no unrelated modifications detected across the six documentation files updated.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@gitbooks/developing/getting-set-up.md`:
- Around line 64-68: Add a brief clarification after the existing "cd app" step
that states which commands are run from the app/ directory vs the workspace
root: indicate that "pnpm dev" is run inside the app/ folder (after cd app) and
that "pnpm --filter openhuman-app dev:app" must be executed from the
repository/workspace root (so change back to the repo root before running it).
Reference the existing tokens "cd app", "pnpm dev", and "pnpm --filter
openhuman-app dev:app" so readers know exactly where to run each command.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 344eb04d-bba6-4f86-8b17-d38f8eac685f

📥 Commits

Reviewing files that changed from the base of the PR and between 9871ccf and fb23a80.

📒 Files selected for processing (6)
  • AGENTS.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • README.md
  • gitbooks/developing/README.md
  • gitbooks/developing/getting-set-up.md

Comment thread gitbooks/developing/getting-set-up.md Outdated
@honor2030 honor2030 force-pushed the docs/contributor-setup-env branch from ce551fc to 6ed8cef Compare May 13, 2026 12:38
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
gitbooks/developing/getting-set-up.md (1)

53-55: ⚡ Quick win

Consider removing or better justifying the no-op build step.

Step 5 explicitly states that pnpm core:stage is "currently a no-op; kept for script compatibility." Documenting a step that does nothing creates unnecessary friction in contributor onboarding and may confuse first-time builders.

If this command is truly vestigial and has no side effects, consider removing it from the documented workflow. If it must remain for compatibility with automation scripts, add a note explaining which scripts depend on it or when it will be needed again.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@gitbooks/developing/getting-set-up.md` around lines 53 - 55, Step 5 documents
a no-op command "pnpm core:stage" which confuses contributors; either remove the
two lines that run "cd app" and "pnpm core:stage" from the setup steps or
replace them with a short justification paragraph explaining why "pnpm
core:stage" must remain (e.g., which automation scripts or CI jobs expect that
target, or planned future use), referencing the exact command "pnpm core:stage"
and the Step 5 heading so reviewers can locate and validate the change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@gitbooks/developing/getting-set-up.md`:
- Around line 27-33: Replace installing pnpm via Homebrew with enabling Node's
Corepack so the repo's pinned pnpm@10.10.0 from package.json is used: change the
install line to remove `pnpm` (use `brew install node@24 rustup-init cmake`) and
add a step to run `corepack enable` after Node is installed; mention
`pnpm@10.10.0` and the `packageManager` field so contributors know Corepack will
provide the correct pnpm version automatically.

---

Nitpick comments:
In `@gitbooks/developing/getting-set-up.md`:
- Around line 53-55: Step 5 documents a no-op command "pnpm core:stage" which
confuses contributors; either remove the two lines that run "cd app" and "pnpm
core:stage" from the setup steps or replace them with a short justification
paragraph explaining why "pnpm core:stage" must remain (e.g., which automation
scripts or CI jobs expect that target, or planned future use), referencing the
exact command "pnpm core:stage" and the Step 5 heading so reviewers can locate
and validate the change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 81b49a7d-7006-4c02-bbc7-5bd4d9983146

📥 Commits

Reviewing files that changed from the base of the PR and between ce551fc and 6ed8cef.

📒 Files selected for processing (6)
  • AGENTS.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • README.md
  • gitbooks/developing/README.md
  • gitbooks/developing/getting-set-up.md
✅ Files skipped from review due to trivial changes (5)
  • README.md
  • gitbooks/developing/README.md
  • CONTRIBUTING.md
  • AGENTS.md
  • CLAUDE.md

Comment on lines +27 to +33
macOS Homebrew quick start:

```bash
brew install node@24 pnpm rustup-init cmake
rustup toolchain install 1.93.0 --profile minimal
rustup component add rustfmt clippy --toolchain 1.93.0
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

The pnpm installation method may not honor the pinned version.

Line 30 uses brew install pnpm, which typically installs Homebrew's latest stable pnpm package rather than the specific pnpm@10.10.0 version required by line 21. This discrepancy will cause contributors to have the wrong pnpm version, potentially leading to lockfile incompatibility or installation failures.

📦 Proposed fix using Node.js corepack
 macOS Homebrew quick start:
 
 ```bash
-brew install node@24 pnpm rustup-init cmake
+brew install node@24 rustup-init cmake
+corepack enable
 rustup toolchain install 1.93.0 --profile minimal
 rustup component add rustfmt clippy --toolchain 1.93.0

After installing Node.js, `corepack enable` allows the `packageManager` field in `package.json` to automatically provide the correct pnpm version when you run `pnpm` commands.

</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion
macOS Homebrew quick start:

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@gitbooks/developing/getting-set-up.md` around lines 27 - 33, Replace
installing pnpm via Homebrew with enabling Node's Corepack so the repo's pinned
pnpm@10.10.0 from package.json is used: change the install line to remove `pnpm`
(use `brew install node@24 rustup-init cmake`) and add a step to run `corepack
enable` after Node is installed; mention `pnpm@10.10.0` and the `packageManager`
field so contributors know Corepack will provide the correct pnpm version
automatically.

Copy link
Copy Markdown
Contributor

@graycyrus graycyrus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Walkthrough

Docs-only PR that adds a contributor quick-start section to the README, pins tool versions (Node 24+, pnpm 10.10.0, Rust 1.93.0, CMake) in prerequisites, adds a macOS Homebrew bootstrap example, and retargets stale doc links from gitbooks/developing/{frontend,tauri-shell,coding-harness}.md to their current gitbooks/developing/architecture/ paths. Also cleans up a dead Telegram deep-links reference and swaps the design-language.md pointer for app/tailwind.config.js.

Change Summary

File Change Notes
AGENTS.md Link retarget (×3) frontend, tauri-shell → architecture/; design-language → tailwind config; remove dead telegram-login-desktop.md ref
CLAUDE.md Link retarget (×3) Same pattern: frontend, tauri-shell, coding-harness → architecture/ paths; design → tailwind config
CONTRIBUTING.md Prerequisites + Homebrew bootstrap CMake row added; macOS brew example; link retarget (frontend, tauri-shell)
README.md New "Contributing from source" section Quick-start steps, local file link for Cloud Deploy
gitbooks/developing/README.md Fix broken GitBook link /broken/pages/...architecture/agent-harness.md
gitbooks/developing/getting-set-up.md Major rewrite Pinned versions, submodule step, Homebrew bootstrap, working-directory clarifications

Per-file analysis

Link retargets (AGENTS.md, CLAUDE.md, CONTRIBUTING.md, gitbooks/developing/README.md): All verified — old targets (frontend.md, tauri-shell.md, coding-harness.md, design-language.md) no longer exist on main; new targets under architecture/ all exist. The broken GitBook placeholder link (/broken/pages/...) is correctly replaced with architecture/agent-harness.md. Clean.

README.md: Good quick-start section. The Cloud Deploy link changed from an external gitbook URL to a local file path — works, but the two adjacent links (Architecture, Getting Set Up) still use external gitbook URLs, creating a mix of local and external references on the same line.

getting-set-up.md: Well-structured rewrite. Submodule init step correctly added before pnpm install. Working directory clarifications for pnpm dev vs pnpm --filter openhuman-app dev:app were addressed in a follow-up commit.

Issue coverage gap

Issue #1600 asks for "troubleshooting tips for installation" — this PR doesn't add a troubleshooting section. Not blocking, but worth noting as a follow-up item.

Overall

Solid docs improvement. Link retargets are all correct and verified against the current tree. The prerequisite pinning and Homebrew bootstrap will meaningfully help new contributors. Two minor items flagged inline.

Comment thread CLAUDE.md
## Design

Premium, calm visual language — ocean primary `#4A83DD`, sage / amber / coral semantics, Inter + Cabinet Grotesk + JetBrains Mono, Tailwind with custom radii/spacing/shadows. See [`gitbooks/resources/design-language.md`](gitbooks/resources/design-language.md).
Premium, calm visual language — ocean primary `#4A83DD`, sage / amber / coral semantics, Inter + Cabinet Grotesk + JetBrains Mono, Tailwind with custom radii/spacing/shadows. Implementation tokens live in [`app/tailwind.config.js`](app/tailwind.config.js).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[minor] The old line pointed to design-language.md which described the full design philosophy (color rationale, typography choices, spacing). The replacement app/tailwind.config.js only contains implementation tokens — a contributor reading CLAUDE.md for design guidance will find Tailwind values but no narrative context.

Since design-language.md no longer exists, this is the best available target. Consider a follow-up to recreate design narrative docs if design decisions need to be communicated to contributors.

Comment thread README.md
2. Fork and clone the repo, then run `git submodule update --init --recursive` before `pnpm install` so the vendored Tauri/CEF sources are present.
3. Use `pnpm dev` for web-only UI work, `pnpm --filter openhuman-app dev:app` for the desktop shell, and focused checks such as `pnpm typecheck`, `pnpm format:check`, and `cargo check -p openhuman --lib` before opening a PR.

Deeper docs: [Architecture](https://tinyhumans.gitbook.io/openhuman/developing/architecture) · [Getting Set Up](https://tinyhumans.gitbook.io/openhuman/developing/getting-set-up) · [Cloud Deploy](./gitbooks/features/cloud-deploy.md).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[minor] This line now mixes external gitbook URLs (Architecture, Getting Set Up) with a local file path (./gitbooks/features/cloud-deploy.md). Consider making them consistent — either all external or all local.

Suggested change
Deeper docs: [Architecture](https://tinyhumans.gitbook.io/openhuman/developing/architecture) · [Getting Set Up](https://tinyhumans.gitbook.io/openhuman/developing/getting-set-up) · [Cloud Deploy](./gitbooks/features/cloud-deploy.md).
Deeper docs: [Architecture](gitbooks/developing/architecture.md) · [Getting Set Up](gitbooks/developing/getting-set-up.md) · [Cloud Deploy](gitbooks/features/cloud-deploy.md).

@senamakel senamakel merged commit df189c8 into tinyhumansai:main May 13, 2026
15 of 19 checks passed
AusAgentSmith pushed a commit to AusAgentSmith/openhuman that referenced this pull request May 23, 2026
Co-authored-by: honor2030 <19909783+honor2030@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve contributor setup instructions for beginners

3 participants