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 an IRC 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 IRC channel. 66 67- Mail: openbmc@lists.ozlabs.org https://lists.ozlabs.org/listinfo/openbmc 68- IRC: #openbmc on freenode.net 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