Contribute to Pseudo

Build the language with us.

Pseudo is open source under MIT + Apache 2.0. The compiler, stdlib, portal, and docs all live in one public repo. We're looking for contributors across six areas — pick the one that fits your skills and ship a PR.

How the contributor role works

Four steps from "interested" to "contributor."

  1. Pick an area below + read CONTRIBUTING.md. The repo's CONTRIBUTING covers DCO sign-off, conventional commits, the test bar, and the "how to ask a question" channels (currently GitHub Discussions).
  2. Pick the right channel: PR, issue, or RFC. For ≤50-line code changes, just open a PR. For non-trivial code work or new features, file an issue first to align on approach. For language or stdlib changes, write an RFC ( see existing RFCs). Docs improvements skip the issue step.
  3. Ship it; wait for acceptance. Vladimir reviews (with Claude Opus 4.7 as the mandatory final reviewer per ADR-0018). Acceptance can be: a merged PR, an issue labeled accepted, an accepted RFC, or a docs improvement that goes live. Any of these counts.
  4. Get the contributor role on this portal. Once your contribution is accepted, Vladimir (or another admin) grants the role from /admin/users/[you]?tab=access. It's a deliberate human step — the role recognizes accepted contributions, not just GitHub activity. The grant shows up as an audit-log entry tied to the accepted artifact.
  5. Optional: promotion to maintainer. After sustained high-quality contributions (typical bar: ~10 merged PRs across >3 months with no quality regressions), you get invited to maintainer — full commit + merge rights. The judgment is Vladimir's; the public criteria are visible in GOVERNANCE.md.

Areas needing help

Pick what fits your skills.

Compiler — parser + type-checker

Hand-written recursive-descent parser in Go; bidirectional type-checker with row polymorphism. The hottest path; biggest impact per merged PR.

Skills helpful:

  • Go
  • compiler theory (helpful but not required)
Good-first-issues →

Target emitters (11 languages)

TypeScript · Rust · Python · Go · Swift · Kotlin · C# · C++ · WASM · shell · Ruby. Each emitter lowers Pseudo IR to idiomatic target code. Pick the language you know.

Skills helpful:

  • Go (the emitter framework)
  • the target language you choose
Good-first-issues →

Standard library

Cross-target stdlib: Result/Option, IO, collections, crypto wrappers, HTTP client. Written in Pseudo, ships per-target via the emitters above.

Skills helpful:

  • Pseudo language fluency (or willingness to learn)
  • API design
Good-first-issues →

Documentation

docs.pseudo-lang.com (Fumadocs-driven). Tutorials, reference, ADR explanations, language spec rewrites. High leverage — every doc improvement compounds.

Skills helpful:

  • Technical writing
  • Markdown / MDX (optional)
Good-first-issues →

Portal (this site)

Next.js 16 + Tailwind v4 + Radix + Fumadocs. Admin tools, role-gated portals, the 11-target install hero. Lots of UI work.

Skills helpful:

  • TypeScript
  • React 19
  • Next.js (helpful)
Good-first-issues →

Example programs + benchmarks

Real-world Pseudo programs — CLIs, web servers, data tools — that demonstrate the language. Plus benchmark harnesses comparing emitted code to hand-written equivalents.

Skills helpful:

  • Pseudo language fluency
  • the domain of the example you pick
Good-first-issues →

What contributing earns you

Five concrete things.

Start here

Three concrete links.