mirror of
https://github.com/forcedotcom/afv-library.git
synced 2026-07-30 03:09:50 +08:00
202 lines
4.4 KiB
Markdown
202 lines
4.4 KiB
Markdown
|
|
# Contributing Guide
|
||
|
|
|
||
|
|
Thank you for your interest in contributing. This project is open to
|
||
|
|
anyone, and the workflow below explains exactly how to submit changes
|
||
|
|
using a fork and a pull request.
|
||
|
|
|
||
|
|
## 1. Fork the Repository
|
||
|
|
|
||
|
|
To contribute, create your own copy:
|
||
|
|
|
||
|
|
1. Open this repository on github.com.
|
||
|
|
2. Click the **Fork** button in the top-right corner.
|
||
|
|
3. Select your GitHub account as the destination.
|
||
|
|
4. GitHub will create your personal fork at:
|
||
|
|
`https://github.com/<your-username>/afv-library`.
|
||
|
|
|
||
|
|
## 2. Clone Your Fork
|
||
|
|
|
||
|
|
Clone your personal fork:
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git clone https://github.com/<your-username>/afv-library.git
|
||
|
|
cd afv-library
|
||
|
|
```
|
||
|
|
|
||
|
|
Add the original repository as the upstream remote:
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git remote add upstream https://github.com/forcedotcom/afv-library.git
|
||
|
|
```
|
||
|
|
|
||
|
|
## 3. Create a Branch
|
||
|
|
|
||
|
|
Create a new branch for your work:
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git checkout -b my-feature-name
|
||
|
|
```
|
||
|
|
|
||
|
|
Use a short, descriptive name.
|
||
|
|
|
||
|
|
## 4. Make Your Changes
|
||
|
|
|
||
|
|
Perform your edits or add new functionality. When ready:
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git add .
|
||
|
|
git commit -m "Describe your change clearly"
|
||
|
|
```
|
||
|
|
|
||
|
|
## 5. Push Your Branch
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git push origin my-feature-name
|
||
|
|
```
|
||
|
|
|
||
|
|
GitHub will display a **Compare & pull request** button.
|
||
|
|
|
||
|
|
## 6. Open a Pull Request
|
||
|
|
|
||
|
|
Once your branch is pushed to your fork, you can open a Pull Request
|
||
|
|
(PR) to propose merging your changes into this repository.
|
||
|
|
|
||
|
|
### 6.1 Start the Pull Request
|
||
|
|
|
||
|
|
**Option A --- From the GitHub banner (easiest)**\
|
||
|
|
After pushing your branch, GitHub shows a banner:
|
||
|
|
|
||
|
|
> "Compare & pull request"
|
||
|
|
|
||
|
|
Click it.
|
||
|
|
|
||
|
|
**Option B --- Manually**
|
||
|
|
|
||
|
|
1. Go to your fork on GitHub:\
|
||
|
|
`https://github.com/<your-username>/afv-library`
|
||
|
|
2. Switch to your feature branch.
|
||
|
|
3. Click the **Pull requests** tab.
|
||
|
|
4. Click **New pull request**.
|
||
|
|
5. Click **compare across forks**.
|
||
|
|
|
||
|
|
------------------------------------------------------------------------
|
||
|
|
|
||
|
|
### 6.2 Select the Correct Base and Compare Settings
|
||
|
|
|
||
|
|
Make sure GitHub is targeting the correct repositories and branches:
|
||
|
|
|
||
|
|
- **Base repository:** `forcedotcom/afv-library`
|
||
|
|
- **Base branch:** `main`
|
||
|
|
- **Head repository:** `<your-username>/afv-library`
|
||
|
|
- **Head branch:** your feature branch (`my-feature-name`)
|
||
|
|
|
||
|
|
Correct configuration:
|
||
|
|
|
||
|
|
base: forcedotcom/afv-library → main
|
||
|
|
compare: <your-username>/afv-library → my-feature-name
|
||
|
|
|
||
|
|
------------------------------------------------------------------------
|
||
|
|
|
||
|
|
### 6.3 Write the Pull Request Title
|
||
|
|
|
||
|
|
Use a clear, descriptive title. Examples:
|
||
|
|
|
||
|
|
- "Add examples for Apex prompt templates"
|
||
|
|
- "Fix typo in GPT-5 rule documentation"
|
||
|
|
- "Improve structure of LWC prompt guidelines"
|
||
|
|
|
||
|
|
Avoid generic titles like "Update" or "Fix."
|
||
|
|
|
||
|
|
------------------------------------------------------------------------
|
||
|
|
|
||
|
|
### 6.4 Write a Detailed Pull Request Description
|
||
|
|
|
||
|
|
Include:
|
||
|
|
|
||
|
|
- **What** you changed
|
||
|
|
- **Why** you changed it
|
||
|
|
- **How** it improves the library
|
||
|
|
- **Any follow-ups or questions**
|
||
|
|
|
||
|
|
Suggested template:
|
||
|
|
|
||
|
|
### Summary
|
||
|
|
Brief explanation of what this change adds or improves.
|
||
|
|
|
||
|
|
### Changes
|
||
|
|
- List key changes
|
||
|
|
- Mention new files or docs
|
||
|
|
- Describe any refactoring
|
||
|
|
|
||
|
|
### Motivation
|
||
|
|
Why this change is needed or helpful.
|
||
|
|
|
||
|
|
### Notes
|
||
|
|
Anything reviewers should know or testing instructions.
|
||
|
|
|
||
|
|
------------------------------------------------------------------------
|
||
|
|
|
||
|
|
### 6.5 Submit the Pull Request
|
||
|
|
|
||
|
|
Click **Create pull request**.
|
||
|
|
|
||
|
|
------------------------------------------------------------------------
|
||
|
|
|
||
|
|
### 6.6 Automatic Checks
|
||
|
|
|
||
|
|
If the repository has CI or linting tools, GitHub will run checks.\
|
||
|
|
Fix any failures by updating your branch and pushing again.
|
||
|
|
|
||
|
|
------------------------------------------------------------------------
|
||
|
|
|
||
|
|
### 6.7 Discussion & Review
|
||
|
|
|
||
|
|
Maintainers may comment, request changes, or ask questions.
|
||
|
|
|
||
|
|
To update your PR:
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git add .
|
||
|
|
git commit -m "Address review feedback"
|
||
|
|
git push
|
||
|
|
```
|
||
|
|
|
||
|
|
Your PR updates automatically.
|
||
|
|
|
||
|
|
## 7. Address Review Feedback
|
||
|
|
|
||
|
|
If maintainers request changes:
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git add .
|
||
|
|
git commit -m "Update after review"
|
||
|
|
git push
|
||
|
|
```
|
||
|
|
|
||
|
|
Your PR updates automatically.
|
||
|
|
|
||
|
|
## 8. Keep Your Fork Updated
|
||
|
|
|
||
|
|
Sync your fork with the upstream repo before starting new work:
|
||
|
|
|
||
|
|
``` sh
|
||
|
|
git checkout main
|
||
|
|
git pull upstream main
|
||
|
|
git push origin main
|
||
|
|
```
|
||
|
|
|
||
|
|
## 9. Merge
|
||
|
|
|
||
|
|
A maintainer will merge your PR after approval.
|
||
|
|
|
||
|
|
## Summary
|
||
|
|
|
||
|
|
- Fork the repo.
|
||
|
|
- Clone your fork.
|
||
|
|
- Create a branch.
|
||
|
|
- Make changes.
|
||
|
|
- Push the branch.
|
||
|
|
- Open a PR.
|
||
|
|
- Respond to feedback.
|
||
|
|
- Keep your fork updated.
|