Skip to content

Commit 8a09b72

Browse files
committed
Add diagram
1 parent 7c89bd9 commit 8a09b72

File tree

1 file changed

+37
-7
lines changed

1 file changed

+37
-7
lines changed

README.md

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ A machine-parseable artifact will be available at `build/html/needs.json`. (ToDo
4444
A record with checksums of the contents is available at `build/html/guidelines-ids.json`. Users of the coding guidelines can reference this file to determine if there have been changes to coding guidelines contents they should be aware of.
4545

4646

47-
## Running builds offline
47+
### Running builds offline
4848

4949
If you're working without internet access or want to avoid reaching out to remote resources, you can pass the `--offline` flag:
5050

@@ -57,7 +57,7 @@ This prevents the build system from attempting to fetch remote resources, such a
5757
It is recommended to use `--offline` if you are running `make.py` frequently during development. The builder fetches data from [the Ferrocene Language Specification website](https://spec.ferrocene.dev/paragraph-ids.json), which may rate-limit repeated requests—leading to delays or failed builds. Using `--offline` can significantly improve build speed and avoid unnecessary network issues during iterative work.
5858

5959

60-
## Build breaking due to out-dated spec lock file
60+
### Build breaking due to out-dated spec lock file
6161

6262
It's a fairly common occurrence for the build to break due to an out of date spec lock file, located at:
6363

@@ -107,15 +107,45 @@ Open a new PR with only the changes necessary to rationalize the guidelines with
107107

108108
We will use the Coding Guidelines Work Items [board](https://github.com/orgs/rustfoundation/projects/1) as a means to break the work down into smaller chunks that can be tackled in a reasonable manner.
109109

110-
## Contribution of existing guidelines
111-
112-
We are very open to receiving contributed coding guidelines in whole or in part and wholly originally contributions based on learnings from past organizational experience using Rust in safety-critical projects.
113-
114110
## Contributing to the coding guidelines
115111

116112
See [CONTRIBUTING.md](CONTRIBUTING.md).
117113

118-
### Have an idea? Want to discuss it?
114+
### Diagram for contribution workflow
115+
116+
```mermaid
117+
flowchart TD
118+
Start(["Start"])
119+
CodingGuidelineIdea["Coding Guideline Idea"]
120+
DiscussOnZulip[/"(Optional)<br>Discuss on Zulip"/]
121+
CodingGuidelineIssue["Coding Guideline Issue"]
122+
CodingGuidelinePR["Coding Guideline <br> Pull Request"]
123+
Main[[main]]
124+
End(["End"])
125+
126+
%% new: small local hop nodes (no self-loops)
127+
IssueReview{{"2: subcommittee member<br>reviews within 14 days<br><br>contributor updates issue"}}
128+
PRReview{{"4: subcommittee members<br>review within 14 days<br><br>contributor discusses on<br>PR as needed"}}
129+
130+
Start -- contributor thinks of idea --> CodingGuidelineIdea
131+
CodingGuidelineIdea -- 0: optionally post on Zulip --> DiscussOnZulip
132+
DiscussOnZulip -- 1: contributor creates <br> coding guideline issue --> CodingGuidelineIssue
133+
134+
%% replace Issue self-loop
135+
CodingGuidelineIssue --> IssueReview --> CodingGuidelineIssue
136+
137+
CodingGuidelineIssue -- 3: subcommittee member <br> assigns label to <br> generate pull request --> CodingGuidelinePR
138+
139+
%% replace PR self-loop
140+
CodingGuidelinePR --> PRReview --> CodingGuidelinePR
141+
142+
CodingGuidelinePR -- 5: contributor applies <br> feedback to coding <br> guideline issue --> CodingGuidelineIssue
143+
CodingGuidelineIssue -- 6: subcomittee member <br> confirms changes; <br> assigns label to <br> regenerate PR --> CodingGuidelinePR
144+
CodingGuidelinePR -- 7: subcommittee member <br> approves, adds <br> to merge queue; <br> gets merged to main --> Main
145+
Main -- process complete --> End
146+
```
147+
148+
### 0. Have an idea for a coding guideline? Want to discuss it?
119149

120150
While not mandatory, sometimes you'd like to check into the feasiblity of a guideline or discuss it with others to ensure it's not overlapping an existing guideline. Feel free to drop by the Safety-Critical Rust Consortium's Zulip stream: [here](https://rust-lang.zulipchat.com/#narrow/channel/445688-safety-critical-consortium). Please open a new topic per coding guideline you'd like to discuss.
121151

0 commit comments

Comments
 (0)