Skip to content

Contributors Guide - #966

Open
PizzaLovingNerd wants to merge 4 commits into
mainfrom
docs/contributors-guide
Open

Contributors Guide#966
PizzaLovingNerd wants to merge 4 commits into
mainfrom
docs/contributors-guide

Conversation

@PizzaLovingNerd

@PizzaLovingNerd PizzaLovingNerd commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Contributors Guide

What changed

Adds a contributor guide at /contribute so people can find the right repository, prepare a change, and understand what to expect from review without piecing the process together across projects.

The guide covers first contributions, repository ownership, local development and testing, pull requests, and contribution policies. It keeps repository-specific instructions authoritative rather than applying the core project's rules to every NetBird repository. It also explains generated-file boundaries, private vulnerability reporting, and how to contain tests that alter networking or create live resources.

The new pages appear in the docs sidebar. The README points to the guide and updates the local setup instructions and several MDX examples.

This also includes the announcement-banner height fix found during mobile review. The header now follows the banner's rendered height instead of assuming it stays on one line, so a wrapped announcement does not cover the mobile navigation. Wide repository tables scroll within their own focusable regions.

Related website change

Companion branch: Contribution Onboarding.

The website is a short introduction that links into this handbook, not a second copy of it. Publish these docs before the website change goes live so its contribution links have working destinations. This docs change does not depend on the website being deployed.

Verification

  • npm ci and npm run build passed with Node.js 22.23.1.
  • npm run lint:mdx passed for 298 MDX files.
  • Codespell passed on the README, contributor pages, and changed announcement components.
  • Targeted ESLint passed for both announcement components.
  • All five /contribute routes returned HTTP 200 from the local production build. The combined site/docs check verified 50 unique contributor route and anchor targets.
  • git diff --cached --check passed.

The broad npm run lint command still reports 15 errors and 8 warnings. The navigation finding matches the unchanged code in the base revision; the remaining findings are in untouched files. No new lint findings were identified. The pinned dependency install reports 22 audit advisories; this change does not modify dependencies or the lockfile.

Earlier preview review covered desktop and mobile layouts, light and dark themes, keyboard table scrolling, and opening the mobile menu with a wrapped announcement. Fresh browser capture was unavailable during this final check; build and HTTP/link checks were rerun. This is not a fresh runtime test of every downstream development command described in the handbook.

Summary by CodeRabbit

  • New Features

    • Added a dedicated contribution section to documentation navigation.
    • Added guides covering contribution basics, repository selection, development workflows, pull requests, and contribution policies.
    • Announcement banners now adjust their layout height automatically as content changes.
  • Documentation

    • Updated setup, development, linting, and build instructions for the current documentation stack.
    • Refreshed contribution guidance, examples, links, and security-related notes.
    • Added guidance for cross-repository work, testing, generated files, credentials, and platform-specific development.

@vercel

vercel Bot commented Sep 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Sep 11, 2026 7:31pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: c4b8ff8c-bfae-4177-bee5-29b7764b6b4a

📥 Commits

Reviewing files that changed from the base of the PR and between 4089e03 and 5c90c45.

📒 Files selected for processing (1)
  • src/pages/contribute/development.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/pages/contribute/development.mdx

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The PR adds contribution documentation, navigation links, repository workflows, and policy guidance. It updates README examples for Next.js/MDX. It also measures announcement banner height with ResizeObserver and stores the value in announcement context state.

Changes

Documentation and announcement updates

Layer / File(s) Summary
Dynamic announcement height
src/components/announcement-banner/*
Announcement banners measure their rendered height and update provider state through setBannerHeight.
Contribution entry points
README.md, src/components/NavigationDocs.jsx, src/pages/contribute/index.mdx
README instructions and examples were updated. Navigation now links to contribution pages. The contribution index describes contribution paths and initial checks.
Repository and contribution policies
src/pages/contribute/repositories.mdx, src/pages/contribute/policies.mdx, src/pages/contribute/pull-requests.mdx
New pages document repository selection, contribution policies, security handling, and pull-request preparation.
Repository development workflows
src/pages/contribute/development.mdx
The development guide documents setup, validation, platform workflows, generated files, cross-repository changes, and test containment.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Other

Merge Risk: ⚪ Minimal · up to 5c90c

The documented changes and banner sizing update have no supported unresolved merge risk.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (1 skipped: 1 … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title identifies the main change: adding a contributors guide. It is concise and related to the pull request.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 3 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/contributors-guide

Warning

Some tools did not complete. Review the errors below.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

src/pages/contribute/development.mdx

typescript-eslint does not support TS 7.0.
Please see https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/#running-side-by-side-with-typescript-6.0 to run typescript-eslint using the TS 6 API.
See also typescript-eslint/typescript-eslint#10940 for tracking typescript-eslint's support for TS >=7.1

Oops! Something went wrong! :(

ESLint: 9.39.5

Error: typescript-eslint does not support TS 7.0.
at Object. (/.eslint-tmp/node_modules/typescript-eslint/dist/index.js:52:11)
at Module._compile (node:internal/modules/cjs/loader:1830:14)
at Object..js (node:internal/modules/cjs/loader:1961:10)
at Module.load (node:internal/modules/cjs/loader:1553:32)
at Module._load (node:internal/modules/cjs/loader:1355:12)
at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
at Module.require (node:internal/modules/cjs/loader:1576:12)
at require (node:internal/modules/helpers:153:16)
at Object. (/.eslint-tmp/node_modules/eslint-config-next/dist/index.js:5:64)
at Module._compile (node:internal/modules/cjs/loader:1830:14)


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

A rabbit checks the docs at dawn
New paths appear where links were drawn
Banners measure, resize, and glow
Clear contribution steps now show
Safe tests hop from page to page

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

@PizzaLovingNerd PizzaLovingNerd changed the title # Contributors Guide Contributors Guide Sep 7, 2026
@PizzaLovingNerd
PizzaLovingNerd marked this pull request as ready for review September 7, 2026 04:27
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.

1 participant