diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-10-19 22:11:01 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2025-10-19 22:11:01 +0800 |
| commit | 04ef8fc69508ce83de4542c1988a1f311f538b48 (patch) | |
| tree | f91e6de38cbaa48706134b11d1e540e3c57a8e37 /CONTRIBUTING.md | |
| parent | 261a1eab3c7b467390dd23a6759d6c3ddc57b92f (diff) | |
Update CONTRIBUTING.md
Diffstat (limited to 'CONTRIBUTING.md')
| -rw-r--r-- | CONTRIBUTING.md | 83 |
1 files changed, 51 insertions, 32 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1f0c5a6..6fbf868 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,34 +1,38 @@ -# JustEnoughVCS Contribution Guide +# Welcome to Contributing! -Welcome to the JustEnoughVCS (referred to as `JVCS`) project! Before you start contributing, please read this guide carefully to ensure a smooth contribution process. +Welcome to contributing to `JustEnoughVCS`! Before you begin, please read this guide to ensure a smooth contribution process. -## Project Structure -JustEnoughVCS adopts a modular architecture that separates core functionality from frontend tools into different repositories: -### Core Repositories -- **Core Library**: https://github.com/JustEnoughVCS/VersionControl -- **Command Line Frontend**: https://github.com/JustEnoughVCS/CommandLine +## 1. Choose Your Direction -## Contribution Process +`JustEnoughVCS` uses a modular architecture that separates core functionality from client tools into different repositories: -### 1. Preparation +| Repository | Link | Description | +| ---------- | ------------------------------------------------------------ | ---------------------------- | +| Core Logic | [Version Control](https://github.com/JustEnoughVCS/VersionControl) | Main logic, asset management | +| Frontend | | | +| CLI | [Command Line](https://github.com/JustEnoughVCS/CommandLine) | Glue code between core and CLI | -**Core Library Contribution**: -- Fork the core repository to your GitHub account -- Clone it locally using SSH +Please first understand which module of `JustEnoughVCS` you want to contribute to - this is important! -**Frontend Contribution**: -- Fork the corresponding frontend repository -- Clone it locally using SSH +1. If you want to optimize version control logic, add or modify core features, please go to `VersionControl`. -### 2. Project Directory Structure +2. If you want to optimize, modify, or add logic for frontend interfaces like command-line or GUI tools, please go to the corresponding repository. -All frontend projects follow a unified directory structure: + + +## 2. Set Up the Project + +Fork the repository you want to modify to your GitHub account, then clone it locally using SSH. + +For non-`VersionControl` parts, please also clone the core repository using HTTP into a sibling directory to ensure it can reference the `VersionControl` repository. + +Structure should look like this: ``` . -├── <Frontend Name> +├── <frontend-name> │ ├── src/ # Frontend source code │ ├── Cargo.toml # Rust project configuration │ └── README.md # Project documentation @@ -40,25 +44,40 @@ All frontend projects follow a unified directory structure: └── README.md ``` -### 3. Development Environment Setup -1. Ensure you have the Rust toolchain installed -2. Clone the project locally -3. Configure the development environment according to the README instructions in each repository -### 4. Submitting a Pull Request +## 3. Set Up Development Environment + +Development environment configuration can be found in the documentation of each repository. + +`JustEnoughVCS` uses different technology stacks for different frontend directions. + +For example: The `CommandLine` part uses Rust + Clap to build the command-line program, while the `MyVault` GUI uses Avalonia + .NET. + + + +## 4. Submit Your PR + +Before submitting, please ensure: 1. Create a feature branch in your forked repository 2. Implement your feature or fix -3. Write appropriate test cases -4. Ensure your code passes all existing tests -5. Write clear commit messages -6. Create a Pull Request to the main repository +3. Write appropriate test cases and pass all tests +4. Submit clear commit messages +5. Create a Pull Request to the main repository + +### Notes + +- Ensure your code follows the project's coding standards +- Sync with the latest changes from the main repository before submitting PR +- For major changes, it's recommended to discuss the design approach in Issues first + + + +## Finally, Open Source Licenses + +Different `JustEnoughVCS` projects use different open source licenses. For example, the current `VersionControl` uses the very permissive MIT License (see LICENSE-MIT.md file), while `MyVault` uses the `GPLv3` license. -## Important Notes -- Please ensure your code follows the project's coding standards -- Before submitting a PR, sync with the latest changes from the main repository -- For significant changes, it's recommended to discuss the design approach in Issues first -Thank you for contributing to the JustEnoughVCS project! +Thank you for your support of `JustEnoughVCS`! |
