Contributing to 21.dev Projects
April 18, 2026 · View on GitHub
Thank you for your interest in contributing! This document provides org-wide guidelines. Individual projects may supplement these with their own CONTRIBUTING.md or AGENTS.md for project-specific conventions.
Code of Conduct
This organization has adopted the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Report unacceptable behavior to community@21.dev.
How to Report a Bug
Open an issue in the relevant project repository with:
- Project name and version (or commit hash)
- Swift version (
swift --version) - OS version (
uname -a) - What you were trying to achieve
- Minimal reproduction steps
- A pull request with a failing test case is preferred, but pasting the test case into the issue description is fine.
Security Vulnerabilities
Do not open a public issue for security vulnerabilities. See the organization Security Policy for reporting channels, or the project's own SECURITY.md if present (project-specific policies take precedence).
Writing a Patch
A good patch is:
- Concise — contains as few changes as needed to achieve the end result.
- Tested — any tests provided must fail before the patch and pass after it.
- Documented — adds or updates API documentation as needed to cover new or changed functionality.
- Well-described — accompanied by a clear commit message explaining what changed and why.
Branching
Development happens on main. Create feature branches from main and open pull requests back to main.
Testing
Most projects use Swift Package Manager:
swift test
Projects may have additional test suites (integration, benchmarks, etc.) documented in their own README.md or AGENTS.md.
Code Style
Each project defines its own code style expectations. Check the project's AGENTS.md or configuration files (.swiftformat, .swiftlint.yml) if present. Projects using Lefthook pre-commit hooks will document setup in their AGENTS.md.
How to Contribute
- Fork the repository and create your branch from
main. - Make your changes following the guidelines above.
- Ensure tests pass (
swift test). - Open a pull request.
- Wait for CI to pass and code review.
Legal
By submitting a pull request, you represent that you have the right to license your contribution to 21.dev (operated by Timechain Software Initiative, Inc.) and the community, and agree by submitting the patch that your contributions are licensed under the project's license (typically MIT — see each repository's LICENSE file).