Skip to content

Latest commit

 

History

History
109 lines (72 loc) · 3.45 KB

File metadata and controls

109 lines (72 loc) · 3.45 KB

Contributing to crewmatemd11

Improvements are welcomed — report bugs, submit documentation fixes, add new flows, or contribute voice models.

This document explains how to get set up, which checks contributors should run locally, and the PR process.

Quick links


Getting started

Prerequisites

Basic setup

git clone https://github.com/CrewMate-Flight-Sim/CrewMateMD11.git
cd crewmatemd11
npm install

Run the app in development

npm run tauri dev

Build a packaged app

npm run tauri build

Build/Publish SideCar

.\build-sidecar.ps1

Create voice .ogg files

.\FOvoices.ps1

Commands reference

  • format — Run Prettier across the entire repo to apply formatting, then run cargo fmt to format Rust code in src-tauri.
  • format:check — Run Prettier in check mode (fails if formatting is needed) and run cargo fmt -- --check to validate Rust formatting.
  • format:frontend — Run Prettier only on frontend JavaScript/TypeScript files.
  • format:backend — Run cargo fmt in src-tauri to format Rust sources.
  • lint — Run frontend and backend linters by invoking lint:frontend and lint:backend sequentially.
  • lint:frontend — Run ESLint over the frontend codebase to surface JS/TS lint issues.
  • lint:frontend:fix — Run ESLint with --fix to automatically fix fixable frontend issues.
  • lint:backend — Run cargo clippy for the Rust backend and treat warnings as errors (-D warnings).
  • fix — Run format and lint sequentially, applying the ESLint --fix flag to resolve frontend issues automatically.
  • check — Run format:check then lint to validate formatting and linting in one step.

These scripts are defined in package.json; use them as shown above when preparing changes or opening a PR.

Formatting & linting

Please run formatters and linters before pushing changes. Format and lint checks are expected on PRs.

npm run format
npm run check

Where to contribute

  • UI, components, hooks, stores: src/
  • Flows: src/data/flows/
  • Voice code: src/voice/
  • Native/Tauri: src-tauri/
  • Windows sidecar helper: CopilotSpeech/

Pull Request process and checklist

  • Fork the repository and create a branch for each change (e.g., feat/my-feature, fix/typo).
  • Open a PR against main (or the default branch) with a clear title and description and link an issue when appropriate.

PR checklist

  • Built and tested locally
  • Updated documentation or flow examples when behavior changed
  • Linked to the issue this PR addresses (if any)

Security and sensitive data

Do not commit secrets or sensitive credentials (API keys, passwords, certificates) to the repository. Use environment variables or a secure secret store for any runtime secrets.

To report a security vulnerability or disclose sensitive issues privately, follow the instructions in https://github.com/CrewMate-Flight-Sim/CrewMateMD11?tab=security-ov-file.

Questions

Contributions are welcome!

Small improvements (for example, fixing a typo in a Markdown file) are appreciated and can be submitted directly as a PR. If you'd like guidance or prefer to discuss a change first, open an issue to ask a question.

Thanks for the help!