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