Thank you for your interest in contributing to Zync. This document provides guidelines and instructions for contributing.
-
Fork the repository on GitHub.
-
Clone your fork and add the upstream remote:
git clone https://github.com/YOUR_USERNAME/zync.git cd zync git remote add upstream https://github.com/zync-sh/zync.git -
Ensure you have the prerequisites installed (Node.js, Rust, and platform-specific dependencies).
-
Run
npm installandnpm run tauri devto start the development environment.
Staying in sync: Before starting new work, pull the latest from upstream:
git fetch upstream
git checkout main
git merge upstream/main-
Create a new branch from
mainfor your changes:git checkout -b fix/your-fix-name # or git checkout -b feature/your-feature-name -
Make your changes. Follow existing code style and conventions.
-
Run the type checker and ensure the app builds:
npm run type-check npm run tauri build
-
Commit with clear, descriptive messages:
git commit -m "fix: resolve SSH connection timeout on slow networks" -
Push to your fork and open a Pull Request against the main repository.
- Frontend: TypeScript, React functional components, Zustand for state.
- Backend: Rust, async/await where appropriate.
- Naming: Use descriptive names; prefer
snake_casein Rust andcamelCasein TypeScript.
- Keep PRs focused and reasonably sized.
- Add a clear title and description.
- Reference any related issues.
- Ensure CI passes (if applicable).
Open an Issue to report bugs, request features, or ask questions.