diff options
| author | 魏曹先生 <1992414357@qq.com> | 2025-11-02 19:47:37 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-02 19:47:37 +0800 |
| commit | ffb5805291343ba1cd4bb4f38788d9ce6e3e2ba6 (patch) | |
| tree | 3bddbbe58a7b968e9eaf9c4e5ae88908a54e955e /CONTRIBUTING.md | |
| parent | 0e18f70b2ba376ad4e6ca189636fb34d165ececb (diff) | |
| parent | d2a83fe74bc0711a2fa67d2b11841772fd939de9 (diff) | |
Merge pull request #33 from JustEnoughVCS/docs
Update contributing guide and README
Diffstat (limited to 'CONTRIBUTING.md')
| -rw-r--r-- | CONTRIBUTING.md | 58 |
1 files changed, 39 insertions, 19 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6fbf868..6950355 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,14 @@ # Welcome to Contributing! -Welcome to contributing to `JustEnoughVCS`! Before you begin, please read this guide to ensure a smooth contribution process. +**Before You Begin**: +Thank you for your interest in and support of JustEnoughVCS! If you wish to contribute to the project, please read this guide carefully first. +We warmly welcome and value every contributor's submission, but to ensure a smooth and efficient contribution process, please follow the standardized approach. -## 1. Choose Your Direction + + +## 1. Choose Your Module `JustEnoughVCS` uses a modular architecture that separates core functionality from client tools into different repositories: @@ -26,17 +30,17 @@ Please first understand which module of `JustEnoughVCS` you want to contribute t 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. +For non-`VersionControl` parts, please also clone the core repository into a sibling directory to ensure it can reference the `VersionControl` repository. Structure should look like this: ``` . -├── <frontend-name> -│ ├── src/ # Frontend source code -│ ├── Cargo.toml # Rust project configuration -│ └── README.md # Project documentation -└── VersionControl/ # Core library reference +├── <frontend-name> # Frontend & Extensions +│ ├── src/ +│ ├── Cargo.toml +│ └── README.md +└── VersionControl/ # Core library ├── src/ ├── Cargo.toml ├── CONTRIBUTING.md @@ -46,6 +50,14 @@ Structure should look like this: +> [!NOTE] +> +> We currently don't use `git submodule` because the core library and frontends require extensive synchronized modifications +> +> This will transition to `git submodule` approach once the project stabilizes + + + ## 3. Set Up Development Environment Development environment configuration can be found in the documentation of each repository. @@ -60,24 +72,32 @@ For example: The `CommandLine` part uses Rust + Clap to build the command-line p Before submitting, please ensure: -1. Create a feature branch in your forked repository +1. Create a feature branch in your forked repository, and develop based on the repository's `dev` or `docs` branch 2. Implement your feature or fix -3. Write appropriate test cases and pass all tests -4. Submit clear commit messages -5. Create a Pull Request to the main repository +3. Describe your changes in the COMMIT message and push to your fork +4. Create a Pull Request to the main repository's `dev` or `docs` branch + + + +### Note: PRs We Cannot Accept + +Changes we don't expect: + +1. Major changes that haven't been discussed in the Issues section +2. Features that increase rather than reduce mental complexity -### Notes +Wrong merge branches: -- 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 +1. Documentation changes merged to the `dev` branch +2. Code changes merged to the `docs` branch +3. Changes merged to the `main` branch -## Finally, Open Source Licenses +## 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. +Different `JustEnoughVCS` projects use different open source licenses. For example, the current `VersionControl` uses the MIT License (see LICENSE-MIT.md file), while the GUI part uses the `GPLv3` license. -Thank you for your support of `JustEnoughVCS`! +Finally, thank you for your support of `JustEnoughVCS`! |
