Skip to content

Latest commit

 

History

History
121 lines (88 loc) · 2.4 KB

File metadata and controls

121 lines (88 loc) · 2.4 KB
title Contributing
description How to set up your environment and contribute changes
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 install
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

  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
# CLI
cd apps/cli && bun dev
cd apps/cli && bun run test

# Web
bun dev

# Lint + format checks
bun check
  1. Commit and push
git add .
git commit -m "feat(web): ..." # or fix(cli): ...
git push origin <your-branch>
  1. 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

See full contributor guide in the repository: .github/CONTRIBUTING.md.