Documentation Index
Fetch the complete documentation index at: https://docs.osschat.dev/llms.txt
Use this file to discover all available pages before exploring further.
Contributing to OpenChat
Thanks for your interest in contributing to OpenChat! This guide will help you get started.Before You Start
Install Prerequisites
- Bun 1.3+ - Package manager and runtime
- Node.js 20+ - Required for some tooling
- Git - Version control
- Docker (optional) - For container-based development
Read the Codebase
Familiarize yourself with:
- Architecture Overview - How components work together
- README.md - Project overview
AGENTS.md- Condensed guidelines for AI tools
Set Up Development Environment
Follow the Quickstart to get OpenChat running locally.
Development Workflow
1. Create a Branch
feat/- New featuresfix/- Bug fixesdocs/- Documentation changesrefactor/- Code refactoringchore/- Maintenance tasks
2. Make Changes
Follow our coding standards:| Convention | Example |
|---|---|
| Indentation | Tabs |
| File names | kebab-case (sign-in.tsx) |
| Components | apps/web/src/components/ |
| Type imports | import type { Foo } from "..." |
3. Verify Your Changes
Run these before pushing:4. Commit with Conventional Commits
Use Conventional Commits format:web, server, docs, extension, or omit for cross-cutting changes.
5. Open a Pull Request
Include in your PR:- Summary - What changed and why
- Scope - Which apps affected (web/server/both)
- Testing notes - How to verify the change
- Screenshots/GIFs - For UI changes
Coding Standards
TypeScript
React Components
Convex Functions
Testing
Running Tests
Writing Tests
Colocate tests with source files:Convex Tests
Useconvex-test for Convex function tests:
Documentation
Update docs when:- Adding user-facing features
- Changing configuration options
- Modifying API behavior
- Updating deployment steps
Docs Structure
Local Docs Preview
Pull Request Review
What We Look For
- Code follows project conventions
- Tests added/updated for changes
- Documentation updated if needed
- No breaking changes (or clearly documented)
- Commits are clean and well-described
- CI checks pass
Automated Checks
PRs trigger:- Lint - oxlint
- Type check - TypeScript
- Tests - Vitest
- Build - Production build verification
- CodeQL - Security scanning
Getting Reviews
- Self-review first - Check your own PR before requesting review
- Respond to feedback - Address comments or explain why you disagree
- Keep it small - Smaller PRs get faster, better reviews
Common Tasks
Adding a New Page
- Create route file in
apps/web/src/routes/ - Use auth guard pattern if needed
- Add navigation link to sidebar
Adding a Convex Function
- Add to appropriate file in
apps/server/convex/ - Update schema if adding new table
- Run
bun x convex codegento update types
Adding UI Components
- Use shadcn/ui primitives when possible
- Add to
apps/web/src/components/ - Follow existing patterns in the codebase
Getting Help
GitHub Discussions
Ask questions and share ideas
GitHub Issues
Report bugs or check existing issues
Code of Conduct
We follow the Contributor Covenant. Be respectful, inclusive, and constructive. For security issues, please email the maintainers directly rather than opening a public issue.Thank you for contributing to OpenChat! Every contribution helps make the project better.