mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
119 lines
2.4 KiB
Plaintext
119 lines
2.4 KiB
Plaintext
---
|
|
title: Contributing
|
|
description: How to set up your environment and contribute changes
|
|
---
|
|
|
|
> **⚠️ Important**: Before starting work on any new features or major changes, please open an issue first to discuss your proposal and get approval. We don't want you to waste time on work that might not align with the project's direction or get merged.
|
|
|
|
## Overview
|
|
|
|
This project is a monorepo with two main apps:
|
|
|
|
- CLI: `apps/cli`
|
|
- Documentation site: `apps/web`
|
|
|
|
## Setup
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js 20+
|
|
- Bun (recommended)
|
|
- Git
|
|
|
|
### Install
|
|
|
|
```bash
|
|
git clone https://github.com/AmanVarshney01/create-better-t-stack.git
|
|
cd create-better-t-stack
|
|
bun install
|
|
```
|
|
|
|
## Develop the CLI
|
|
|
|
```bash
|
|
cd apps/cli
|
|
# optional global link for testing anywhere
|
|
bun link
|
|
# run in watch mode (runs tsdown build in watch mode)
|
|
bun dev
|
|
```
|
|
|
|
Now go to anywhere else in your system (maybe like a test folder) and run:
|
|
```bash
|
|
create-better-t-stack
|
|
```
|
|
This will run the locally installed CLI.
|
|
|
|
## Develop the Docs
|
|
|
|
```bash
|
|
# from repo root
|
|
bun i
|
|
cd packages/backend
|
|
bun dev:setup # you can choose local development too in prompts
|
|
```
|
|
|
|
Copy the Convex URL from `packages/backend/.env.local` to `apps/web/.env`:
|
|
```
|
|
NEXT_PUBLIC_CONVEX_URL=http://127.0.0.1:3210/
|
|
```
|
|
|
|
Now run `bun dev` in the root. It will complain about GitHub token, so run this in `packages/backend`:
|
|
```bash
|
|
npx convex env set GITHUB_ACCESS_TOKEN=xxxxx
|
|
npx convex env set GITHUB_WEBHOOK_SECRET=xxxxx
|
|
```
|
|
|
|
## Contribution Flow
|
|
|
|
1. Open an issue/discussion before starting major work
|
|
2. Fork the repository
|
|
3. Create a feature branch
|
|
4. Make changes following existing code style
|
|
5. Update docs as needed
|
|
6. Test and format
|
|
|
|
```bash
|
|
# CLI
|
|
cd apps/cli && bun dev
|
|
cd apps/cli && bun run test
|
|
|
|
# Web
|
|
bun dev
|
|
|
|
# Format
|
|
bun run format
|
|
|
|
# Type checks
|
|
bun check
|
|
```
|
|
|
|
7. Commit and push
|
|
|
|
```bash
|
|
git add .
|
|
git commit -m "feat(web): ..." # or fix(cli): ...
|
|
git push origin <your-branch>
|
|
```
|
|
|
|
8. Open a Pull Request and link any related issues
|
|
|
|
## Commit Conventions
|
|
|
|
Use conventional commit messages with the appropriate scope:
|
|
|
|
- `feat(cli): add new CLI feature`
|
|
- `fix(cli): fix CLI bug`
|
|
- `feat(web): add new web feature`
|
|
- `fix(web): fix web bug`
|
|
- `chore(web): update dependencies`
|
|
- `docs: update documentation`
|
|
|
|
## Help
|
|
|
|
- Issues and Discussions on GitHub
|
|
- Discord: https://discord.gg/ZYsbjpDaM5
|
|
|
|
See full contributor guide in the repository: `.github/CONTRIBUTING.md`.
|
|
|