1- ## Contribution Guidelines
1+ You'll find here general guidelines to contribute to this project.
2+ They mostly correspond to standard practices for open source repositories.
23
3- You'll find below general guidelines, which mostly correspond to standard practices for open sourced repositories .
4+ We have tried to keep things as simple as possible .
45
5- > ** TL;DR**
6- >
7- > If you're already an experienced go developer on github, then you should just feel at home with us
6+ > [ !NOTE]
7+ > If you're an experienced go developer on github, then you should just feel at home with us
88> and you may well skip the rest of this document.
99>
10- > You'll essentially find the usual guideline for a go library project on github.
10+ > You'll essentially apply the usual guidelines for a go library project on github.
11+
12+ These guidelines are common to all libraries published on github by the ` go-openapi ` organization,
13+ so you'll feel at home with any of our projects.
1114
12- These guidelines are general to all libraries published on github by the ` go-openapi ` organization .
15+ You'll find more detailed (or repo-specific) instructions in the [ maintainer's docs ] [ maintainers-doc ] .
1316
14- You'll find more detailed (or repo-specific) instructions in the [ maintainer's docs ] ( ../docs ) .
17+ [ maintainers-doc ] : ../docs/MAINTAINERS.md
1518
16- ## How can I contribute?
19+ ## How can I contribute
1720
18- There are many ways in which you can contribute. Here are a few ideas:
21+ There are many ways in which you can contribute, not just code . Here are a few ideas:
1922
20- * Reporting Issues / Bugs
21- * Suggesting Improvements
22- * Code
23- * bug fixes and new features that are within the main project scope
24- * improving test coverage
25- * addressing code quality issues
26- * Documentation
27- * Art work that makes the project look great
23+ - Reporting issues or bugs
24+ - Suggesting improvements
25+ - Documentation
26+ - Art work that makes the project look great
27+ - Code
28+ - proposing bug fixes and new features that are within the main project scope
29+ - improving test coverage
30+ - addressing code quality issues
2831
2932## Questions & issues
3033
31- ### Asking questions
34+ ### Asking a question
35+
36+ You may inquire anything about this library by reporting a "Question" issue on github.
3237
33- You may inquire about anything about this library by reporting a "Question" issue on github.
38+ You may also join our discord server where you may discuss issues or requests.
39+
40+ [ ![ Discord Server] [ discord-badge ]] [ discord-url ]
41+
42+ [ discord-badge ] : https://img.shields.io/discord/1446918742398341256?logo=discord&label=discord&color=blue
43+ [ discord-url ] : https://discord.gg/twZ9BwT3
3444
3545### Reporting issues
3646
3747Reporting a problem with our libraries _ is_ a valuable contribution.
38-
3948You can do this on the github issues page of this repository.
4049
4150Please be as specific as possible when describing your issue.
4251
4352Whenever relevant, please provide information about your environment (go version, OS).
4453
45- Adding a code snippet to reproduce the issue is great, and as a big time saver for maintainers.
54+ Adding a code snippet to reproduce the issue is great, and a big time saver for maintainers.
4655
4756### Triaging issues
4857
@@ -62,14 +71,16 @@ process them as fast as possible.
6271Not sure if that typo is worth a pull request? Do it! We will appreciate it.
6372
6473If your pull request is not accepted on the first try, don't be discouraged!
65- If there's a problem with the implementation, hopefully you received feedback on what to improve.
74+ If there's a problem with the implementation, hopefully you've received feedback on what to improve.
6675
6776If you have a lot of ideas or a lot of issues to solve, try to refrain a bit and post focused
6877pull requests.
69- Think that they must be reviewed by a maintainer and it is easy to lost track of things on big PRs.
78+ Think that they must be reviewed by a maintainer and it is easy to lose track of things on big PRs.
7079
7180We're trying very hard to keep the go-openapi packages lean and focused.
72- These packages constitute a toolkit: it won't do everything for everybody out of the box,
81+
82+ Together, these packages constitute a toolkit for go developers:
83+ it won't do everything for everybody out of the box,
7384but everybody can use it to do just about everything related to OpenAPI.
7485
7586This means that we might decide against incorporating a new feature.
@@ -80,9 +91,11 @@ However, there might be a way to implement that feature *on top of* our librarie
8091
8192You just need a ` go ` compiler to be installed. No special tools are needed to work with our libraries.
8293
83- The go compiler version required is always the old stable (latest minor go version - 1).
94+ The minimal go compiler version required is always the old stable (latest minor go version - 1).
95+
96+ Our libraries are designed and tested to work on ` Linux ` , ` MacOS ` and ` Windows ` .
8497
85- If you're already used to work with ` go ` you should already have everything in place.
98+ If you're used to work with ` go ` you should already have everything in place.
8699
87100Although not required, you'll be certainly more productive with a local installation of ` golangci-lint ` ,
88101the meta-linter our CI uses.
@@ -104,12 +117,12 @@ github will propose to open a pull request on the original repository.
104117
105118Typically you'd follow some common naming conventions:
106119
107- - if it's a bugfix branch, name it ` fix/XXX-something ` where XXX is the number of the
120+ - if it's a bug fixing branch, name it ` fix/XXX-something ` where XXX is the number of the
108121 issue on github
109122- if it's a feature branch, create an enhancement issue to announce your
110123 intentions, and name it ` feature/XXX-something ` where XXX is the number of the issue.
111124
112- > NOTE: we don't enforce naming conventions on branches: it's your fork after all.
125+ NOTE: we don't enforce naming conventions on branches: it's your fork after all.
113126
114127#### Tests
115128
@@ -121,24 +134,24 @@ Take a look at existing tests for inspiration, and run the full test suite on yo
121134before submitting a pull request.
122135
123136Our CI measures test coverage and the test coverage of every patch.
137+
124138Although not a blocking step - because there are so many special cases -
125139this is an indicator that maintainers consider when approving a PR.
126-
127- Please try your best to cover about 80% of your patch.
140+ Please try your best to cover at least 80% of your patch.
128141
129142#### Code style
130143
131144You may read our stance on code style [ there] ( ../docs/STYLE.md ) .
132145
133146#### Documentation
134147
135- Don't forget to update the documentation when creating or modifying features .
148+ Don't forget to update the documentation when creating or modifying a feature .
136149
137150Most documentation for this library is directly found in code as comments for godoc.
138151
139- The documentation for the go-openapi packages is published on the public go docs site:
152+ The documentation for this go-openapi package is published on [ the public go docs site] [ go-doc ] .
140153
141- < https://pkg.go.dev/github.com/go-openapi/jsonpointer >
154+ ---
142155
143156Check your documentation changes for clarity, concision, and correctness.
144157
@@ -150,11 +163,14 @@ go install golang.org/x/pkgsite/cmd/pkgsite@latest
150163```
151164
152165Then run on the repository folder:
166+
153167``` sh
154168pkgsite .
155169```
156170
157- This wil run a godoc server locally where you may see the documentation generated from your local repository.
171+ This will run a godoc server locally where you may see the documentation generated from your local repository.
172+
173+ [ go-doc ] : https://pkg.go.dev/github.com/go-openapi/jsonreference
158174
159175#### Commit messages
160176
@@ -164,7 +180,7 @@ reference to all the issues that they address.
164180Pull requests must not contain commits from other users or branches.
165181
166182Commit messages are not required to follow the "conventional commit" rule, but it's certainly a good
167- thing to follow this guidelinea (e.g. "fix: blah blah ", "ci: did this", "feat: did that" ...).
183+ thing to follow that convention (e.g. "fix: fixed panic in XYZ ", "ci: did this", "feat: did that" ...).
168184
169185The title in your commit message is used directly to produce our release notes: try to keep them neat.
170186
@@ -186,7 +202,7 @@ Be sure to post a comment after pushing. The new commits will show up in the pul
186202request automatically, but the reviewers will not be notified unless you comment.
187203
188204Before the pull request is merged,
189- ** make sure that you squash your commits into logical units of work**
205+ ** make sure that you've squashed your commits into logical units of work**
190206using ` git rebase -i ` and ` git push -f ` .
191207
192208After every commit the test suite should be passing.
@@ -195,6 +211,8 @@ Include documentation changes in the same commit so that a revert would remove a
195211
196212#### Sign your work
197213
214+ Software is developed by real people.
215+
198216The sign-off is a simple line at the end of your commit message,
199217which certifies that you wrote it or otherwise have the right to
200218pass it on as an open-source patch.
@@ -204,11 +222,30 @@ PGP-signed commit are greatly appreciated but not required.
204222
205223The rules are pretty simple:
206224
207- * read our [ DCO] ( ./DCO.md ) (from [ developercertificate.org] ( http://developercertificate.org/ ) )
208- * if you agree with these terms, then you just add a line to every git commit message
225+ - read our [ DCO] [ dco-doc ] (from [ developercertificate.org] [ dco-source ] )
226+ - if you agree with these terms, then you just add a line to every git commit message
209227
210- Signed-off-by: Joe Smith < joe@gmail.com >
228+ ```
229+ Signed-off-by: Joe Smith <joe@gmail.com>
230+ ```
211231
212232using your real name (sorry, no pseudonyms or anonymous contributions.)
213233
214- You can add the sign off when creating the git commit via ` git commit -s ` .
234+ You can add the sign-off when creating the git commit via ` git commit -s ` .
235+
236+ [ dco-doc ] : ./DCO.md
237+ [ dco-source ] : https://developercertificate.org
238+
239+ ## Code contributions by AI agents
240+
241+ Our agentic friends are welcome to contribute!
242+
243+ We only have a few demands to keep-up with human maintainers.
244+
245+ 1 . Issues and PRs written or posted by agents should always mention the original (human) poster for reference
246+ 2 . We don't accept PRs attributed to agents. We don't want commits signed like "author: @claude .code".
247+ Agents or bots may coauthor commits, though.
248+ 3 . Security vulnerability reports by agents should always be reported privately and mention the original (human) poster
249+ (see also [ Security Policy] [ security-doc ] ).
250+
251+ [ security-doc ] : ../SECURITY.md
0 commit comments