A dedicated website housing the polyproto specifications and everything polyproto related. https://polyproto.org
  • TypeScript 84.9%
  • CSS 12%
  • Nix 1.8%
  • JavaScript 1.3%
Find a file
Flori Ava Star 3967e1d579
All checks were successful
Lint, Build, Smoketest Run / Lint (push) Successful in 1m17s
Lint, Build, Smoketest Run / Build and Run (push) Successful in 1m49s
Lint, Build, Smoketest Run / Deploy (push) Successful in 2m3s
Merge pull request 'Rewrite lede section of the overview page' (#120) from natjms/polyproto-dot-org:patch-overview-intro into main
Reviewed-on: #120
Reviewed-by: Flori Ava Star <ava@noreply.codeberg.org>
2026-02-17 02:21:20 +01:00
.github fix: no cache for you either mx. 2026-01-06 00:45:59 +01:00
.vscode doc: PURR, PAW, wording changes and README-re-doing 2026-01-15 19:17:25 +01:00
blog Added comparisons.md and bumped the "contribute" article down a spot. 2026-01-05 19:57:52 +01:00
docs fix: incorporate feedback from #120 2026-02-16 10:26:48 -08:00
plugins chore: add versioning notice 2025-08-08 00:08:52 +02:00
src fix: stop waves on prefers-reduced-motion 2026-02-14 18:19:37 +01:00
static feat: favicon contrast fix, better social banner, respect color scheme 2026-02-07 18:21:13 +01:00
.editorconfig add style config files 2025-04-05 13:58:15 +02:00
.envrc feat: add flake 2025-10-21 20:20:51 +02:00
.gitignore fix: Resolve spacing issue on homepage affecting HiDPI displays 2025-11-16 14:02:05 +01:00
.markdownlint.json feat: draft out more persona info! 2025-11-01 14:47:27 +01:00
.pre-commit-config.yaml feat: draft out more persona info! 2025-11-01 14:47:27 +01:00
.prettierignore add style config files 2025-04-05 13:58:15 +02:00
.prettierrc feat: use pre-commit for formatting/CI 2025-08-08 00:06:04 +02:00
bun.lockb feat: implement documentation 2025-04-04 10:58:58 -04:00
CNAME feat: create CNAME at project root 2025-08-24 18:13:19 +02:00
docusaurus.config.ts fix: enabling respectPrefers[...] breaks site :( 2026-02-08 00:50:41 +01:00
flake.lock feat: cleanup, node24, python313, ruamel-yaml 2026-01-05 21:21:36 +01:00
flake.nix feat: cleanup, node24, python313, ruamel-yaml 2026-01-05 21:21:36 +01:00
LICENSE Initial commit 2025-03-26 18:16:23 +01:00
package.json fix: stop waves on prefers-reduced-motion 2026-02-14 18:19:37 +01:00
README.md doc: PURR, PAW, wording changes and README-re-doing 2026-01-15 19:17:25 +01:00
sidebars.ts chore: add versioning notice 2025-08-08 00:08:52 +02:00
sitemap.xml deploy: update pages deployment 2025-10-24 18:45:05 +02:00
tailwind.config.js feat: change "poly-green-2" to be not as vibrant 2026-02-08 00:49:14 +01:00
tsconfig.json chore: add versioning notice 2025-08-08 00:08:52 +02:00
yarn.lock fix: stop waves on prefers-reduced-motion 2026-02-14 18:19:37 +01:00

a purple cog, split in the middle along the horizontal axis with a gap inbetween the two halves. three overlayed, offset sinus-like waves travel through that gap. each wave has a different shade of purple

polyproto-dot-org

Zulip-shield Code-of-conduct-shield FAQ-shield Estrogen-shield

Home of the polyproto protocol and its specification documents. PURRs should be submitted here!

Website

This website is built using Docusaurus, a modern static website generator.

Submitting a change request

There are two ways to submit change requests to the polyproto specifications:

polyproto Update & Revision Request (PURR)

A PURR is essentially a pull request changing the polyproto specification. Opening a pull request that changes the polyproto specification will result in a unique PURR identifier being assigned to that pull request. To avoid duplicate and pointless work, it is recommended to open an issue about the proposed change instead, where the change is outlined and can be discussed before the spec writing begins.

Numbering scheme

PURRs are labeled as follows: PURR-[YYYY]-[NNNN], where:

  • PURR: The literal string "PURR"
  • YYYY: The current calendar year
  • NNNN: Variable-length numerical digits, starting at 4 digits and increasing in length as more capacity is needed in a calendar year. The first PURR in a given calendar year is assigned the number 0001. After 9999, the next valid set of digits is 10000, with 100000 being the next valid digit after 99999, and so on. This number increases by "1" for every PURR filed in the current calendar year. This number can only increase, never decrease.

Polyproto Amendment Workflow (PAW)

If a PURR has been accepted and merged, a polyproto Amendment Workflow (PAW) will be started to integrate that change into the rest of the software and documentation ecosystem managed by this organization.

A PAW examines if and how a PURR affects the software and documentation we manage, and acts similar to an "epic" in that it tracks the integration of the PURR's changes throughout our ecosystem.

Opening an Issue

Opening an issue about a change you'd like to see is likely the easiest way to get that change seen and discussed. If the change is considered good and fitting for the given protocol specification document, a PURR can be opened for it.

Development Setup

Install the yarn package manager, or use nix and the provided flake.nix. To install the dependencies, run:

yarn

A local live server can be started with

yarn start

Most changes are reflected live (through hot-reloading) without restarting the server.

Pre-commit Hooks

This project uses pre-commit hooks to ensure code quality and uniform formatting. To set up pre-commit hooks:

  1. Install pre-commit:

    pip install pre-commit
    

    Alternatively: If you are using the nix flake and the provided development environment, you should already have pre-commit installed.

  2. Install prettier and dev-dependencies:

    yarn install
    
  3. Install the git hooks:

    pre-commit install
    

The pre-commit hooks will automatically:

  • Format Markdown and MDX files using Prettier
  • Lint Markdown files using markdownlint
  • Check for common issues like trailing whitespace and file endings

You can manually run the checks on all files:

pre-commit run --all-files

Build

yarn build

This command generates static content into the build directory and can be served using any static content hosting service. Additionally, the build process runs some Docusaurus-specific lints, which will also be checked for in CI.

The polyproto logo was designed by the wonderful antidoxi. The polyproto logos provided in this document are not covered by the license covering the rest of this project.

🏳️‍⚧️ Trans rights are human rights. Be gay, do crime!