Contributing to CC Mate

November 19, 2025 ยท View on GitHub

Thank you for your interest in contributing to CC Mate! This guide will help you get started with development, building, and contributing to the project.

๐Ÿ› ๏ธ Development Setup

Prerequisites

Before you start, ensure you have the following installed:

  • Node.js 18+ with pnpm (required package manager)
  • Rust 1.70+ and Cargo
  • Tauri CLI dependencies for your platform

Installing pnpm

# If you don't have pnpm installed
npm install -g pnpm

Setup Instructions

  1. Clone the repository
git clone https://github.com/djyde/ccmate.git
cd ccmate
  1. Install dependencies
pnpm install
  1. Start development server
pnpm tauri dev

The application will open in a new window with hot-reload enabled for both frontend and backend changes.

๐Ÿš€ Build Commands

Development

# Check TypeScript for errors (recommended before commits)
pnpm tsc --noEmit

# Start development server with hot reload
pnpm tauri dev

# Start frontend only (useful for UI development)
pnpm dev

Code Quality

# Format code with Biome
pnpm exec biome check .

# Format code (Biome)
pnpm exec biome format .

# TypeScript type checking
pnpm tsc --noEmit

๐Ÿ“‹ Development Guidelines

๐Ÿ”„ Development Workflow

1. Create a Feature Branch

git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix

2. Make Your Changes

  • Follow the code style guidelines
  • Add comments for complex logic
  • Update documentation if needed
  • Test your changes thoroughly

3. Quality Checks

# Check TypeScript errors
pnpm tsc --noEmit

# Format code
pnpm exec biome format .

# Run any existing tests
# (test commands will be added here when available)

4. Commit Your Changes

git add .
git commit -m "feat: add your feature description"
# or
git commit -m "fix: resolve your bug description"

Use conventional commit messages:

  • feat: for new features
  • fix: for bug fixes
  • docs: for documentation changes
  • style: for code formatting changes
  • refactor: for code refactoring
  • test: for adding tests
  • chore: for maintenance tasks

5. Submit a Pull Request

  • Push your branch to GitHub
  • Create a pull request with a clear description
  • Link any relevant issues
  • Wait for code review

๐Ÿ› Bug Reports

When reporting bugs, please include:

  • OS and version
  • CC Mate version
  • Steps to reproduce
  • Expected behavior
  • Actual behavior
  • Relevant logs or screenshots

๐Ÿ’ก Feature Requests

When requesting features:

  • Use case: What problem does this solve?
  • Proposed solution: How should it work?
  • Alternatives considered: What other approaches did you think about?
  • Additional context: Any other relevant information

๐Ÿค Getting Help

  • GitHub Issues: For bug reports and feature requests
  • GitHub Discussions: For questions and community discussion
  • Documentation: Check existing docs first

๐Ÿ“‹ Code Review Process

All contributions go through code review to ensure:

  • Code quality and maintainability
  • Adherence to project guidelines
  • Proper testing and documentation
  • Security considerations

Check the GitHub Issues for specific items that need help.

๐Ÿ™ Recognition

Contributors are recognized in:

  • Release notes for significant contributions
  • README contributors section (for substantial contributions)
  • GitHub contributor statistics

Thank you for contributing to CC Mate! ๐ŸŽ‰


๐Ÿ“„ License

By contributing to this project, you agree that your contributions will be licensed under the same license as the project (AGPL v3).