websoft9/CONTRIBUTING.md
2024-04-24 09:04:19 +08:00

3.6 KiB

Contributing to Websoft9

From opening a bug report to creating a pull request: every contribution is appreciated and welcome.

If you're planning to implement a new feature or change the api please create an issue first. This way we can ensure that your precious work is not in vain.

Not Sure Architecture?

It's important to figure out the design Architecture of Websoft9

Code of Conduct

This project use Code of Conduct, you should read it carefully.

Consistency convention

In the process of your participation, we hope that everyone has a good habit of abiding by the agreement, including:

  • Create Issue based on template
  • Select tags instead of creating tags
  • Complete the smallest unit independent task at one time
  • Meaningful remarks when commit your code, you should select from: docs, test, fix, install, misc and so on
  • Although the project has automated tests, I still hope that you can test without problems before submitting
  • Following the branch management strategy, the core team maintains two branches: main and dev

Fork

Contributor only allow to fork main branch and pull request for it. Maintainers don't accept any pr to production branch

Branch

This repository have these branches:

  • Contributor's branch: Developer can fork main branch as their development branch anytime
  • main branch: The only branch that accepts PR from Contributors' branch
  • production branch: For version release and don't permit modify directly, only merge PR from main branch

Flow: Contributor's branch → main branch → production branch

Pull request

Pull request let you tell others about changes you've pushed to a branch in a repository on GitHub.

When is PR produced?

  • Contributor commit to main branch
  • main branch commit to production branch

How to deal with PR?

  1. pull request reviews
  2. Merge RP and CI/CD for it

DevOps principle

DevOps thinks the same way 5m1e for manufacturing companies

We follow the development principle of minimization, rapid release

Version

Use [major].[minor].[patch] for version serial number and version.json for version dependencies

Artifact

Websoft9 use below Artifact for different usage:

Tags

  • Type tags: Bug, enhancement, Documentation
  • Stages Tags: PRD, Dev, QA(include deployment), Documentation

WorkFlow

Websoft9 use the Production branch with GitLab flow for development collaboration

gitlab workflow is improvement model for git