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
-
Clone the repository
git clone https://github.com/better-t-stack/create-better-t-stack.git cd create-better-t-stack -
Install dependencies
bun install
CLI Development
-
Navigate to CLI directory
cd apps/cli -
Link the CLI globally (optional, for testing anywhere in your system)
bun linkNow you can use
create-better-t-stackfrom anywhere in your system. -
Start development server
bun dev:cliThis runs the CLI in watch mode, automatically rebuilding on changes.
Web Development
- Start the documentation website
This starts the Next.js development server for the documentation site.
bun dev:web
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
-
Create an issue (if one doesn't exist)
- Describe the bug or feature request
- Include steps to reproduce (for bugs)
- Discuss the proposed solution
-
Fork the repository
-
Create a feature branch
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bug-fix -
Make your changes
- Follow the existing code style
- Update documentation as needed
-
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 -
Add changeset (for CLI-related changes)
bunx changeset select create-better-t-stack # Choose 'patch' for small fixes, 'minor' for features # Never choose 'major' -
Commit your changes
git add . git commit -m "feat(web): add your feature description" # or git commit -m "fix(cli): fix your bug description" -
Push to your fork
git push origin feature/your-feature-name -
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.