summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
blob: 76317e9b1c48c4d9d32d9bd43cc52dcb36a0b8c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Contributing to WebUI-Vue

:+1::tada: First off, thanks for taking the time to contribute! :+1::tada:

The following is a set of guidelines for contributing to the OpenBMC Web UI.

## Table of contents

- [Project Setup](#project-setup)
- [Code of Conduct](#code-of-conduct)
- [Asking Questions](#asking-questions)
- [Submitting Bugs](#submitting-bugs)
- [Request a New Feature](#request-a-new-feature)
- [User Research](#user-research)
- [Design Reviews](#design-reviews)
- [Help Wanted](#help-wanted)
- [Code Reviews](#code-reviews)

## Project Setup

### Set up Gerrit account

The 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.

### Clone repo from Gerrit

Since 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.

1. Visit https://gerrit.openbmc-project.xyz/admin/repos/openbmc/webui-vue
2. Clone the repo using the `Clone with commit-msg hook` link
   - 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`.

### Install Dependencies

```
npm install
```

### Create a .env file

1. Create the following file in the root directory
   - .env.development.local
1. Add the following environment variable
   - BASE_URL="https://<BMC IP address or FQDN>"`

### Compile and hot-reload for development

```
npm run serve
```

### Run Documentation Locally (Vuepress static site generation)

```
npm run docs:serve
```

### Run unit tests

```
npm run test:unit
```

### Lint and fix files

```
npm run lint
```

This project and everyone participating are required to follow the
[OpenBMC Code of Conduct](https://github.com/openbmc/docs/blob/master/code-of-conduct.md).

## Asking Questions

The 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.

- Mail: openbmc@lists.ozlabs.org https://lists.ozlabs.org/listinfo/openbmc
- Discord: https://discord.gg/69Km47zH98

### Submitting Bugs

Before 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.

Before 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.

## User Research

To improve the OpenBMC Web UI, we are actively seeking end-user feedback through
the IBM Design Partner program.

### What is an OpenBMC Design Partner?

Contribute 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.

Note: 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.

## Design Reviews

When 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.

## Help Wanted

New 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.

## Code Reviews

The OpenBMC project uses Gerrit for all code reviews. Please do not create a
GitHub pull request.

1. Commit your changes, adding a Signed-off-by line to it:
   `git commit --signoff`
1. Write a [good commit message](https://chris.beams.io/posts/git-commit/)

   - Separate subject from the body with a blank line
   - Limit the subject line to 50 characters
   - Capitalize the subject line
   - Do not end the subject line with a period
   - Use the imperative mood in the subject line
   - Wrap the body at 72 characters
   - Use the body to explain what and why vs. how

1. Push your changes to Gerrit for code review:
   `git push origin HEAD:refs/for/master`
1. Assign reviewers