Skip to content

Code of Conduct

Haoxiang Xu edited this page Mar 12, 2026 · 2 revisions

Code of Conduct

Home | To Developer | Setup | Deployment | Architecture

This page is a lightweight contribution norm for PuPu engineering work. It is not a formal standalone community governance policy. The purpose is to keep collaboration direct, respectful, and technically disciplined.

Review Behavior

  • Review the code, not the person
  • Be specific about behavior changes, regressions, or contract risk
  • Prefer concrete evidence such as failing flows, missing tests, or broken invariants
  • If you disagree, explain the tradeoff and propose a better path
  • If you ask for changes, make it clear whether they are blocking or optional

PR Expectations

  • Describe the behavior change, not just the files touched
  • Call out user-visible changes, runtime contract changes, and migration risk
  • Keep unrelated refactors out of the same PR
  • If you change setup, deployment, or runtime assumptions, update the relevant docs in the same change
  • If you change a shared primitive, mention Mini UI impact explicitly

Testing Discipline

  • Behavior changes need targeted tests when a meaningful test surface exists
  • Prefer targeted verification over broad hand-waving
  • If a change crosses renderer, preload, main, and sidecar boundaries, verify the end-to-end path rather than only the local helper you edited
  • If you skip tests, say why

Boundary Discipline

Do not take shortcuts around the app boundary model:

  • Do not call window.*API directly from page or feature code when src/SERVICEs/api.js or a bridge helper already owns the contract
  • Do not add raw sidecar fetch(...) calls from product components
  • Do not turn internal implementation details into accidental public APIs
  • Do not rewrite workspace, memory, or stream payload contracts without updating both sides of the boundary

Security And Secrets

  • Never commit secrets, API keys, or private signing material
  • Treat provider keys as runtime configuration, not source code
  • Be careful with logs and screenshots when they may expose local file paths, tokens, or private prompt content

Cross-Platform Responsibility

  • PuPu is a desktop app for macOS, Windows, and Linux
  • Packaging, runtime paths, and window behavior are platform-sensitive
  • Do not assume a fix tested on one host is correct everywhere
  • For release-impacting work, verify the target OS path specifically

Branch And Merge Policy

The repo currently enforces a merge policy in GitHub Actions:

  • main only accepts pull requests whose source branch is dev

Plan your branch and release workflow accordingly. Do not rely on direct feature branch merges into main.

Default Collaboration Standard

  • Assume good intent
  • Raise the technical bar without being hostile
  • Keep changes small enough to review honestly
  • Prefer clarity over cleverness
  • Leave the repo more understandable than you found it

Clone this wiki locally