Skip to content

Commit 5304034

Browse files
committed
docs: update contribution guide and fix links
1 parent a871969 commit 5304034

File tree

8 files changed

+44
-241
lines changed

8 files changed

+44
-241
lines changed

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ Related: #ISSUE
2222

2323
## Checklist
2424

25-
- [ ] I have read the [Contributor Guide](https://fesod.apache.org/community/contribution/contribution/).
25+
- [ ] I have read the [Contributor Guide](https://fesod.apache.org/community/contribution/).
2626
- [ ] I have written the necessary doc or comment.
2727
- [ ] I have added the necessary unit tests and all cases have passed.

CONTRIBUTING.md

Lines changed: 29 additions & 227 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
# Contribution Guidelines
22

3-
Welcome every user and developer in the community to become contributors. Whether it's reporting issues, improving
4-
documentation, submitting code, or providing technical support, your participation will help make the Apache Fesod (
5-
Incubating) better.
63

7-
---
4+
Welcome every user and developer in the community to become contributors. Whether it's reporting issues, improving documentation, submitting code, or providing technical support, your participation will help make it better.
85

96
## Contribution Directions
107

11-
There are many ways to contribute to Apache Fesod (Incubating):
8+
There are many ways to contribute to this project:
129

1310
- Fix typos
1411
- Fix bugs
@@ -19,237 +16,57 @@ There are many ways to contribute to Apache Fesod (Incubating):
1916
- Optimize code structure
2017
- Improve or refine documentation
2118

22-
**Principle**:
19+
### Principle
2320

2421
- Any pull request that contributes to the improvement of the project should be encouraged.
25-
- Before contributing a new feature, please propose and discuss it in an `issue` or `discussion`. We will not merge
26-
features that have not been discussed and confirmed.
22+
- Before contributing a new feature, please propose and discuss it in an `issue` or `discussion`. We will not merge features that have not been discussed and confirmed.
2723

28-
---
24+
## Contribution Process
2925

30-
## Contributing Code
26+
### Find tasks
3127

32-
All improvements can be implemented through Pull Request (PR). Before submitting a Pull Request, please familiarise
33-
yourself with the following guidelines:
28+
Find the issue you are interested in! On our GitHub repo issue list, we often publish some issues with the label `good first issue` or `help wanted`. These issues welcome the help of contributors. Among them, `good first issues` tend to have low thresholds and are suitable for beginners.
3429

35-
### Workspace Preparation
30+
Of course, if you have a good idea, you can also propose it directly on GitHub Discussion or contact with community.
3631

37-
To develop Apache Fesod (Incubating), you need **Maven 3.9 or above** and **JDK (Java Development Kit) 17 or above**.
38-
However, you must
39-
use **Java 1.8** compatible language features during compilation to ensure Apache Fesod (Incubating) can run in
40-
environments with Java
41-
1.8 or above.
32+
### Discuss
4233

43-
> You can use tools such as [SDKMAN](https://sdkman.io/) to configure multiple versions of the Java toolchain.
34+
Please refer to [Issue Feedback](https://fesod.apache.org/community/feedback/) to create an issue or discussion and endeavour to reach consensus.
4435

45-
### Fork the repository
36+
**Note**: To request an issue, please note that it is not just a "please assign it to me", you need to explain your understanding of the issue, and your design, and if possible, you need to provide your POC code.
4637

47-
Ensure that you have registered a GitHub account and follow the steps below to configure your local development
48-
environment:
38+
### Implement
4939

50-
**Fork the repository**: Click the `Fork` button on the Apache Fesod (
51-
Incubating) [GitHub page](https://github.com/apache/fesod) to copy the project to your GitHub account.
40+
Implement the change according to the approach agreed upon in the issue.
5241

53-
```bash
54-
https://github.com/<your-username>/fesod
55-
```
42+
- Only start working on the implementation if there is consensus on the approach (e.g. you are assigned to the ticket)
43+
- If you are newer, can refer to [Code Contribution](https://fesod.apache.org/community/contribution/contribute-code/) to setup a dev environment.
5644

57-
**Clone Repository**: Run the following command to clone the forked project to your local machine:
45+
### Review
5846

59-
```bash
60-
git clone git@github.com:<your-username>/fesod.git
61-
```
47+
Create the pull request and work with the reviewer.
6248

63-
**Set Upstream Repository**: Set the official repository as `upstream` for easy synchronization of updates:
49+
- Make sure no unrelated or unnecessary reformatting changes are included.
50+
- After submitting the PR, the CI process will be triggered. Please make sure that it has passed the CI checks.
51+
- Please ensure that the test passing.
52+
- Please don't resolve conversation.
6453

65-
```bash
66-
git remote add upstream git@github.com:apahce/fesod.git
67-
git remote set-url --push upstream no-pushing
68-
```
54+
### Merge
6955

70-
Running `git remote -v` can verify if the configuration is correct.
56+
- A committer of project checks if the contribution fulfills the requirements and merges the code to the codebase.
7157

72-
### Branch definition
58+
## Contribution Code
7359

74-
In Apache Fesod (Incubating), all contributions should be based on the `main` development branch. Additionally, there
75-
are the following branch types:
76-
77-
- **release branches**: Used for version releases (e.g., `1.1.0`, `1.1.1`).
78-
- **feature branches**: Used for developing major features.
79-
- **hotfix branches**: Used for fixing critical bugs.
80-
81-
When submitting a PR, please ensure that the changes are based on the `main` branch.
82-
83-
### Commit Rules
84-
85-
#### Commit Message
86-
87-
Please ensure that commit messages are clear and descriptive, use **English**, and do not exceed 100 characters.
88-
89-
The following types of commit messages are allowed and must follow the following format:
90-
91-
- **docs**: Update documentation, e.g., `docs: update README.md`
92-
- **feature/feat**: New features, e.g., `feature: support for xxx`
93-
- **bugfix/fix**: Bug fixes, e.g., `fix: fix NPE in the A class`
94-
- **refactor**: Code refactoring (no functional changes), e.g., `refactor: optimise data processing logic`
95-
- **style**: Code formatting, e.g., `style: update code style`
96-
- **test**: Adding or improving tests, e.g., `test: add new test cases`
97-
- **chore**: Changes to the build process or auxiliary tools, e.g., `chore: improve issue template`
98-
- **dependency**: Modifications to third-party dependency libraries, e.g., `dependency: upgrade poi version to 5.4.1`
99-
100-
Avoid using vague commit messages like:
101-
102-
- ~~fixed issue~~
103-
- ~~update code~~
104-
105-
For assistance, refer to [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/).
106-
107-
#### Commit Content
108-
109-
Each commit should contain complete and reviewable changes, ensuring:
110-
111-
- Avoid committing overly large changes.
112-
- Each commit content is independent and can pass CI tests.
113-
114-
Also, ensure the correct Git user information is configured when committing:
115-
116-
```bash
117-
git config --get user.name
118-
git config --get user.email
119-
```
120-
121-
### PR Description
122-
123-
To help reviewers quickly understand the content and purpose of the PR, use
124-
the [pull_request_template](https://github.com/apache/fesod/blob/main/.github/pull_request_template.md). A
125-
detailed description greatly improves code review efficiency.
126-
127-
---
60+
All improvements can be implemented through Pull Request (PR). Before submitting a Pull Request.
61+
Please refer to [Code Contribution](https://fesod.apache.org/community/contribution/contribute-code/) for information on how to contribute code.
12862

12963
## Contribution of Test Cases
13064

131-
Any contribution of test cases is encouraged, especially unit tests. It is recommended to create `XXXTest.java` files in
132-
the corresponding module's `test` directory, preferably using the `JUnit5` framework.
133-
134-
---
65+
Any contribution of test cases is encouraged, especially unit tests. It is recommended to create `XXXTest.java` files in the corresponding module's `test` directory, preferably using the `JUnit5` framework.
13566

13667
## Contribution Document
13768

138-
Documentation is an important component of the Apache Fesod (Incubating) official website and serves as a vital bridge
139-
between the
140-
project and the community.The Apache Fesod (Incubating) official website is built
141-
using [Docusaurus](https://docusaurus.io/), and the
142-
documentation is maintained in the [website](https://github.com/apache/fesod/tree/main/website) directory.
143-
144-
### Requirements
145-
146-
- [Node.js](https://nodejs.org/en/download/) version 18.0 or above (which can be checked by running `node -v`). You can
147-
use [nvm](https://github.com/nvm-sh/nvm) for managing multiple Node versions on a single machine installed.
148-
- When installing Node.js, you are recommended to check all checkboxes related to dependencies.
149-
150-
### Directory Structure Description
151-
152-
Docusaurus supports I18n. The main documentation directory structure that needs to be maintained is as follows:
153-
154-
```bash
155-
.
156-
├── community # Community(English)
157-
├── docs # Documentation(English)
158-
└── i18n # I18n
159-
└── zh-cn
160-
├── docusaurus-plugin-content-docs
161-
│ └── current # Documentation(Simplified Chinese)
162-
└── docusaurus-plugin-content-docs-community
163-
└── current # Community(Simplified Chinese)
164-
```
165-
166-
The directory structure for single-language documents is as follows:
167-
168-
```bash
169-
.
170-
├── quickstart # 1. Quick Start
171-
├── read # 2. Read
172-
├── write # 3. Write
173-
├── fill # 4. Fill
174-
├── community # 5. Community
175-
└── help # 6. FAQ
176-
```
177-
178-
### Documentation Writing Guidelines
179-
180-
- Use file paths with the `.md` extension
181-
182-
```markdown
183-
[Example](docs/quickstart/example.md)
184-
```
185-
186-
- Use paths relative to the docs/ directory
187-
188-
```markdown
189-
[Example](docs/quickstart/example.md)
190-
```
191-
192-
- Image files must be stored in the `static/img` directory and referenced using relative directory paths.
193-
194-
```markdown
195-
[img](/img/docs/fill/listFill_file.png)
196-
```
197-
198-
### Preview and generate static files
199-
200-
Enter the `website` directory and execute the command
201-
202-
#### Installation
203-
204-
```bash
205-
yarn install
206-
```
207-
208-
#### Local Development
209-
210-
```bash
211-
# English
212-
yarn start
213-
214-
# Simplified Chinese
215-
yarn start --locale zh-cn
216-
```
217-
218-
This command starts a local development server and opens up a browser window. Most changes are reflected live without
219-
having to restart the server.
220-
221-
> Only one language version can be run at a time.
222-
223-
#### Build(Optional)
224-
225-
```bash
226-
yarn build
227-
```
228-
229-
This command generates static content into the `build` directory and can be served using any static contents hosting
230-
service.
231-
232-
### Document Format Inspection
233-
234-
Apache Fesod (Incubating) uses [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) to check document
235-
formatting. After writing the relevant Markdown articles, you can run the following command locally to pre-check whether
236-
the Markdown formatting meets the requirements:
237-
238-
```bash
239-
cd website && yarn
240-
241-
yarn md-lint
242-
243-
# If the documentation is wrong, you can use the following command to attempt an automatic repair.
244-
yarn md-lint-fix
245-
```
246-
247-
- For formatting rules for Markdown articles you can refer
248-
to: [Markdown-lint-rules](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md)
249-
- Markdown format configuration file in the
250-
project: [.markdownlint-cli2.jsonc](https://github.com/apache/fesod/blob/main/website/.markdownlint-cli2.jsonc)
251-
252-
---
69+
Documentation is an important component of the project official website and serves as a vital bridge between the project and the community. Please refer to [Docs Contribution](https://fesod.apache.org/community/contribution/contribute-doc/) for information on how to contribute code.
25370

25471
## Other Ways to Contribute
25572

@@ -258,20 +75,5 @@ Apart from directly contributing code, the following ways are also valuable supp
25875
- Answering other users' questions.
25976
- Assisting in reviewing others' PRs.
26077
- Providing improvement suggestions.
261-
- Writing technical blogs to promote.
78+
- Writing technical blogs to promote Apache Fesod (Incubating).
26279
- Sharing project-related knowledge in the community.
263-
264-
---
265-
266-
## Code Style
267-
268-
Apache Fesod (Incubating) uses [Spotless](https://github.com/diffplug/spotless) as its code formatting tool. Please
269-
ensure you run the following command to automatically format your code before submitting:
270-
271-
```bash
272-
mvn spotless:apply
273-
```
274-
275-
---
276-
277-
Finally, thank you for your support of Apache Fesod (Incubating)!

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ public static void main(String[] args) {
154154
### Contributors
155155

156156
Contributors are welcomed to join the Apache Fesod (Incubating). Please
157-
check [Contributing Guide](https://fesod.apache.org/community/contribution/) about how to contribute to this project.
157+
check [Contributing Guide](./CONTRIBUTING.md) about how to contribute to this project.
158158

159159
Thank you to all the people who already contributed to the Apache Fesod (Incubating) !
160160

website/community/contribution/contribution-guide.md renamed to website/community/contribution.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Of course, if you have a good idea, you can also propose it directly on GitHub D
3333

3434
### Discuss
3535

36-
Please refer to [Issue Feedback](../feedback.md) to create an issue or discussion and endeavour to reach consensus.
36+
Please refer to [Issue Feedback](./feedback.md) to create an issue or discussion and endeavour to reach consensus.
3737

3838
**Note**: To request an issue, please note that it is not just a "please assign it to me", you need to explain your understanding of the issue, and your design, and if possible, you need to provide your POC code.
3939

@@ -42,7 +42,7 @@ Please refer to [Issue Feedback](../feedback.md) to create an issue or discussio
4242
Implement the change according to the approach agreed upon in the issue.
4343

4444
- Only start working on the implementation if there is consensus on the approach (e.g. you are assigned to the ticket)
45-
- If you are newer, can refer to [Code Contribution](./contribute-code.md) to setup a dev environment.
45+
- If you are newer, can refer to [Code Contribution](./contribution/contribute-code.md) to setup a dev environment.
4646

4747
### Review
4848

@@ -59,15 +59,16 @@ Create the pull request and work with the reviewer.
5959

6060
## Contribution Code
6161

62-
All improvements can be implemented through Pull Request (PR). Before submitting a Pull Request, please refer to [Code Contribution](./contribute-code.md) to setup a dev environment.
62+
All improvements can be implemented through Pull Request (PR). Before submitting a Pull Request.
63+
Please refer to [Code Contribution](./contribution/contribute-code.md) for information on how to contribute code.
6364

6465
## Contribution of Test Cases
6566

6667
Any contribution of test cases is encouraged, especially unit tests. It is recommended to create `XXXTest.java` files in the corresponding module's `test` directory, preferably using the `JUnit5` framework.
6768

6869
## Contribution Document
6970

70-
Documentation is an important component of the project official website and serves as a vital bridge between the project and the community.The project official website is built using [Docusaurus](https://docusaurus.io/), and the documentation is maintained in the [website](https://github.com/apache/fesod/tree/main/website) directory.
71+
Documentation is an important component of the project official website and serves as a vital bridge between the project and the community. Please refer to [Docs Contribution](./contribution/contribute-code.md) for information on how to contribute document.
7172

7273
## Other Ways to Contribute
7374

website/i18n/zh-cn/docusaurus-plugin-content-docs-community/current/contribution/contribution-guide.md renamed to website/i18n/zh-cn/docusaurus-plugin-content-docs-community/current/contribution.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ title: '概述'
3333

3434
### 讨论
3535

36-
请参考[问题反馈](../feedback.md)来创建一个问题或讨论,并努力达成共识。
36+
请参考[问题反馈](./feedback.md)来创建一个问题或讨论,并努力达成共识。
3737

3838
**注意**:如果申请分配这个问题时,请注意这并非简单的“请分配给我”,您需要阐述对问题的理解、设计方案,并在可能的情况下提供您的概念验证代码。
3939

@@ -42,7 +42,7 @@ title: '概述'
4242
根据问题中商定的方案实施变更。
4343

4444
- 仅在方案达成共识时才开始实施工作(例如:您已被指派处理该工单)
45-
- 若您是新成员,可参考[代码贡献指南](./contribute-code.md)来搭建开发环境。
45+
- 若您是新成员,可参考[代码贡献指南](./contribution/contribute-code.md)来搭建开发环境。
4646

4747
### 审核
4848

@@ -55,19 +55,19 @@ title: '概述'
5555

5656
### 合并
5757

58-
社区 committer 需要根据[如何成为Committer](../committer/become-committer.md)中的指南,负责检查贡献是否满足要求,并将代码合并到代码库中。
58+
社区 committer 需要根据[Code Review指南](./contribution/code-review-guide.md)中的指南,负责检查贡献是否满足要求,并将代码合并到代码库中。
5959

6060
## 贡献代码
6161

62-
所有改进均可通过 Pull Request (PR) 实现。在提交 Pull Request 前,请参考[代码贡献指南](./contribute-code.md)
62+
所有改进均可通过 Pull Request (PR) 实现。在提交 Pull Request 前,请参考[代码贡献指南](./contribution/contribute-code.md)了解如何贡献代码
6363

6464
## 测试用例贡献
6565

6666
任何测试用例的贡献都值得鼓励,尤其是单元测试。建议在对应模块的 `test` 目录中创建 `XXXTest.java` 文件,推荐使用 `JUnit5` 框架。
6767

6868
## 贡献文档
6969

70-
文档是 Apache Fesod (Incubating) 官方网站的重要构建内容,是项目与社区之间的重要桥梁。Apache Fesod (Incubating) 官方网站使用 [Docusaurus](https://docusaurus.io/) 进行构建,其中文档在 [website](https://github.com/apache/fesod/tree/main/website) 目录中进行维护
70+
文档是 Apache Fesod (Incubating) 官方网站的重要构建内容,是项目与社区之间的重要桥梁。请参考[文档贡献指南](./contribution/contribute-doc.md)了解如何贡献文档
7171

7272
## 其他参与方式
7373

0 commit comments

Comments
 (0)