You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[AI-Assisted Development Guidelines](#ai-assisted-development-guidelines)
25
+
-[Troubleshooting](#troubleshooting)
22
26
-[Becoming a Maintainer](#becoming-a-maintainer)
23
27
-[How do I become a maintainer?](#how-do-i-become-a-maintainer)
24
28
-[How do I lose maintainers status?](#how-do-i-lose-maintainers-status)
25
29
-[Quick Tips for New Maintainers](#quick-tips-for-new-maintainers)
26
30
31
+
## Quick Start for New Contributors
32
+
33
+
New to contributing to PatternFly React? Here's how to get started quickly:
34
+
35
+
1.**🍴 Fork and Clone**: Fork the repository and clone it locally
36
+
2.**📦 Install Dependencies**: Run `yarn install` to install dependencies
37
+
3.**🏗️ Build**: Run `yarn build` to build the project
38
+
4.**🔍 Find an Issue**: Look for issues labeled [`good first issue`](https://github.com/patternfly/patternfly-react/labels/good%20first%20issue)
39
+
5.**🌿 Create a Branch**: Create a new branch for your changes
40
+
6.**✅ Test**: Run `yarn test` to ensure tests pass
41
+
7.**📝 Submit PR**: Create a pull request with a clear description
42
+
43
+
**Need help?** Join us on [PatternFly Slack](https://patternfly.slack.com/) in the `#patternfly-react` channel!
44
+
45
+
## Community Contributors Hall of Fame
46
+
47
+
We want to recognize and celebrate our amazing community contributors who have made significant contributions to PatternFly React in the past year! 🎉
48
+
49
+
### Top Community Contributors (Last 12 Months as on July 1, 2025)
50
+
51
+
The following contributors (excluding PatternFly team members and bots) have made outstanding contributions to the project:
52
+
53
+
1.**@Mash707** - 49 contributions
54
+
2.**@adamviktora** - 10 contributions
55
+
3.**@logonoff** - 5 contributions
56
+
57
+
### Notable Contributors
58
+
59
+
Thank you to all community contributors who have helped improve PatternFly React! Every contribution makes a difference.
60
+
61
+
Thank you to all our community contributors for helping make PatternFly React better! Every contribution, whether it's code, documentation, bug reports, or feature requests, helps improve the library for everyone.
62
+
63
+
*This list is updated periodically and reflects contributions over the past 12 months. If you'd like to join this list, check out our [contribution guidelines](#contribution-process) below!*
64
+
27
65
## Code of conduct
28
66
29
67
This project is governed by the [Contributor Covenant version 2.1][1]. All contributors and participants
@@ -124,22 +162,7 @@ Inside the package directory:
124
162
- Add a Sass file to the `sass/patternfly-react/` directory and use the file name `_<component>.scss`
125
163
- Import the Sass file into `sass/patternfly-react/_patternfly-react.scss` using `@import "<component>";`
126
164
127
-
### Using generators
128
165
129
-
To make contributing components and packages easier a generator utility has been provided.
130
-
131
-
To start the generator run:
132
-
133
-
```sh
134
-
yarn generate
135
-
```
136
-
137
-
Follow the prompts to generate the desired component or package.
138
-
139
-
Currently the following generators are provided
140
-
141
-
- PatternFly component
142
-
- Package
143
166
144
167
## Guidelines and requirements
145
168
@@ -179,51 +202,36 @@ Please ensure that all React UI components contributed meet the following guidel
179
202
180
203
Adhering to the following process is the best way to get your work included in the project:
181
204
182
-
1.[Fork](https://help.github.com/fork-a-repo/) the project, clone your fork, and configure the remotes:
205
+
1.**Fork and set up the repository** (assumes basic git knowledge)
183
206
184
-
```sh
185
-
# Clone your fork of the repo into the current directory
# Fetch the code and branches from remote repo "upstream"
192
-
git fetch upstream
193
-
```
207
+
2.**Set up your development environment**
194
208
195
-
2. Set up tooling
196
-
197
-
[Install Node.js](https://nodejs.org/en/download/package-manager) version 22 (or higher), and make sure to [enable Corepack](https://nodejs.org/api/corepack.html). Then install the project dependencies and build it by running:
209
+
**Prerequisites:**
210
+
-[Node.js](https://nodejs.org/en/download/package-manager) version 22 or higher
211
+
-[Enable Corepack](https://nodejs.org/api/corepack.html) for package manager management
212
+
- Git configured with your GitHub account
198
213
214
+
**Setup commands:**
199
215
```sh
216
+
# Install dependencies
200
217
yarn install
201
-
yarn build
202
-
```
203
-
204
-
3. Create a branch:
205
218
206
-
```sh
207
-
git checkout -b my-branch upstream/main
208
-
```
219
+
# Build the project
220
+
yarn build
209
221
210
-
4. Generate your component
222
+
# Run tests to verify setup
223
+
yarn test
211
224
212
-
```sh
213
-
# Run the tool to Generate the component scaffolding
214
-
yarn generate
225
+
# Start development server (optional)
226
+
yarn start
215
227
```
216
228
217
-
- When you select the option to generate a PatternFly component, a structure resembling the following is generated
218
-
```text
219
-
packages/react-core/src/[type]/[ComponentName]/
220
-
index.js - Barrel File exporting public exports
221
-
ComponentName.js - Component Implementation
222
-
ComponentName.test.js - Component Tests
223
-
ComponentName.md - Component Docs
224
-
```
229
+
**Verify your setup:**
230
+
- All tests should pass
231
+
- Build should complete without errors
232
+
- Development server should start (if running yarn start)
225
233
226
-
5.Develop your component. After development is complete, run build and ensure tests and lint standards pass.
234
+
3.**Develop your component** - After development is complete, run build and ensure tests and lint standards pass.
227
235
228
236
```sh
229
237
yarn build
@@ -234,26 +242,9 @@ Ensure no lint errors are introduced in `yarn-error.log` after running this comm
234
242
235
243
***Note to Windows users:*** you may need to change the path for the lint script in package.json to be `node_modules/eslint/bin/eslint`
236
244
237
-
6. Add a commit using `git commit`:
238
-
239
-
This project uses [`lerna`](https://lernajs.io/) to do automatic releases and generate a changelog based on the commit history. So we follow [a convention][3] for commit messages. Please follow this convention for your commit messages.
240
-
241
-
7. Rebase
245
+
4.**Follow commit conventions** - This project uses [`lerna`](https://lernajs.io/) to do automatic releases and generate a changelog based on the commit history. So we follow [a convention][3] for commit messages. Please follow this convention for your commit messages.
242
246
243
-
Use `git rebase` (not `git merge`) to sync your work from time to time. Ensure all commits related to a single issue have been [squashed](https://github.com/ginatrapani/todo.txt-android/wiki/Squash-All-Commits-Related-to-a-Single-Issue-into-a-Single-Commit).
244
-
245
-
```sh
246
-
git fetch upstream
247
-
git rebase upstream/main
248
-
```
249
-
250
-
8. Push
251
-
252
-
```sh
253
-
git push origin my-branch
254
-
```
255
-
256
-
9. Create a pull request
247
+
5.**Create a pull request**
257
248
258
249
[Open a pull request](https://help.github.com/articles/using-pull-requests/) with a clear title and description against the `main` branch. Please be sure to include all of the following in your PR:
259
250
@@ -276,6 +267,75 @@ Please help in ensuring all relevant issues are closed and that any subsequent i
276
267
- If an issue in Core will affect a component in PF-React, this issue should link to the main PF-React issue.
277
268
- The CSS Developers and UX Designers should be tagged to review their respective PF-React issue.
278
269
270
+
### AI-Assisted Development Guidelines
271
+
272
+
AI-generated code can be accepted as a contribution to this project as long as the contributor follows the following guidance.
273
+
274
+
When using AI coding assistants (such as GitHub Copilot, ChatGPT, Claude, or other similar tools) to help with development work on PatternFly React, please follow these guidelines to ensure code quality, security, and transparency:
275
+
276
+
#### Human in the loop: Verify and validate AI-generated code
277
+
278
+
-**Treat AI-generated code as suggestions, not final code.** Review all generated code and modify as appropriate. Thoroughly review and test all code that you intend to integrate into your work.
279
+
280
+
-**Do not blindly trust the code assistant output.** Always apply your own judgment and expertise. AI coding assistants can introduce security vulnerabilities if not used carefully, and AI models can sometimes hallucinate and provide incorrect or non-functional code.
281
+
282
+
-**Make sure you thoroughly understand any AI-generated code.** If the generated code you intend to incorporate in your work is outside your expertise, consult with someone knowledgeable in the area prior to making it available to others within Red Hat or externally.
283
+
284
+
#### Mark code with substantial AI-generated portions
285
+
286
+
Nontrivial and substantial AI-generated or AI-assisted content should be "marked" in appropriate cases. In deciding how to approach this, consider adopting one or more of the following recommendations:
287
+
288
+
-**In a commit message, or in a pull request/merge request description field,** identify the code assistant that you used, perhaps elaborating on how it was used. You may wish to use a trailer like "Assisted-by:" or "Generated-by:". For example:
289
+
290
+
```
291
+
Assisted-by: GitHub Copilot
292
+
Generated-by: ChatGPT for initial component structure
293
+
```
294
+
295
+
-**In a source file comment,** indicate the use of the code assistant. For example:
296
+
297
+
```javascript
298
+
// Generated by GitHub Copilot
299
+
// AI-assisted implementation with human review and modifications
300
+
```
301
+
302
+
#### Additional considerations
303
+
304
+
-**Security review:** Pay special attention to security implications of AI-generated code, especially when dealing with user input, authentication, or data handling.
305
+
-**Testing:** Ensure that AI-generated code is thoroughly tested and meets all existing project standards for testing coverage.
306
+
-**Code style:** Verify that AI-generated code follows PatternFly React's coding standards and style guidelines as outlined in this document.
307
+
-**Documentation:** If AI assists in generating documentation or comments, review them for accuracy and completeness.
308
+
309
+
## Troubleshooting
310
+
311
+
### Common Issues and Solutions
312
+
313
+
**Build Failures:**
314
+
- Ensure you're using Node.js version 22 or higher: `node --version`
- Ask for help in [PatternFly Slack](https://patternfly.slack.com/)`#patternfly-react` channel
337
+
- Create a new issue with detailed error information
338
+
279
339
## Becoming a maintainer
280
340
281
341
The documentation for becoming a maintainer has been taken from [Foreman](https://theforeman.org/handbook.html#Becomingamaintainer) and adapted for the PatternFly project.
0 commit comments