Contributors

Help make d3-ui better! We welcome all contributions, no matter how big or small.

Ways to Contribute

Whether you're a developer, designer, writer, or simply a passionate user, there are many ways you can help:

Code

Fix bugs, improve performance, add new components, or enhance existing ones.

Documentation

Improve docs, write examples, create tutorials, or clarify usage.

Ideas

Suggest new components, features, or improvements via discussions.

Tests

Write unit tests, integration tests, or improve test coverage.

Feedback

Try the library, report issues, or share your experience.

Design

Help improve the visual design and user experience.

Getting Started

Follow these steps to get started contributing to d3-ui:

1

Fork the repository

Click the fork button on GitHub to create your own copy of the project.

2

Clone your fork

Clone your fork locally: git clone https://github.com/YOUR_USERNAME/d3-ui.git

3

Create a branch

Create a new branch for your feature: git checkout -b feature/your-feature

4

Make changes

Make your changes and commit them with clear, descriptive messages.

5

Push your branch

Push your changes to your fork: git push origin feature/your-feature

6

Open a Pull Request

Go to the original repo and click 'New Pull Request' to describe your changes.

Development Setup

Prerequisites

  • Node.js 16+ and npm or yarn
  • Git
  • A code editor (VS Code recommended)

Installation

# Install dependencies
npm install

# Run development server
npm run dev

# Run tests
npm run test

# Build for production
npm run build

Code Guidelines

Coding Standards

  • Follow the existing code style and conventions
  • Use TypeScript for type safety
  • Write clear, descriptive variable and function names
  • Add comments for complex logic
  • Write tests for new features

Commit Messages

Write clear, descriptive commit messages that explain what changes you made and why:

# Good
feat: Add useD3Transition hook for smooth animations
fix: Handle edge case in ScatterPlot data mapping
docs: Improve BarChart examples and documentation

# Avoid
updated files
fix stuff
changes

Pull Requests

  • Provide a clear description of what your PR does
  • Link to any related issues using #issue-number
  • Include before/after screenshots for UI changes
  • Make sure all tests pass
  • Keep PRs focused on a single feature or fix

Report Issues

Found a bug? Have a feature request? We'd love to hear about it! Please open an issue on GitHub.

Open an Issue

Community & Support

Thank You!

A huge thanks to everyone who contributes!

Whether it's code, documentation, feedback, or design—your contributions help make d3-ui better for everyone. We appreciate your time and effort!