kunkun/CONTRIBUTING.md
Huakun 4d90e2cf29
Feature: watch manifest and reload for dev extension (#181)
* feat(desktop): add file system watch support for extensions

- Enable file system watching for package.json and test files
- Update Cargo.toml to include file system watch feature
- Add console logging for file system events

* feat(desktop): add extension auto reload mechanism for dev extensions

- Implement `reloadExtension` method in extensions store
- Add Tauri event for reloading a single extension
- Update UI worker to watch package.json and trigger extension reload
- Add Linux dependencies for building from source in CONTRIBUTING.md
2025-02-21 05:59:25 -05:00

62 lines
1.6 KiB
Markdown

# Contributing
If you are interested in contributing to the project, please read the following guidelines.
## Development
### Prerequisites
- [Node.js](https://nodejs.org/en)
- [pnpm](https://pnpm.io/)
- [Bun](https://bun.sh/)
- [Deno](https://deno.com/)
- [Rust](https://www.rust-lang.org/)
- [protobuf](https://grpc.io/docs/protoc-installation/)
- MacOS: `brew install protobuf`
- Linux: `sudo apt install -y protobuf-compiler`
- Windows:
```powershell
choco install protoc
choco install openssl
```
Then configure the environment variables (yours may differ):
- `OPENSSL_DIR`: `C:\Program Files\OpenSSL-Win64`
- `OPENSSL_INCLUDE_DIR`: `C:\Program Files\OpenSSL-Win64\include`
- `OPENSSL_LIB_DIR`: `C:\Program Files\OpenSSL-Win64\lib`
- [cmake](https://cmake.org/)
- MacOS: `brew install cmake`
- Linux: `sudo apt install -y cmake`
- Other Linux Dependencies
- `sudo apt-get install -y protobuf-compiler libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libxdo-dev`
### Setup
```bash
git clone https://github.com/kunkunsh/kunkun.git --recursive
pnpm install
pnpm prepare
```
### Run Desktop App
```bash
pnpm --filter @kksh/desktop tauri dev
# or run it within the desktop app directory
cd apps/desktop
pnpm tauri dev
```
### Build from Source
If you have problem running the app, consider building from source to see if it works.
```bash
cd apps/desktop
pnpm tauri build
```
## i188n
If you are willing to help with the translation, please use translations in json files in `apps/desktop/messages`.
Use `en.json` as a reference.