Thank you for your interest in contributing to Self! Please read the following guidelines before submitting your contribution.
Do not open a public PR or GitHub issue for security bugs.
If you discover a security vulnerability, please report it responsibly by emailing team@self.xyz. This helps protect our users while we work on a fix. Security researchers may be eligible for a bounty.
- No README-only or typo-fix PRs — We do not accept pull requests that only fix typos or update documentation. Focus your contributions on meaningful code changes.
- Always branch from
dev— All pull requests must be opened against thedevbranch. PRs targetingmainor other branches will be rejected.
- Open an issue first — If your contribution targets core components or introduces complex features, please start by opening an issue describing your implementation plan. This allows maintainers to provide feedback before you invest significant time in development.
- Follow the naming conventions of the subrepo — Each workspace (
app,circuits,common,contracts,sdk/*, etc.) may have its own conventions. Review existing code in the target workspace and match its style.
Before submitting your PR, ensure your code passes all formatting and linting checks:
# Format your code
yarn format
# Run linting
yarn lint
# For workspace-specific formatting (recommended)
yarn workspaces foreach -A -p -v --topological-dev --since=origin/dev run nice --if-present- Branch is based on
dev - Code follows the naming conventions of the target workspace
-
yarn lintpasses -
yarn formathas been run - For complex changes: issue was opened and discussed first
- Commit messages are clear and follow conventional format
If you're unsure about anything, feel free to open an issue for discussion before starting work.