# Contributing to Disco Stu Thanks for your interest in contributing! This document gives a short quickstart and guidelines to help you get changes ready for review. ## Quickstart 1. Fork the repository and create a feature branch from `main`: ```bash git checkout -b feat/describe-thing ``` 2. Install dependencies: ```bash pnpm install ``` 3. Run the app you are working on (examples): ```bash # Bot pnpm bot # Tapper pnpm tap # Web pnpm web # Build everything pnpm build ``` 4. Run typechecks and format/lint before pushing: ```bash pnpm typecheck pnpm lint pnpm format ``` ## Development workflow - Work on a small, focused branch per change. - Keep commits atomic and with clear messages (imperative tense): `add ping command`, `fix db migration`. - Rebase or squash as appropriate to keep history clean for PRs. ## Tests, linting, and formatting - This repo uses `oxfmt` and `oxlint` at the workspace root. Run them locally before opening a PR. - Run TypeScript checks with `pnpm typecheck`. ## Submitting a PR - Open a pull request against `main` with a clear description of the change and why it’s needed. - Include any relevant reproduction steps, screenshots, or logs. - If your change affects runtime behavior, add or update documentation in `README.md`. - Link any related issue numbers in the PR description. ## Commit message guidance - Use short, descriptive commit messages. - Prefer present-tense verbs: `add`, `fix`, `update`. ## Reporting bugs - Open an issue with steps to reproduce, expected vs actual behavior, and relevant logs or error messages.