Contributing
Help us make Deskctl Bridge better.
First off, thank you for considering contributing to Deskctl Bridge!
Philosophy
Before you dive in, please keep in mind the project's core philosophy:
- Simple: We want to keep the feature set focused.
- Lightweight: Avoid adding heavy dependencies unless absolutely necessary.
- Cross-Platform Native: We prioritize a clean, native experience on both Windows and macOS.
Getting Started
To work on Deskctl Bridge locally, you'll need:
- Rust (latest stable) - Install from rustup.rs
- Node.js 18+ - For frontend and documentation
- pnpm - Build tool and package manager
- Turbo - Build system (optional but recommended)
- Platform-specific tools:
- Windows: Visual Studio Build Tools
- macOS: Xcode Command Line Tools
Local Development
-
Clone the repository:
git clone https://github.com/codewithevilxd/deskctl.git cd Deskctl -
Install dependencies:
pnpm install -
Run in development mode:
You can run all apps simultaneously:
pnpm devOr run a specific app:
pnpm dev:bridge # for the desktop app pnpm dev:web # for the web dashboard -
Build for production:
pnpm buildOr build a specific app:
pnpm build:bridgeThis will create platform-specific installers in
apps/bridge/src-tauri/target/release/bundle/
Project Structure
This is a monorepo managed by Turbo and pnpm.
- apps/: Contains the main applications (bridge, docs, web, hub, rhub).
- packages/: Shared libraries and UI components.
- tooling/: Build and configuration tools.
Documentation
The documentation is built with Fuma Docs. To run it locally:
pnpm dev:docsPull Requests
- Small is better: We prefer small, focused pull requests.
- Explain the "Why": Include a clear description of the problem your PR solves.
- Consistency: Try to follow the existing code style.
Thank you for being part of the community! 🚀