Skip to content

Latest commit

 

History

History
156 lines (121 loc) · 3.89 KB

File metadata and controls

156 lines (121 loc) · 3.89 KB

Contributing to Calmlytic

Thank you for your interest in contributing to Calmlytic! This document provides guidelines and instructions for contributing.

🎯 How to Contribute

Reporting Bugs

  1. Check if the bug has already been reported in Issues
  2. If not, create a new issue with:
    • Clear title and description
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots (if applicable)
    • Environment details (OS, browser, Node version)

Suggesting Features

  1. Check existing Issues and Discussions
  2. Create a new issue with:
    • Clear description of the feature
    • Use case and benefits
    • Mockups or examples (if applicable)

Code Contributions

  1. Fork the repository
  2. Create a branch from main:
    git checkout -b feature/your-feature-name
  3. Make your changes
    • Follow the code style (we use Biome for formatting)
    • Write or update tests if applicable
    • Update documentation if needed
  4. Test your changes
    npm run lint
    npm run build
  5. Commit your changes
    git commit -m "feat: add your feature description"
    Use conventional commit messages:
    • feat: for new features
    • fix: for bug fixes
    • docs: for documentation
    • style: for formatting
    • refactor: for code refactoring
    • test: for tests
    • chore: for maintenance
  6. Push to your fork
    git push origin feature/your-feature-name
  7. Open a Pull Request
    • Fill out the PR template
    • Link related issues
    • Request review

📋 Development Setup

  1. Clone your fork

    git clone https://github.com/Dev-Adnani/calmlytic.git
    cd calmlytic
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp env.example .env.local
    # Edit .env.local with your credentials
  4. Run development server

    npm run dev

🎨 Code Style

  • We use Biome for linting and formatting
  • Run npm run format before committing
  • TypeScript strict mode is enabled
  • Follow existing code patterns and structure

📝 Commit Messages

We follow Conventional Commits:

feat: add voice journaling transcription
fix: resolve image upload error
docs: update setup instructions
refactor: simplify auth flow

🧪 Testing

  • Test your changes locally
  • Ensure the app builds without errors
  • Test on different browsers if UI changes
  • Test edge cases

📚 Documentation

  • Update relevant documentation in docs/ if you add features
  • Add JSDoc comments for new functions
  • Update README if needed

🔍 Code Review Process

  1. All PRs require at least one approval
  2. Address review comments promptly
  3. Keep PRs focused and reasonably sized
  4. Respond to feedback constructively

🐛 Bug Fixes

  • Include tests that reproduce the bug
  • Explain the fix in the PR description
  • Reference the issue number

✨ New Features

  • Discuss large features in an issue first
  • Keep features focused and well-documented
  • Update relevant documentation
  • Consider backward compatibility

📦 Project Structure

  • src/app/ - Next.js pages and API routes
  • src/components/ - React components
  • src/lib/ - Utilities and helpers
  • src/hooks/ - Custom React hooks
  • src/store/ - State management
  • src/types/ - TypeScript types
  • docs/ - Documentation

❓ Questions?

🙏 Thank You!

Your contributions make Calmlytic better for everyone. We appreciate your time and effort!