Contributing to Dits
We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help makes Dits better.
Thank You!
Every contribution, no matter how small, helps improve Dits for everyone. We appreciate your time and effort.
Ways to Contribute
Code Contributions
Fix bugs, add features, improve performance
- Bug fixes and patches
- New features and enhancements
- Performance optimizations
- Test coverage improvements
Documentation
Help others understand and use Dits
- Fix typos and errors
- Add examples and tutorials
- Improve explanations
- Translate documentation
Bug Reports
Help us identify and fix issues
- Report bugs with details
- Provide reproduction steps
- Share system information
- Test fixes and verify
Community
Help grow and support the community
- Answer questions
- Share your use cases
- Write blog posts
- Give talks about Dits
Getting Started
1. Fork and Clone
# Fork the repository on GitHub, then:
git clone https://github.com/YOUR_USERNAME/dits.git
cd dits
# Add upstream remote
git remote add upstream https://github.com/byronwade/dits.git2. Set Up Development Environment
# Install dependencies
npm install
# Build all packages
npm run build
# Run tests
npm run test
# Start development server
npm run dev3. Create a Branch
# Create a feature branch
git checkout -b feature/my-awesome-feature
# Or a bug fix branch
git checkout -b fix/issue-123Pull Request Guidelines
Before Submitting
- Ensure all tests pass with
npm run test - Run linting with
npm run lint - Add tests for new functionality
- Update documentation if needed
- Write a clear commit message
Commit Message Format
# Format: <type>(<scope>): <description>
feat(cli): add support for remote pruning
fix(storage): resolve race condition in chunk upload
docs(api): add examples for webhook configuration
test(core): add unit tests for chunking algorithm
chore(deps): update dependenciesCode Style
- Follow the existing code style
- Use TypeScript for all new code
- Write descriptive variable and function names
- Add JSDoc comments for public APIs
- Keep functions small and focused
Review Process
- Submit PR: Create a pull request with a clear description
- CI Checks: Automated tests will run
- Code Review: Maintainers will review your changes
- Feedback: Address any requested changes
- Merge: Once approved, your PR will be merged
Need Help?
If you're stuck or have questions, don't hesitate to ask! Open a discussion on GitHub or reach out in our community channels.