tauri-apps/tauri
How to contribute
This section captures how to work in the Tauri codebase day-to-day. The authoritative public guide is .github/CONTRIBUTING.md and https://v2.tauri.app/; this section translates that into developer-facing actions for someone editing this repository.
At a glance
| You want to… | Read |
|---|---|
| Set up the repo and run an example | Getting started |
| Pick up an issue and ship a PR | Development workflow |
| Run tests / understand the test suite | Testing |
| Debug a Rust panic, an IPC issue, a build | Debugging |
| Match the project's coding style and review | Patterns and conventions |
| Use the build, lint, and release tooling | Tooling |
Definition of done
The CI checks that gate every PR are encoded in .github/workflows/. A PR is ready when:
- Code compiles with
cargo build --workspace --all-targetson at least one platform. cargo clippy --workspace --all-targets -- -D warningsis clean (lint-rust.yml).cargo fmt --all -- --checkandpnpm format:checkpass (fmt.yml).pnpm eslint:checkandpnpm ts:checkpass (lint-js.yml).cargo test -p <crate>passes for the affected crate (test-core.yml,test-cli-rs.yml).- Mobile-touching changes still build via
test-android.yml. - Generated files (
config.schema.json, ACL JSON schemas) match whatcargo run -p tauri-schema-generatorwould emit (check-generated-files.yml). - A change file has been added under
.changes/(see Tooling — covector) if your change should appear in the next release. - License headers are in place (
check-license-header.yml). cargo vetpasses for new crate dependencies (supply-chain.yml).
PR conventions
- Sign your commits.
- Conventional-style titles are encouraged:
feat:,fix:,chore(deps):,docs:,chore(scope):, etc. Browsegit log --onelinefor examples. - If you fix an issue, include
(fix #1234)in the title for a cleaner release note. - Avoid LLM-authored prose in PR descriptions, comments, and review replies — the project's
AI Tool Policy(see CONTRIBUTING.md) will close PRs that look like AI slop. Translations of comments are explicitly allowed.
Where the maintainers live
Tauri is a Working Group inside the Commons Conservancy. The maintainers' GitHub team is @tauri-apps/wg-tauri (everything) and @tauri-apps/wg-devops (CI / .github/). See .github/CODEOWNERS. For real-time discussion, the project uses the Tauri Discord (linked from README.md).
Releases
Releases are driven by covector. Each PR that ships behaviour adds a markdown file under .changes/ declaring which packages need a major, minor, or patch bump. The covector-version-or-publish.yml workflow automates the rest. See Tooling.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.