mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-28 16:30:52 +08:00
133 lines
2.6 KiB
Markdown
133 lines
2.6 KiB
Markdown
# CONTRIBUTING
|
|
|
|
Thank you for your interest in contributing to **Clash Verge Rev**! This guide provides instructions to help you set up your development environment and start contributing effectively.
|
|
|
|
## Internationalization (i18n)
|
|
|
|
We welcome translations and improvements to existing locales. For details on contributing translations, please see [CONTRIBUTING_i18n.md](docs/CONTRIBUTING_i18n.md).
|
|
|
|
## Development Setup
|
|
|
|
Before contributing, you need to set up your development environment. Follow the steps below carefully.
|
|
|
|
### Prerequisites
|
|
|
|
1. **Install Rust and Node.js**
|
|
Our project requires both Rust and Node.js. Follow the official installation instructions [here](https://tauri.app/start/prerequisites/).
|
|
|
|
### Windows Users
|
|
|
|
> [!NOTE]
|
|
> **Windows ARM users must also install [LLVM](https://github.com/llvm/llvm-project/releases) (including clang) and set the corresponding environment variables.**
|
|
> The `ring` crate depends on `clang` when building on Windows ARM.
|
|
|
|
Additional steps for Windows:
|
|
|
|
- Ensure Rust and Node.js are added to your system `PATH`.
|
|
|
|
- Install the GNU `patch` tool.
|
|
|
|
- Use the MSVC toolchain for Rust:
|
|
|
|
```bash
|
|
rustup target add x86_64-pc-windows-msvc
|
|
rustup set default-host x86_64-pc-windows-msvc
|
|
```
|
|
|
|
### Install Node.js Package Manager
|
|
|
|
Enable `corepack`:
|
|
|
|
```bash
|
|
corepack enable
|
|
```
|
|
|
|
### Install Project Dependencies
|
|
|
|
Node.js dependencies:
|
|
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
Ubuntu-only system packages:
|
|
|
|
```bash
|
|
sudo apt-get install -y libxslt1.1 libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf
|
|
```
|
|
|
|
### Download the Mihomo Core Binary (Automatic)
|
|
|
|
```bash
|
|
pnpm run prebuild
|
|
pnpm run prebuild --force # Re-download and overwrite Mihomo core and service binaries
|
|
```
|
|
|
|
### Run the Development Server
|
|
|
|
```bash
|
|
pnpm dev # Standard
|
|
pnpm dev:diff # If an app instance already exists
|
|
pnpm dev:tauri # Run Tauri development mode
|
|
```
|
|
|
|
### Build the Project
|
|
|
|
Standard build:
|
|
|
|
```bash
|
|
pnpm build
|
|
```
|
|
|
|
Fast build for testing:
|
|
|
|
```bash
|
|
pnpm build:fast
|
|
```
|
|
|
|
### Clean Build
|
|
|
|
```bash
|
|
pnpm clean
|
|
```
|
|
|
|
### Portable Version (Windows Only)
|
|
|
|
```bash
|
|
pnpm portable
|
|
```
|
|
|
|
## Contributing Your Changes
|
|
|
|
### Before Committing
|
|
|
|
**Code quality checks:**
|
|
|
|
```bash
|
|
# Rust backend
|
|
cargo clippy-all
|
|
# Frontend
|
|
pnpm lint
|
|
```
|
|
|
|
**Code formatting:**
|
|
|
|
```bash
|
|
# Rust backend
|
|
cargo fmt
|
|
# Frontend
|
|
pnpm format
|
|
```
|
|
|
|
### Submitting Your Changes
|
|
|
|
1. Fork the repository.
|
|
|
|
2. Create a new branch for your feature or bug fix.
|
|
|
|
3. Commit your changes with clear messages.
|
|
|
|
4. Push your branch and submit a pull request.
|
|
|
|
We appreciate your contributions and look forward to your participation!
|