Contributing
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 (lts)
- Bun (recommended)
- Git
Install
git clone https://github.com/AmanVarshney01/create-better-t-stack.git
cd create-better-t-stack
bun install
Develop the CLI
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:
create-better-t-stack
This will run the locally installed CLI.
Develop the Docs
# 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
:
npx convex env set GITHUB_ACCESS_TOKEN=xxxxx
npx convex env set GITHUB_WEBHOOK_SECRET=xxxxx
Contribution Flow
- Open an issue/discussion before starting major work
- Fork the repository
- Create a feature branch
- Make changes following existing code style
- Update docs as needed
- Test and format
# CLI
cd apps/cli && bun dev
cd apps/cli && bun run test
# Web
bun dev
# Format
bun run format
# Type checks
bun check
- Commit and push
git add .
git commit -m "feat(web): ..." # or fix(cli): ...
git push origin <your-branch>
- 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
.