Skip to content

Latest commit

 

History

History
80 lines (56 loc) · 2.48 KB

File metadata and controls

80 lines (56 loc) · 2.48 KB

Contributing to OpenTypeless

Thanks for your interest in contributing! This guide covers everything you need to get started.

Development Setup

  1. Install prerequisites: Node.js 20+, Rust stable toolchain, and Tauri prerequisites
  2. Clone the repo and run npm install
  3. Start development: npm run tauri dev

How to Contribute

Type Process
Bug fix / small improvement Open a PR directly
New feature / architecture change Start a Discussion first
Question / help Post in Q&A Discussions

Making Changes

  1. Fork the repository
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Make your changes
  4. Run the pre-submit checklist (see below)
  5. Commit with a descriptive message following Conventional Commits
  6. Open a pull request against main

Pre-Submit Checklist

Run these checks before opening a PR:

# Frontend
npx tsc --noEmit
npx eslint src/
npx prettier --check src/
npx vitest run

# Rust
cargo fmt --check --manifest-path src-tauri/Cargo.toml
cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
cargo test --manifest-path src-tauri/Cargo.toml

Commit Message Format

We use Conventional Commits:

<type>: <description>

[optional body]

Types: feat, fix, refactor, docs, test, chore, perf, ci

Examples:

  • feat: add Groq Whisper STT provider
  • fix: resolve audio recording crash on macOS
  • docs: update README installation steps

Code Style

  • TypeScript: strict mode, no any types
  • Rust: cargo fmt and cargo clippy must pass
  • Frontend: Tailwind CSS for styling, Zustand for state
  • Formatting: Prettier for TypeScript/JavaScript/CSS

AI-Assisted Contributions

We welcome contributions made with the help of AI tools (GitHub Copilot, Claude, ChatGPT, etc.). If your PR was substantially generated by AI, please mention it in the PR description. The same quality standards apply to all contributions regardless of how they were written.

Current Priorities

  • Stability and reliability across all platforms
  • User experience improvements
  • Additional STT and LLM provider integrations
  • Internationalization coverage

See VISION.md for the project's long-term direction.