Skip to content

docs: add docs for pnpr#829

Merged
zkochan merged 2 commits into
mainfrom
pnpr-docs
Jun 21, 2026
Merged

docs: add docs for pnpr#829
zkochan merged 2 commits into
mainfrom
pnpr-docs

Conversation

@zkochan

@zkochan zkochan commented Jun 21, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation
    • Added comprehensive pnpr registry server documentation, including installation, quick-start guide, CLI reference, configuration options, storage backends, authentication setup, and install acceleration features.

@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@vercel

vercel Bot commented Jun 21, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
pnpm-io Error Error Jun 21, 2026 3:30pm

Request Review

@coderabbitai

coderabbitai Bot commented Jun 21, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d9bbce75-d68a-4f61-979f-9124874f19a7

📥 Commits

Reviewing files that changed from the base of the PR and between c4fbe88 and 31e7758.

📒 Files selected for processing (11)
  • docusaurus.config.ts
  • pnpr-docs/auth-backends.md
  • pnpr-docs/cli.md
  • pnpr-docs/configuration.md
  • pnpr-docs/install-acceleration.md
  • pnpr-docs/installation.md
  • pnpr-docs/introduction.md
  • pnpr-docs/license.md
  • pnpr-docs/quick-start.md
  • pnpr-docs/storage.md
  • sidebars-pnpr.json
📜 Recent review details
🧰 Additional context used
🪛 LanguageTool
pnpr-docs/introduction.md

[style] ~38-~38: Consider using a different verb to strengthen your wording.
Context: ...pendency resolution to a pnpr server to make installs faster. ## License pnpr is **source-availabl...

(MAKE_XXX_FASTER)

pnpr-docs/cli.md

[style] ~36-~36: Consider using the more polite verb “ask” (“tell” implies ordering/instructing someone).
Context: ...## Examples Bind to all interfaces and tell clients to reach the server through a p...

(TELL_ASK)

🔇 Additional comments (9)
docusaurus.config.ts (1)

94-106: LGTM!

Also applies to: 126-135, 242-245

sidebars-pnpr.json (1)

1-20: LGTM!

pnpr-docs/introduction.md (1)

1-46: LGTM!

pnpr-docs/installation.md (1)

1-33: LGTM!

pnpr-docs/quick-start.md (1)

1-44: LGTM!

pnpr-docs/license.md (1)

1-22: LGTM!

pnpr-docs/cli.md (1)

1-47: LGTM!

pnpr-docs/install-acceleration.md (2)

57-57: The GitHub issue link pnpm/pnpm#12230 is valid and accessible.


62-66: The review comment searches for consistency in incorrect documentation sections.

The configuration key pnprServer is a pnpm client-side setting for connecting to a pnpr server during pnpm install. However, the review asks to verify consistency with cli.md and configuration.md, which both document the pnpr server-side configuration using verdaccio-shaped YAML for running a pnpr server—not pnpm client configuration.

The relevant comparison point is not pnpr documentation but rather the official pnpm settings documentation. pnprServer is not documented in:

This represents a documentation completeness issue within pnpm, not an inconsistency with pnpr documentation.

			> Likely an incorrect or invalid review comment.

📝 Walkthrough

Walkthrough

Registers a new @docusaurus/plugin-content-docs instance for pnpr in docusaurus.config.ts, updates the navbar and footer to link to it, and adds nine new pnpr-docs/ markdown pages covering introduction, installation, quick start, CLI reference, configuration, storage backends, auth backends, install acceleration, and licensing, along with a sidebars-pnpr.json sidebar definition.

Changes

pnpr docs section

Layer / File(s) Summary
Docusaurus plugin, sidebar, navbar, and footer wiring
docusaurus.config.ts, sidebars-pnpr.json
Adds a @docusaurus/plugin-content-docs entry for pnpr (path: './pnpr-docs', routeBasePath: 'pnpr'), replaces the navbar "Docs" item with a "Registry (pnpr)" docSidebar entry, inserts a footer link to /pnpr, and defines the sidebar tree with top-level entries and a nested Configuration category.
Introduction, installation, quick start, and license
pnpr-docs/introduction.md, pnpr-docs/installation.md, pnpr-docs/quick-start.md, pnpr-docs/license.md
Adds onboarding content: pnpr overview with experimental caution and use cases, npm global install guide with supported platform list, step-by-step quick start for server startup and client configuration, and PolyForm Shield license terms with trademark notice.
CLI reference
pnpr-docs/cli.md
Documents the pnpr [OPTIONS] command with a flags table (config path, bind address, storage/cache overrides, --public-url, packument TTL, OSV checks), RUST_LOG logging behavior, and example invocations.
Configuration, storage backends, and auth backends
pnpr-docs/configuration.md, pnpr-docs/storage.md, pnpr-docs/auth-backends.md
Adds the full YAML configuration reference covering storage vs cache, uplinks, per-glob package rules, auth defaults, log settings, and env-var substitution; S3 storage options table with Cloudflare R2 and MinIO examples; and SQL auth backend options for libsql/Turso (with embedded replica), PostgreSQL, and MySQL with connection-pool and sync-interval details.
Install acceleration
pnpr-docs/install-acceleration.md
Documents server-side dependency resolution via POST /v1/install, explains the resolution waterfall latency model, describes pnpr's stateless resolver behavior, and provides pnprServer configuration instructions in pnpm-workspace.yaml.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 Hop hop, the docs are here at last,
New pages planted, growing fast!
A registry server, Rust and bright,
With sidebars, config, install delight.
The pnpr bunny left a trail—
From quick start guides to storage tales! 🌿

🚥 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 pull request title accurately describes the main change: adding comprehensive documentation for pnpr, including introduction, installation, configuration, CLI reference, and storage guides.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch pnpr-docs

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.

@zkochan zkochan marked this pull request as ready for review June 21, 2026 15:32
@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Add pnpr (registry) documentation section to Docusaurus site
📝 Documentation ⚙️ Configuration changes 🕐 10-20 Minutes

Grey Divider

Description

• Add a dedicated Docusaurus docs instance for pnpr under the /pnpr route.
• Introduce pnpr documentation set (intro, install, config, storage, auth, CLI, licensing).
• Wire pnpr docs into navbar and existing docs routing for discoverability.
Diagram

graph TD
  A(["Docusaurus site"]) --> B["Docs plugin: default"] --> C["Client docs (/)"]
  A --> D["Docs plugin: pnpr"] --> E["pnpr-docs (md)"] --> F["pnpr sidebar JSON"]
  A --> G["Navbar + footer links"] --> D

  subgraph Legend
    direction LR
    _site(["Site/UI"]) ~~~ _plugin["Plugin instance"] ~~~ _files["Content/config files"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Merge pnpr docs into existing default docs tree
  • ➕ No multi-instance docs plugin configuration
  • ➕ Unified search/sidebar structure across all docs
  • ➖ Mixes server (pnpr) and client (pnpm) docs, potentially confusing IA
  • ➖ Harder to evolve pnpr docs independently (separate editUrl/pathing)
2. Create a separate Docusaurus site for pnpr
  • ➕ Full isolation of navigation, theming, and build settings
  • ➕ Clear product separation
  • ➖ More operational overhead (build/deploy, versioning, search)
  • ➖ More friction to cross-link between pnpm and pnpr docs
3. Use Docusaurus docs versions instead of a second docs instance
  • ➕ Built-in mechanism for parallel doc sets over time
  • ➕ Potentially simpler than multi-instance if pnpr is treated as a versioned track
  • ➖ Versions are intended for time-based versions, not product-based separation
  • ➖ May complicate URLs and contributor mental model

Recommendation: The chosen approach (a second docs plugin instance with its own routeBasePath and sidebar) is a good fit for product separation while keeping a single site/build. It preserves a clean /pnpr namespace, allows independent sidebar organization and editUrl, and avoids the overhead of a separate site. Ensure search/indexing and any global docs assumptions (e.g., default docs-only nav items) behave correctly with multi-instance docs.

Files changed (11) +619 / -1

Documentation (9) +575 / -0
auth-backends.mdDocument shared-SQL auth backends for pnpr replicas +91/-0

Document shared-SQL auth backends for pnpr replicas

• Adds documentation explaining per-instance auth state vs shared SQL backends for horizontal scaling. Describes supported backends (libsql/Turso, Postgres, MySQL), required Cargo features, and configuration examples.

pnpr-docs/auth-backends.md

cli.mdAdd pnpr CLI reference page +47/-0

Add pnpr CLI reference page

• Documents pnpr command-line flags and their behavior, including config selection, listen/storage/cache overrides, public URL rewriting, and OSV options. Includes logging guidance via RUST_LOG and usage examples.

pnpr-docs/cli.md

configuration.mdAdd pnpr configuration reference (verdaccio-shaped YAML) +129/-0

Add pnpr configuration reference (verdaccio-shaped YAML)

• Introduces a configuration guide covering storage/cache, uplinks, packages access rules, and auth defaults. Documents environment variable substitution and links to related pages (auth backends, CLI logging, storage backends).

pnpr-docs/configuration.md

install-acceleration.mdExplain pnpr install acceleration feature and flow +68/-0

Explain pnpr install acceleration feature and flow

• Describes how pnpr can offload dependency resolution to the server to reduce latency-bound graph walking. Documents the high-level request/response flow and how to enable it via pnpm-workspace.yaml.

pnpr-docs/install-acceleration.md

installation.mdAdd pnpr installation instructions for npm-distributed binary +33/-0

Add pnpr installation instructions for npm-distributed binary

• Documents installing @pnpm/pnpr globally via pnpm and explains the platform-specific binary wrapper packages. Includes verification and pointers to next steps.

pnpr-docs/installation.md

introduction.mdAdd pnpr introduction and experimental disclaimer +46/-0

Add pnpr introduction and experimental disclaimer

• Introduces pnpr as a Rust npm-registry-compatible server and positions it relative to pnpm and verdaccio. Adds an explicit experimental disclaimer and summarizes use cases and licensing model.

pnpr-docs/introduction.md

license.mdAdd pnpr license and trademark notice page +22/-0

Add pnpr license and trademark notice page

• Documents pnpr's PolyForm Shield source-available license and non-compete constraint, with links to upstream license and contribution terms. Adds a trademark/affiliation disclaimer for npm/GitHub/Microsoft.

pnpr-docs/license.md

quick-start.mdAdd pnpr quick start: run server, point client, publish +44/-0

Add pnpr quick start: run server, point client, publish

• Provides a basic workflow to run pnpr with defaults, configure a client to use it as registry, and publish a package. Links to deeper references (CLI, configuration, install acceleration).

pnpr-docs/quick-start.md

storage.mdDocument S3-compatible storage backend configuration +95/-0

Document S3-compatible storage backend configuration

• Explains the split between hosted storage and cache, and how an s3: block moves hosted packages into S3/R2/MinIO-compatible storage. Includes option reference and end-to-end configuration examples.

pnpr-docs/storage.md

Other (2) +44 / -1
docusaurus.config.tsRegister pnpr docs plugin and add navbar/footer links +25/-1

Register pnpr docs plugin and add navbar/footer links

• Adds a second @docusaurus/plugin-content-docs instance with id 'pnpr' serving content from ./pnpr-docs under routeBasePath 'pnpr' and using a dedicated sidebar file. Updates navbar label for existing docs and adds a 'Registry (pnpr)' docs sidebar entry, plus a footer/docs link to the pnpr section.

docusaurus.config.ts

sidebars-pnpr.jsonDefine pnpr docs sidebar structure +19/-0

Define pnpr docs sidebar structure

• Adds a dedicated sidebar for the pnpr docs section, ordering intro/install/quickstart/CLI and grouping configuration subtopics. Used by the new pnpr docs plugin instance.

sidebars-pnpr.json

@zkochan zkochan merged commit 5cd1994 into main Jun 21, 2026
5 of 7 checks passed
@zkochan zkochan deleted the pnpr-docs branch June 21, 2026 15:35
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