From 04ef8fc69508ce83de4542c1988a1f311f538b48 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 19 Oct 2025 22:11:01 +0800 Subject: Update CONTRIBUTING.md --- CONTRIBUTING.md | 83 +++++++++++++++++++++++++++++++-------------------- CONTRIBUTING_zh_CN.md | 71 +++++++++++++++++++++++++++---------------- 2 files changed, 96 insertions(+), 58 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: ``` . -├── +├── │ ├── 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`! diff --git a/CONTRIBUTING_zh_CN.md b/CONTRIBUTING_zh_CN.md index 30dad62..bf6b3a8 100644 --- a/CONTRIBUTING_zh_CN.md +++ b/CONTRIBUTING_zh_CN.md @@ -1,30 +1,34 @@ -# JustEnoughVCS 贡献指南 +# 欢迎您的贡献! -欢迎您对 JustEnoughVCS(简称 `JVCS`)项目进行贡献!在开始贡献之前,请仔细阅读本指南以确保您的贡献流程顺利。 +欢迎您对 `JustEnoughVCS` 进行贡献!开始之前,请阅读本指南以确保您的贡献流程顺利。 -## 项目结构 -JustEnoughVCS 采用模块化架构,将核心功能与客户端工具分离为不同的代码库: -### 核心仓库 -- **核心库**: https://github.com/JustEnoughVCS/VersionControl -- **命令行前端**: https://github.com/JustEnoughVCS/CommandLine +## 一、选择您的方向 -## 流程 +`JustEnoughVCS` 采用模块化架构,将核心功能与客户端工具分离为不同的代码库: -### 1. 准备工作 +| 仓库 | 链接 | 描述 | +| -------- | ------------------------------------------------------------ | -------------------------- | +| 核心逻辑 | [Version Control](https://github.com/JustEnoughVCS/VersionControl) | 主要运行逻辑、资产管理方案 | +| 前端 | | | +| 命令行 | [Command Line](https://github.com/JustEnoughVCS/CommandLine) | 核心到命令行的 “胶水代码” | -**对于核心库**: -- 分叉核心库到您的 GitHub 账户 -- 使用 SSH 方式克隆到本地 +请先了解您要为 `JustEnoughVCS` 的哪个模块提交代码,这很重要! -**对于前端**: -- 分叉对应的前端仓库 -- 使用 SSH 方式克隆到本地 +1. 如果您要优化 `JustEnoughVCS` 的版本控制逻辑、增加或修改核心功能,请前往 `VersionControl`。 -### 2. 项目目录结构 +2. 如果你要优化、修改、增加 命令行、图形界面 等前端调用的逻辑,请前往对应的库。 -所有前端项目都遵循统一的目录结构: + + +## 二、部署项目 + +请分叉你需要修改的库到您的 GitHub 账户,然后使用 SSH 克隆至本地。 + +对于非 `VersionControl` 部分,请将 核心 部分同时以 HTTP 的方式克隆至同级目录,以确保该部分可以引用到 `VersionControl` 仓库。 + +结构如下: ``` . @@ -40,25 +44,40 @@ JustEnoughVCS 采用模块化架构,将核心功能与客户端工具分离为 └── README.md ``` -### 3. 开发环境设置 -1. 确保已安装 Rust 工具链 -2. 克隆项目到本地 -3. 按照各仓库的 README 说明配置开发环境 -### 4. 提交 Pull Request +## 三、部署开发环境 + +开发环境的配置请参考对应仓库中的文档。 + +`JustEnoughVCS` 在不同前端方向的技术选型不一样。 + +例如:`CommandLine` 部分采用 Rust + Clap 构成命令行程序;而 `MyVault` 图形界面部分采用 Avalonia + .NET。 + + + +## 四、提交您的 PR + +在此之前,请确保: 1. 在您的分叉仓库中创建功能分支 2. 实现您的功能或修复 -3. 编写适当的测试用例 -4. 确保代码通过所有现有测试 +3. 编写适当的测试用例,并通过测试 5. 提交清晰的提交信息 6. 创建 Pull Request 到主仓库 -## 注意事项 +### 注意事项 - 请确保您的代码遵循项目的编码规范 - 在提交 PR 前,请同步主仓库的最新更改 - 对于重大更改,建议先在 Issues 中讨论设计方案 -感谢您对 JustEnoughVCS 项目的贡献! + + +## 最后、开源协议 + +`JustEnoughVCS` 不同项目的开源协议并不相同,例如当前的 `VersionControl` 使用的就是最宽松的 MIT License (详见 LICENSE-MIT.md 文件);而 `MyVault` 则使用的 `GPLv3` 的协议。 + + + +最后,感谢您对 `JustEnoughVCS` 的支持! -- cgit From a026677114b0771508c526ba66b7665b01fedbe0 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 19 Oct 2025 22:11:37 +0800 Subject: Update README.md --- README.md | 7 +++++-- README_zh_CN.md | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e0040e8..9ae7120 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ -# JustEnoughVCS - A Lightweight, Cross-Functional, Binary-Friendly Centralized Version Control System +# Just Enough VCS -> **⚠️ Warning: JustEnoughVCS is currently under active development.** +> A Lightweight, Cross-Functional, Binary-Friendly Centralized VCS. + +> [!WARNING] +> JustEnoughVCS is currently under active development.** > > This software is in the development stage, and its features are not yet complete. diff --git a/README_zh_CN.md b/README_zh_CN.md index ab77aa4..e5f1fa0 100644 --- a/README_zh_CN.md +++ b/README_zh_CN.md @@ -1,6 +1,9 @@ -# JustEnoughVCS - 轻量、跨职能、二进制友好的集中式版本控制系统 +# Just Enough VCS -> **⚠️ 警告:JustEnoughVCS 目前正在积极开发中。** +> 轻量、跨职能、二进制友好的集中式版本控制系统 + +> [!WARNING] +> JustEnoughVCS 目前正在积极开发中。** > > 本软件处于开发阶段,功能尚不完整。 @@ -8,7 +11,7 @@ ## 我的设计哲学 - 也是我的拙见 😃 -​ `JustEnoughVCS` 遵循"**Just Enough**"的理念,旨在通过架构设计来实现协作安全。它以**虚拟文件系统**和**表隔离**为核心,为每个创作者提供专注、无干扰的工作空间,让协作变得自然且简单。 +​ `JustEnoughVCS` 遵循 "**Just Enough**" 的理念,旨在通过架构设计来实现协作安全。它以**虚拟文件系统**和**表隔离**为核心,为每个创作者提供专注、无干扰的工作空间,让协作变得自然且简单。 ![img](docs/images/FRAMEWORK_CANVAS.png) -- cgit