3.5 KiB
Contributing to bitvid
Thanks for helping build an open video ecosystem on nostr!
License Model
- App (this repo): GPL-3.0-or-later
- Potential SDKs/embeds (if split later): Apache-2.0 (to keep integration friction low)
All contributions to this repository are made under the repository’s license (GPL-3.0-or-later).
Developer Certificate of Origin (DCO)
We use the DCO to keep contributions simple and legally sound. Sign your commits with -s:
git commit -s -m "feat: add cool thing"
This adds a Signed-off-by: Your Name <[email protected]> line and certifies you have the right to contribute under the project license.
See https://developercertificate.org/ for the full text.
(Optional) Contributor License Agreement (CLA)
If we later introduce dual-licensing options (e.g., commercial licenses for enterprises), we may add an optional CLA for contributors who want to grant relicense rights. You will be asked to agree explicitly in any PR that requires it. We will keep community use under GPL-3.0-or-later.
Code Guidelines
- Prefer small, focused PRs.
- Add tests where reasonable; keep UI accessible.
- Follow existing formatting/lint rules.
- Update docs and user-facing text when behavior changes.
- Check
KNOWN_ISSUES.mdfor pre-existing environmental quirks or test failures before debugging.
Agent PR Conventions
Automated agents contributing to this repository should follow these rules:
- Atomic Commits: Keep changes small and self-contained.
- Descriptive Titles: Use clear, semantic titles (e.g.,
fix(ui): resolve upload modal overflow). - Commit Messages: Use the convention
type(scope): description (agent)(e.g.,fix(ai): formatting (agent)ordocs(ai): update quickstart (agent)). - Reference Issues: Link to relevant issues in the PR description.
- Review AGENTS.md: Always consult
AGENTS.mdfor specific architectural guidelines and constraints before starting work.
Submitting a Pull Request
- Fork the repository and create a new branch from
main. - Make your changes, adding tests if applicable.
- Run
npm run test:unitandnpm run lintto ensure quality. - Push your branch and open a Pull Request against the
mainbranch. - Provide a clear description of the problem and solution.
Development Setup
To set up the project locally:
-
Install Dependencies:
npm ci -
Build:
npm run buildNote: This generates CSS and other assets.
-
Verify Environment:
npm run format npm run lint npm run test:unit
For a full guide, see the Local Setup section in README.md.
Dev Container
This project includes a .devcontainer configuration for VS Code. It provides a pre-configured environment with Node.js 22 and necessary extensions.
To use it:
- Open the project in VS Code.
- When prompted, re-open in Container (or use the command palette: "Dev Containers: Reopen in Container").
- The container will automatically install dependencies and run the build.
Security
If you find a vulnerability, please email [email protected]. We’ll coordinate a responsible disclosure window before public release.
Trademark
The bitvid name and logos are trademarks (see TRADEMARKS.md). Don’t use them in ways that imply official sponsorship or confuse users. “Powered by bitvid” attribution is encouraged.