| layout | default |
|---|---|
| title | Contributing — WebRTC |
| description | Contribution workflow for LessUp WebRTC using OpenSpec, focused reviews, and low-noise closeout practices. |
[← Back to Home]({{ site.baseurl }}/)
This repository uses OpenSpec for planning and change control. Contributions should keep the project coherent, low-noise, and easy to maintain.
- Read the relevant spec in
openspec/specs/. - If behavior or scope needs to change, create or update an OpenSpec change in
openspec/changes/. - Keep the change focused. This repo prefers a single clean result over many parallel branches or speculative experiments.
-
Plan the work
- Use
/planor write out the implementation approach locally for multi-file work. - If a change already exists, read
proposal.md,design.md, andtasks.md.
- Use
-
Implement against the active change
- Follow the task order in
openspec/changes/<name>/tasks.md. - Update docs/config with the code so the repo stays coherent.
- Follow the task order in
-
Validate
make checkcd web && npm testcd e2e && npm testwhen UI or signaling behavior changesopenspec validate --all --strict
-
Review
- Run
/reviewbefore merge or before shipping a large cleanup batch. - Note any intentional deletions, consolidations, or trade-offs in the PR description.
- Run
- Prefer short-lived branches.
- Merge quickly once the OpenSpec tasks and review are complete.
- Avoid accumulating many local/cloud branches waiting to be reconciled.
- Avoid
/fleetby default; longer focused sessions fit this project better.
The repo includes a lightweight pre-commit hook:
git config core.hooksPath .githooksThe hook:
- formats staged Go files with
gofmt - blocks staged docs/config files that still reference legacy
/specs/or.meta/
| Area | Current expectation |
|---|---|
| Go | 1.22+ |
| Frontend | Vanilla JavaScript ES modules |
| Lint | golangci-lint v2 config |
| Specs | openspec/ only |
| Pages | Jekyll from repository root |
- Reference the active OpenSpec change when relevant.
- Keep PR scope narrow.
- If you delete or consolidate docs, explain why.
- Make sure public docs do not expose private maintenance or archive intentions.
Thanks for helping keep the project clean and stable.