Skip to content

Commit 42d90fc

Browse files
committed
docs(wep): add index, statuses, numbering and platform section to the WEP process
Implements the process improvements agreed with the maintainer: - WEP Index table in the README (number, title, status, discussion, implementation) with documented status values - Metadata header in the template (number, status, discussion link, implementor) and a Platform Considerations section - 'Do I Need a WEP?' section defining when a proposal is required - Support is now measured by upvotes on the Enhancement Proposals discussion rather than thumbs-ups on a draft PR - Decisions recorded in a standard comment format; rejected proposals stay findable via the index - Accepted proposals not started within 3 months become up for grabs - Migrated the existing proposal as WEP 0001 (dir renamed to 0001-titlebar-buttons, header added, status Implemented via #3508)
1 parent e3f863b commit 42d90fc

4 files changed

Lines changed: 54 additions & 9 deletions

File tree

docs/src/content/docs/contributing.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Substantial new functionality goes through the Wails Enhancement Proposal (WEP)
4545
1. Discuss your idea in the [Enhancement Proposals](https://github.com/wailsapp/wails/discussions/categories/enhancement-proposals) category on GitHub Discussions. This is the official place to discuss proposals. The [#enhancement-proposals](https://discord.gg/TA8kbQds95) channel on Discord is a good place for informal chat about it too.
4646
2. Copy [`v3/wep/WEP_TEMPLATE.md`](https://github.com/wailsapp/wails/blob/master/v3/wep/WEP_TEMPLATE.md) to `v3/wep/proposals/<proposal name>/proposal.md` and fill in every section.
4747
3. Open a draft pull request titled `[WEP] <title>` containing only the proposal, and link it from your discussion thread.
48-
4. Gather feedback and support (thumbs-up reactions on the PR). Allow at least two weeks for discussion, and agree on who will implement the proposal.
48+
4. Gather feedback and support (upvotes on the discussion). Allow at least two weeks for discussion, and agree on who will implement the proposal.
4949
5. Mark the PR ready for review. The maintainers make the final decision: accepted proposals are assigned a WEP number and merged.
5050

5151
The full process is documented in [`v3/wep/README.md`](https://github.com/wailsapp/wails/blob/master/v3/wep/README.md).

v3/wep/README.md

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@ Following this structured approach ensures transparency, community involvement,
1111

1212
**NOTE**: This process is for proposing new functionality. For bug fixes, documentation improvements, and other minor changes, please follow the standard PR process.
1313

14+
## Do I Need a WEP?
15+
16+
Not every change needs a proposal. As a rule of thumb:
17+
18+
- **WEP required**: new public API, changes to existing API behaviour, breaking changes, new cross-platform functionality, or anything involving significant platform-specific work.
19+
- **No WEP needed**: bug fixes, documentation, small additive options, internal refactoring. Use the standard PR process.
20+
21+
If you are unsure, start a discussion in the [Enhancement Proposals](https://github.com/wailsapp/wails/discussions/categories/enhancement-proposals) category and ask.
22+
1423
## Submission of Proposal
1524

1625
### 1. Idea Initiation
@@ -33,7 +42,7 @@ Following this structured approach ensures transparency, community involvement,
3342

3443
- **Share Your Proposal**: Link the PR from your discussion in the [Enhancement Proposals](https://github.com/wailsapp/wails/discussions/categories/enhancement-proposals) category (or start one if you haven't yet). Try to get support for the proposal to increase the chances of acceptance. If you are on the discord server, you are also welcome to share it in the [`#enhancement-proposals`](https://discord.gg/TA8kbQds95) channel, but GitHub Discussions is the official venue.
3544
- **Gather Feedback**: Refine your proposal based on community input. Feedback on the proposal text itself should be added as comments on the PR so it stays with the document; broader discussion belongs in the discussion thread.
36-
- **Show Support**: Agreement with the proposal should be indicated by adding a thumbs-up emoji to the PR. The more thumbs-up emojis, the more likely the proposal will be accepted.
45+
- **Show Support**: Agreement with the proposal should be indicated by upvoting the discussion in the Enhancement Proposals category. The more support a proposal has, the more likely it is to be accepted.
3746
- **Iterate**: Make changes to the proposal based on feedback.
3847
- **Agree on an Implementor**: To avoid stagnant proposals, we require someone agree to implement it. This could be the proposer.
3948
- **Ready for Review**: Once the proposal is ready for review, change the PR status to `Ready for Review`.
@@ -42,11 +51,20 @@ A minimum of 2 weeks should be given for community feedback and discussion.
4251

4352
### 4. Final Decision
4453

45-
- **Decision**: The Wails maintainers will make a final decision on the proposal based on community feedback and the proposal's merits.
46-
- If accepted, the proposal will be assigned a WEP number and the PR merged.
47-
- If rejected, the reasons will be provided in the PR comments.
54+
- **Decision**: The Wails maintainers will make a final decision on the proposal based on community feedback and the proposal's merits. The decision is recorded as a comment on the PR in this format:
55+
56+
```
57+
**Decision**: Accepted / Rejected
58+
**Decided by**: @maintainer(s)
59+
**Rationale**: A short explanation of the decision.
60+
```
61+
62+
- **If accepted**:
63+
- The proposal is assigned the next WEP number and its directory renamed to `NNNN-<name of proposal>`.
64+
- The proposal's status is updated to `Accepted`, it is added to the [WEP Index](#wep-index), and the PR is merged.
65+
- **If rejected**: The PR is closed and the proposal recorded in the [WEP Index](#wep-index) with a link to the decision, so the outcome is easy to find if the idea comes up again.
4866

49-
*NOTE*: If a proposal has not met the required support or has been inactive for more than a month, it may be closed.
67+
*NOTE*: If a proposal has not met the required support or has been inactive for more than a month, it may be closed as `Withdrawn`.
5068

5169
## Implementation of Proposal
5270

@@ -67,4 +85,16 @@ Once a proposal has been accepted and an implementation plan has been decided, t
6785

6886
- **Review of PR**: Address any review comments.
6987
- **Merge**: The PR will be merged after satisfactory review.
88+
- **Update the Status**: When the implementation PR merges, update the proposal's status to `Implemented` and add the implementation PR to the [WEP Index](#wep-index).
89+
90+
*NOTE*: Acceptance requires a committed implementor. If implementation has not started within 3 months of acceptance, the proposal is marked as up for grabs in the WEP Index and anyone may take it on.
91+
92+
## WEP Index
93+
94+
| WEP | Title | Status | Discussion | Implementation |
95+
|-----|-------|--------|------------|----------------|
96+
| [0001](proposals/0001-titlebar-buttons/proposal.md) | Customising Window Controls | Implemented | [#3508](https://github.com/wailsapp/wails/pull/3508) | [#3508](https://github.com/wailsapp/wails/pull/3508) |
97+
98+
**Statuses**: `Draft` (under discussion), `Accepted` (approved, awaiting implementation), `Implemented` (shipped), `Rejected` (declined), `Withdrawn` (closed by the author or for inactivity).
99+
70100
The WEP process ensures structured and collaborative enhancement of Wails. Adhere to this guide to contribute effectively to the project's growth.

v3/wep/WEP_TEMPLATE.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
## Title
44

5+
**WEP Number**: (leave blank, assigned on acceptance)
6+
**Status**: Draft
57
**Author**: [Your Name]
6-
**Created**: [YYYY-MM-DD]
8+
**Created**: [YYYY-MM-DD]
9+
**Discussion**: [link to your discussion in the Enhancement Proposals category]
10+
**Implementor**: [who has agreed to implement this, may be the author]
711

812
## Summary
913

@@ -21,6 +25,13 @@ Provide a detailed description of the proposed feature, including:
2125
- Implementation steps
2226
- Potential impact on existing functionality
2327

28+
## Platform Considerations
29+
30+
Describe how the feature behaves on each platform (Windows, macOS, Linux, and mobile where relevant). Include:
31+
32+
- Platform-specific behaviour, limitations or API differences
33+
- Any platform where the feature is unsupported, and why
34+
2435
## Pros/Cons
2536

2637
List the pros and cons of the proposed solution.

v3/wep/proposals/titlebar-buttons/proposal.md renamed to v3/wep/proposals/0001-titlebar-buttons/proposal.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
## Customising Window Controls in Wails
44

5-
**Author**: Lea Anthony
6-
**Created**: 2024-05-20
5+
**WEP Number**: 0001
6+
**Status**: Implemented
7+
**Author**: Lea Anthony
8+
**Created**: 2024-05-20
9+
**Discussion**: [#3508](https://github.com/wailsapp/wails/pull/3508)
10+
**Implementor**: Lea Anthony
711

812
## Summary
913

0 commit comments

Comments
 (0)