Skip to main content
Documentation

Contributing to Dits

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help makes Dits better.

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.git

2. Set Up Development Environment

# Install dependencies
npm install

# Build all packages
npm run build

# Run tests
npm run test

# Start development server
npm run dev

3. Create a Branch

# Create a feature branch
git checkout -b feature/my-awesome-feature

# Or a bug fix branch
git checkout -b fix/issue-123

Pull 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 dependencies

Code 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

  1. Submit PR: Create a pull request with a clear description
  2. CI Checks: Automated tests will run
  3. Code Review: Maintainers will review your changes
  4. Feedback: Address any requested changes
  5. Merge: Once approved, your PR will be merged

Related Resources