Contributing

How to contribute to Turbo Themes.

Contributing to Turbo Themes

Thank you for your interest in contributing! This guide will help you get started.

Ways to Contribute

Report Issues

Found a bug or have a feature request? Open an issue on GitHub.

When reporting bugs, please include:

  • Your browser/environment
  • Steps to reproduce
  • Expected vs actual behavior
  • Screenshots if applicable

Submit Pull Requests

We welcome code contributions! Before starting work:

  1. Check existing issues to avoid duplicate work
  2. For large changes, open an issue first to discuss
  3. Follow the coding standards below

Improve Documentation

Documentation improvements are always welcome:

  • Fix typos or clarify confusing sections
  • Add examples or use cases
  • Translate documentation

Quick Start

# Fork and clone the repo
git clone https://github.com/YOUR-USERNAME/turbo-themes.git
cd turbo-themes

# Install dependencies
bun install

# Start development server
bun run dev

# Run tests
bun run test

Repository Structure

turbo-themes/
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ core/           # Design tokens and theme definitions
โ”‚   โ”œโ”€โ”€ css/            # CSS generation
โ”‚   โ”œโ”€โ”€ theme-selector/ # Theme selector component
โ”‚   โ””โ”€โ”€ adapters/       # Framework adapters (Tailwind, Bulma)
โ”œโ”€โ”€ apps/
โ”‚   โ””โ”€โ”€ site/           # Documentation site (Astro)
โ”œโ”€โ”€ python/             # Python package
โ”œโ”€โ”€ swift/              # Swift package
โ”œโ”€โ”€ docs/               # Additional documentation
โ””โ”€โ”€ test/               # Test suites

Guidelines

Code Style

  • Use TypeScript for JavaScript code
  • Follow existing code patterns
  • Run bun run lint before committing
  • Add tests for new functionality

Commit Messages

Follow Conventional Commits:

feat: add new theme variant
fix: correct contrast ratio in Dracula theme
docs: update installation guide
chore: update dependencies

Pull Request Process

  1. Create a feature branch from main
  2. Make your changes
  3. Run tests: bun run test
  4. Run linting: bun run lint
  5. Push and open a PR
  6. Fill out the PR template
  7. Wait for review

Next Steps