piyaz
Community

Contributing

How to contribute to Piyaz through code, docs, and community.

Contributing

The canonical contributing guide lives in the Piyaz repository. This page summarizes the essentials.

Prerequisites

DependencyPurpose
Bun v1.0+JavaScript runtime and package manager
Docker and ComposeRuns PostgreSQL for local development

Workflow

  1. Fork and clone the repository.
  2. Copy .env.local.example to .env.local and fill in your keys.
  3. Install dependencies: bun install
  4. Start Postgres and push the schema: bun run db:setup
  5. Start the dev server: bun run dev

Before submitting a PR

Run all checks locally:

bun run lint
bun run typecheck

Both must pass. CI runs them automatically on every PR.

PR process

  • Create a feature branch from main.
  • Keep changes focused: one concern per PR.
  • All PRs require a review and must pass CI before merging.
  • Squash merge is the only merge strategy.

Commit format

<type>: <short description>

Examples: fix: resolve rate limiter timing on 429, feat: add task dependency visualization

  • Code of Conduct: Contributor Covenant v2.1
  • Security Policy: report vulnerabilities via GitHub private disclosure, not public issues
  • Licensing: by submitting a PR, you agree your contribution may be distributed under both AGPL-3.0 and the commercial license

On this page