OpenAPI 3.1 documentation for polyproto, powered by TypeSpec https://core.apidoc.polyproto.org/
  • TypeSpec 89.5%
  • Markdown 6.3%
  • Nix 4.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Flori Ava Star Weber 14000e3dad
All checks were successful
Nix: Check, Build, Deploy / build_and_deploy (pull_request) Successful in 1m29s
Nix: Check, Build, Deploy / build_and_deploy (push) Successful in 1m28s
ci: new init for new forgejo-runner backend with shared nix store
see: polyphony/forgejo-runner-config#6
2026-11-09 18:42:03 +01:00
.forgejo ci: new init for new forgejo-runner backend with shared nix store 2026-11-09 18:42:03 +01:00
.vscode feat: typespec compilation task for vscode 2025-05-31 12:37:12 +02:00
build chore(bot): update openapi3 schema 2026-10-28 19:51:35 +00:00
polyproto fix: ID-Cert request doesn't need token response since OIDC update 2026-10-28 19:44:03 +01:00
.editorconfig chore: add editorconfig baseline 2026-07-14 14:38:48 +02:00
.gitattributes override linguist-language 2024-10-27 22:58:03 +01:00
.gitignore feat: new, nix-based CI workflow 2026-02-14 16:35:32 +01:00
.markdownlint.json feat: new, nix-based CI workflow 2026-02-14 16:35:32 +01:00
.prettierignore chore: ignore build/ in .prettierignore 2026-09-03 19:37:57 +02:00
.prettierrc chore(fmt): nix fmt, add prettier cfg 2026-02-14 16:35:32 +01:00
flake.lock feat: flake outputs: fmt, build, check 2026-02-14 15:45:49 +01:00
flake.nix chore: bump typespec-compiler from v1.1.0->v1.9.0 2026-02-14 16:35:32 +01:00
LICENSE Update LICENSE 2024-12-22 11:48:02 +01:00
package-lock.json chore: bump typespec-compiler from v1.1.0->v1.9.0 2026-02-14 16:35:32 +01:00
package.json chore(fmt): nix fmt, add prettier cfg 2026-02-14 16:35:32 +01:00
README.md fix: build-status badge replaced with updated, working one 2026-02-19 23:48:24 +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

typespec-openapi

Code-of-conduct-shield Zulip-shield FAQ-shield Build/Deploy OpenAPI specification

Specification documents and API documentation for polyproto, polyproto-chat and polyproto-mls.

API documentation built with TypeSpec.

Pre-compiled OpenAPI schema(s)

Find the pre-compiled OpenAPI v3.1 schema file(s) in the /build directory. The schema is automatically built and deployed to the main branch on every push to the main branch.

Contributing

The best way to contribute is to open an issue if you find any problems with the documentation. Creating an issue is generally the best way to contribute to any open source project. Issues allow for an exchange between contributors and maintainers to discuss the viability of implementing an issue, usually minimizing frustration.

You should also read our Code of Conduct and Contributing Guidelines before contributing.

Setting up a development environment

nix

If you have direnv installed, create a .envrc file in the project root, containing

use flake

and run direnv allow in a shell, in the project root.

The flake provides a devshell, accessible as usual with nix develop.

Build

Build individual specifications or everything at once:

nix build .#core   # Build polyproto-core OpenAPI schema
nix build .#mls    # Build polyproto-mls OpenAPI schema
nix build .#chat   # Build polyproto-chat OpenAPI schema
nix build          # Build all specifications

Output files are placed in $PROJECT/result/.

Format

nix fmt

Check

nix flake check

Everyone else

You will need the following things installed on your computer:

  • Node.js 24
  • npm
  • git
  • TypeSpec - install it globally with npm install -g @typespec/compiler

Build

  1. Navigate to the /polyproto directory.
  2. Select the project you want to compile. In this example, we are compiling the core project. Navigate to that directory.
  3. Run tsp install to install the dependencies.
  4. Run tsp compile . to compile the project or tsp compile --watch . to automatically recompile the project when you save a file.
  5. The compiled OpenAPI 3 schema should be in the $PROJECT/tsp-output/@typespec/openapi3 directory.

Format

tsp format "**/*.tsp"

Check

tsp format --check "**/*.tsp"
tsp compile ./polyproto/[chat|core|...] --dry-run