xref: /openbmc/webui-vue/CONTRIBUTING.md (revision f67f769f)
1Contributing to WebUI-Vue
2
3:+1::tada: First off, thanks for taking the time to contribute! :+1::tada:
4
5The following is a set of guidelines for contributing to the OpenBMC Web UI.
6
7## Table of contents
8- [Project Setup](#project-setup)
9- [Code of Conduct](#code-of-conduct)
10- [Asking Questions](#asking-questions)
11- [Submitting Bugs](#submitting-bugs)
12- [Request a New Feature](#request-a-new-feature)
13- [User Research](#user-research)
14- [Design Reviews](#design-reviews)
15- [Help Wanted](#help-wanted)
16- [Code Reviews](#code-reviews)
17
18## Project Setup
19
20### Set up Gerrit account
21The OpenBMC projects use Gerrit for code review. Use the [OpenBMC Gerrit Setup/Integration guidelines](https://github.com/openbmc/docs/blob/master/development/gerrit-setup.md) to set up your Gerrit account.
22
23### Clone repo from Gerrit
24Since we use Gerrit to manage all the code contributions, it is not necessary to create a fork from GitHub. Read more about submitting a code review in the [Code Reviews section](#code-reviews) below.
25
261. Visit https://gerrit.openbmc-project.xyz/admin/repos/openbmc/webui-vue
272. Clone the repo using the `Clone with commit-msg hook` link
28    - Windows users may need to separate the two commands depending on if they have installed a Bash emulator like `Git for Windows` or `CMDER` or installed the `Windows Subsystem for Linux`.
29
30### Install Dependencies
31```
32npm install
33```
34
35### Create a .env file
361. Create the following file in the root directory
37     - .env.development.local
381. Add the following environment variable
39    - BASE_URL="https://<BMC IP address or FQDN>"`
40
41
42### Compile and hot-reload for development
43```
44npm run serve
45```
46
47### Run Documentation Locally (Vuepress static site generation)
48```
49npm run docs:serve
50```
51
52### Run unit tests
53```
54npm run test:unit
55```
56
57### Lint and fix files
58```
59npm run lint
60```
61
62This project and everyone participating are required to follow the [OpenBMC Code of Conduct](https://github.com/openbmc/docs/blob/master/code-of-conduct.md).
63
64## Asking Questions
65The OpenBMC communicates using a mail list and the Discord channel. Although you could create a GitHub issue to ask a question, a better option would be to ask your question using the email list or Discord channel.
66
67- Mail: openbmc@lists.ozlabs.org https://lists.ozlabs.org/listinfo/openbmc
68- Discord: https://discord.gg/69Km47zH98
69
70### Submitting Bugs
71Before submitting an issue, please search through the [existing GitHub issues](https://github.com/openbmc/webui-vue/issues) to see if someone already reported the problem. If the issue does not exist, use the [Bug report template](https://github.com/openbmc/webui-vue/issues/new?assignees=&labels=&template=bug_report.md&title=) to report the problem.
72
73Before submitting a request for a new feature, please search through the [existing GitHub issues](https://github.com/openbmc/webui-vue/issues). If no one has suggested the idea previously, use the [Feature request template](https://github.com/openbmc/webui-vue/issues/new?assignees=&labels=&template=feature_request.md&title=) to submit a new feature request.
74
75## User Research
76To improve the OpenBMC Web UI, we are actively seeking end-user feedback through the IBM Design Partner program.
77
78### What is an OpenBMC Design Partner?
79Contribute your feedback and bring your domain expertise to help us improve the OpenBMC GUI. The time commitment is minimal: 1-hour feedback sessions conducted remotely via Webex, 1 to 2 times per month. Activities may include exploratory interviews, participatory design, periodic surveys, or usability testing sessions.
80
81Note: IBM requires all user research participants to sign a Feedback Program Agreement (FPA), describing how IBM complies with the latest GDPR guidelines. The FPA only needs to be signed once to cover your company or entity's participation.
82
83
84### How do I become a Design Partner?
85If you are using the OpenBMC GUI and are interested in influencing its look and feel, email nicoleconser@ibm.com with the subject line `OpenBMC GUI Design Partner Referral`.
86
87## Design Reviews
88When making changes to an existing design, we create a design review issue in GitHub and add it to the Design Reviews Project](https://github.com/openbmc/webui-vue/projects/1). We then send an email to the community and review the changes in the [OpenBMC GUI Design Workgroup](https://github.com/openbmc/openbmc/wiki/GUI-Design-work-group.
89
90## Help Wanted
91New features and bugs ready for development will be tagged with the `Help Wanted` tag and added to the [Help Wanted Project](https://github.com/openbmc/webui-vue/projects/2). If you want to pick up a story, add a comment stating your interest, and a maintainer will assign the story and move it to the `In Progress` column in the Project Kanban board.
92
93## Code Reviews
94The OpenBMC project uses Gerrit for all code reviews. Please do not create a GitHub pull request.
95
961. Commit your changes, adding a Signed-off-by line to it:  `git commit --signoff`
971. Write a [good commit message](https://chris.beams.io/posts/git-commit/)
98    - Separate subject from the body with a blank line
99    - Limit the subject line to 50 characters
100    - Capitalize the subject line
101    - Do not end the subject line with a period
102    - Use the imperative mood in the subject line
103    - Wrap the body at 72 characters
104    - Use the body to explain what and why vs. how
105
1061. Push your changes to Gerrit for code review: `git push origin HEAD:refs/for/master`
1071. Assign reviewers
108
109
110
111