Files
create-better-t-stack/.github/CONTRIBUTING.md
2025-07-30 23:42:42 +05:30

3.3 KiB

Contributing to Better-T-Stack

Thank you for your interest in contributing to Better-T-Stack! This document provides guidelines and setup instructions for contributors.

Project Structure

This repository is organized as a monorepo containing:

  • CLI: apps/cli - The scaffolding CLI tool (create-better-t-stack)
  • Documentation: apps/web - Official website and documentation

Development Setup

Prerequisites

  • Node.js 20+
  • Bun (recommended)
  • Git

Initial Setup

  1. Clone the repository

    git clone https://github.com/better-t-stack/create-better-t-stack.git
    cd create-better-t-stack
    
  2. Install dependencies

    bun install
    

CLI Development

  1. Navigate to CLI directory

    cd apps/cli
    
  2. Link the CLI globally (optional, for testing anywhere in your system)

    bun link
    

    Now you can use create-better-t-stack from anywhere in your system.

  3. Start development server

    bun dev:cli
    

    This runs the CLI in watch mode, automatically rebuilding on changes.

Web Development

  1. Start the documentation website
    bun dev:web
    
    This starts the Next.js development server for the documentation site.

Contribution Guidelines

Before You Start

Please ask before working on any new features! We don't want to waste your time on features that might not align with the project's direction. Open an issue or discussion first to discuss your proposed changes.

Standard Contribution Steps

  1. Create an issue (if one doesn't exist)

    • Describe the bug or feature request
    • Include steps to reproduce (for bugs)
    • Discuss the proposed solution
  2. Fork the repository

  3. Create a feature branch

    git checkout -b feature/your-feature-name
    # or
    git checkout -b fix/your-bug-fix
    
  4. Make your changes

    • Follow the existing code style
    • Update documentation as needed
  5. Test and format your changes

    # For CLI changes
    cd apps/cli
    bun dev:cli
    
    # For web changes
    bun dev:web
    
    # Format files
    bun run format
    
    # Run type checks
    bun check
    
  6. Add changeset (for CLI-related changes)

    bunx changeset select create-better-t-stack
    # Choose 'patch' for small fixes, 'minor' for features
    # Never choose 'major'
    
  7. Commit your changes

    git add .
    git commit -m "feat(web): add your feature description"
    # or
    git commit -m "fix(cli): fix your bug description"
    
  8. Push to your fork

    git push origin feature/your-feature-name
    
  9. Create a Pull Request

    • Link to the related issue
    • Describe your changes

Testing

  • Manual testing: Test your changes manually to ensure everything works as expected
  • For CLI changes: Test with different configurations and options
  • For web changes: Ensure the site builds and displays correctly

Getting Help

  • Open an issue for bugs or feature requests
  • Join discussions for questions or ideas
  • Check existing issues and PRs for similar work
  • Join our Discord if you have any problems

License

By contributing to Better-T-Stack, you agree that your contributions will be licensed under the MIT License.