Contributing to doubletie.com
We love your input! We want to make contributing to doubletie.com as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
๐ License
By contributing to Consent Management (c15t), you agree that your contributions will be licensed under the MIT License. This is a copyleft license that ensures the software and all derivatives remain free and open source.
๐ House Rules
Before You Start
- Check existing issues and PRs first
- Always create an issue before starting development
- Follow our PR template carefully
Issue Approval Process
We use the needs-approval
label to manage contributions:
For Contributors
-
๐ซ Needs Approval First:
- New features
- Large-scale refactoring
- Architecture changes
- Wait for a doubletie.com team member to remove the
needs-approval
label
-
โ Can Start Immediately:
- Bug fixes
- Documentation updates
- Performance improvements
- Security fixes
- Tests
Development Process
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
๐ค Automated Workflows
We leverage several automated workflows to ensure code quality:
-
Code Quality
- Formatting: Biome automatically formats code
- Types: TypeScript checks run on every PR
- Tests: Vitest runs the test suite
- Build: Turbo ensures everything builds correctly
-
Dependencies
- Renovate keeps dependencies up to date
- PNPM manages our packages
- Changesets handles our versioning
-
Pull Requests
- PR titles are checked for semantic versioning
- Automated code review for common issues
- Required checks must pass before merging
Getting Started
-
Fork the repo and create your branch from
main
: -
Install dependencies:
-
Make your changes and ensure the following pass:
Pull Request Process
-
Create an Issue First
- For features/refactoring: Wait for approval (needs-approval label)
- For bugs/docs: Can start work immediately
-
Make Your Changes
- Follow our coding standards (enforced by Biome)
- Add tests for new functionality
- Update documentation as needed
-
Create Pull Request
- Use our PR template
- Link the related issue
- Add screenshots for UI changes
- Describe your changes clearly
-
Automated Checks The following will run automatically:
- Code formatting (Biome)
- Type checking (TypeScript)
- Tests (Vitest)
- Build verification (Turbo)
- Dependency checks (Renovate)
- PR title format
- Issue linking
-
Review Process
- Maintainers will review your code
- Address any requested changes
- Once approved, it will be merged
Release Process
Releases are automated through our CI/CD pipeline:
- Merge to
main
triggers version check - Changesets determines version bump
- New version is published to npm
- GitHub release is created
- Documentation is updated
Development Guidelines
Code Style
We use Biome for formatting and linting. Configuration is in biome.jsonc
.
Commits
Follow Conventional Commits:
feat:
New featuresfix:
Bug fixesdocs:
Documentationchore:
Maintenancerefactor:
Code changestest:
Test changes
Testing
- Write tests for new features
- Update tests for changes
- Run
pnpm test
locally
Documentation
- Update docs with new features
- Include code examples
- Update README if needed
Questions?
Don't hesitate to:
- Open an issue
- Start a discussion
- Ask in comments
Important License Note
doubletie.com is licensed under the MIT License. By contributing to this project, you agree to license your contributions under the same license. This means:
- โ You can use the code commercially
- โ You can modify the code
- โ You can distribute the code
- โ You can use the code privately
- โ You can sublicense the code
But you must:
- ๐ Include the original license
- ๐ Include copyright notice