Skip to content

Commit 09efa14

Browse files
Merge pull request #379 from rustprooflabs/contributing-updates
Contributing Guidelines
2 parents 775b1ac + c938438 commit 09efa14

File tree

4 files changed

+231
-23
lines changed

4 files changed

+231
-23
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
11
---
22
name: Bug report
3-
about: Create a report to help us improve
3+
about: Something is not working as expected
44
title: ''
55
labels: ''
66
assignees: ''
7-
87
---
98

10-
---
11-
name: Report problems with the software
12-
about: You found a (possible) bug in PgOSM Flex
13-
title: ''
14-
labels: ''
15-
assignees: ''
16-
17-
---
189

1910
## What version of PgOSM Flex are you using?
2011

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Pull request
3+
about: Create a pull request to propose a change (bug fix, new feature, documentation, etc.) to PGOSM Flex.
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
## Does this relate to an existing Issue?
11+
12+
<!-- Yes/No. Provide a link to the related issue if relevant. -->
13+
14+
## Describe the purpose of this change
15+
16+
<!-- Does this fix a bug? Does this add a new feature? Improving documentation? -->
17+
18+
19+
## Functional code?
20+
21+
<!-- Does the change as expected work? -->
22+
23+
<!-- Did you run `make` successfully? -->
24+
25+
## Additional Contributors
26+
27+
<!-- Are there additional contributors to this change beyond the code committer?
28+
If so, tag users and/or otherwise give credit where credit is due.
29+
-->
30+
31+

docs/src/code-of-conduct.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ When using the PgOSM Flex spaces you should act in the spirit of the values. If
6363

6464
The PgOSM Flex maintainers are responsible for handling conduct-related issues. Their goal is to de-escalate conflicts and try to resolve issues to the satisfaction of all parties.
6565

66-
If you encounter a conduct-related issue, you should report it to the maintainers by sending them [all an email](mailto:[email protected]). In the event that you wish to make a complaint against a maintainer, you may instead contact the other maintainers.
66+
If you encounter a conduct-related issue, you should report it to the maintainers by sending them [an email](mailto:[email protected]). In the event that you wish to make a complaint against a maintainer, you may instead contact the other maintainers.
6767

6868
**Note that the goal of the Code of Conduct and the maintainers is to resolve conflicts in the most harmonious way possible.** We hope that in most cases issues may be resolved through polite discussion and mutual agreement. Bans and other forceful measures are to be employed only as a last resort.
6969

docs/src/contributing.md

Lines changed: 198 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,208 @@
11
# Contributing
22

3-
We encourage pull requests (PRs) from everyone.
3+
Thank you for your interest in contributing to PgOSM Flex!
44

5-
Fork the project into your own repo, create a topic branch there and then make
6-
one or more pull requests back to the main repository targeting the `dev` branch.
7-
Your PR can then be reviewed and discussed.
5+
All types of contributions are encouraged and valued. This page outlines
6+
different ways you can contribute with details about how this project handles them.
7+
Please make sure to read the relevant sections below before making your contribution.
8+
This makes it much easier for maintainers and smooths out the experience for
9+
everyone involved.
810

9-
Helpful: Run `make` in the project root directory and ensure tests pass. If tests are not passing and you need help resolving, please mention this in your PR.
11+
The PgOSM Flex community looks forward to your contributions. 🎉
12+
13+
14+
> If you like the project, but do not have time to contribute directly, that is fine.
15+
> There are other easy ways to support the project and show your appreciation,
16+
> which we would also be very happy about:
17+
> - Star the [project on GitHub](https://github.com/rustprooflabs/pgosm-flex).
18+
> - Blog or otherwise post about it on the social media of your choice.
19+
> - Refer to this project in your project's readme.
20+
> - Tell your friends / colleagues.
21+
> - Mention the project at local meetups.
22+
23+
24+
25+
## Code of Conduct
26+
27+
This project and everyone participating in it is governed by the
28+
[Code of Conduct](code-of-conduct.md).
29+
By participating, you are expected to uphold this code.
30+
Please report unacceptable behavior to [the maintainers](mailto:[email protected]).
31+
32+
## Ways to Contribute
33+
34+
The PgOSM Flex project is managed on GitHub. GitHub provides multiple ways to
35+
interact with and contribute to this project, including
36+
[discussions](https://github.com/rustprooflabs/pgosm-flex/discussions/),
37+
[issues](https://github.com/rustprooflabs/pgosm-flex/issues),
38+
and [pull requests (PRs)](https://github.com/rustprooflabs/pgosm-flex/pulls).
39+
A GitHub account is required for many interactions with the community, such as
40+
creating issues, leaving comments, and many other actions available through GitHub.
41+
The following sections explain various ways to use these GitHub features to
42+
contribute and otherwise interact with the community.
43+
44+
### Discussions: Questions, Ideas, Show & Tell
45+
46+
Before asking a question, search for existing
47+
[discussions](https://github.com/rustprooflabs/pgosm-flex/discussions)
48+
and [issues](https://github.com/rustprooflabs/pgosm-flex/issues)
49+
that might address your question.
50+
If you find a suitable item yet still need clarification,
51+
write your question as a comment on the existing item to keep the discussion in
52+
a consolidated location.
53+
It is also advisable to search this documentation and the internet for answers first.
54+
55+
If your question is not already being addressed, start a new
56+
[Discussion](https://github.com/rustprooflabs/pgosm-flex/discussions/new/choose)
57+
with as much context and detail as possible.
58+
GitHub provides discussion types for
59+
[Q & A](https://github.com/rustprooflabs/pgosm-flex/discussions/new?category=q-a),
60+
[Discussions](https://github.com/rustprooflabs/pgosm-flex/discussions/new?category=ideas),
61+
[Show and Tell](https://github.com/rustprooflabs/pgosm-flex/discussions/new?category=show-and-tell)
62+
and more. If a question turns into the discovery of a bug or feature request,
63+
Discussions can be converted into issues.
64+
65+
66+
#### List Your Project
67+
68+
The PgOSM Flex project encourages you to [list your project](/projects.md)
69+
using PgOSM Flex. The easiest way to start this is to open a
70+
[Show and Tell](https://github.com/rustprooflabs/pgosm-flex/discussions/new?category=show-and-tell)
71+
discussion. Explain how PgOSM Flex is used in your project, if you have a blog post
72+
or other easy ways to show this, make sure to add links!
73+
74+
### Issues: Enhancements and Bugs
75+
76+
This section guides you through submitting GitHub issues for PgOSM Flex. Issues
77+
are used to suggest completely new features, minor improvements, and report bugs.
78+
79+
Following these guidelines will help maintainers and the community understand
80+
your suggestion and make PgOSM Flex as useful and bug-free as possible.
81+
82+
83+
#### Before Submitting an Issue
84+
85+
- Make sure that you are using the latest version.
86+
- Read the [documentation](/index.html) to see if your topic is already covered
87+
- Search [existing isues](https://github.com/rustprooflabs/pgosm-flex/issues) to see if there is already an open issue on the topic. If there is an existing issue, add a comment there instead of opening a new issue.
88+
- Find out whether your idea fits with the scope and [aims of the project](index.html#project-goals). It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.
89+
90+
91+
#### Feature Request
92+
93+
Feature requests are tracked as
94+
[GitHub issues](https://github.com/rustprooflabs/pgosm-flex/issues).
95+
96+
- Use a **clear and descriptive title** for the issue to identify the suggestion.
97+
- Provide a **step-by-step description of the suggested enhancement** in as many details as possible.
98+
- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives do not work for you.
99+
- **Explain why this enhancement would be useful** to PgOSM Flex users.
100+
101+
102+
103+
#### Bug Report
104+
105+
A bug report indicates PgOSM Flex is not working as advertised or expected.
106+
Use the [bug report template](https://github.com/rustprooflabs/pgosm-flex/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=) to submit your issue. Fill in
107+
detailed information for as many of the sections as possible.
108+
109+
The bug report template includes a series of headers
110+
(defined as lines starting with `#` symbols) with comments prompting you for input.
111+
Use the "Write" and "Preview" tabs in the GitHub interface to edit and preview your issue.
112+
113+
114+
- Make sure that you are using the latest version.
115+
- Make sure that you have read the [documentation](/index.html).
116+
- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions.
117+
- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [issues](https://github.com/rustprooflabs/pgosm-flex/issues).
118+
119+
120+
#### Security Advisory
121+
122+
Security related concerns should be submitted using GitHub's
123+
[Security Advisory](https://github.com/rustprooflabs/pgosm-flex/security/advisories/new)
124+
feature. This provides a secure method to communicate with project maintainers.
125+
126+
RustProof Labs makes security a top priority and will address any security concerns
127+
as quickly as possible.
128+
129+
130+
131+
#### Once it's submitted
132+
133+
After you have submitted an issue, the project team will label the issue accordingly.
134+
Maintainers will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for more details.
135+
136+
137+
138+
### Improving Documentation
139+
140+
See the `README.md` in the [`pgosm-flex/docs` directory](https://github.com/rustprooflabs/pgosm-flex/tree/main/docs).
141+
142+
143+
144+
145+
## Submitting Pull Requests
146+
147+
This project uses Pull Requests (PRs) like so many other open source projects.
148+
Fork the project into your own repository, create a feature branch there,
149+
and make one or more pull requests back to the main PgOSM Flex repository
150+
targeting the `dev` branch. Your PR can then be reviewed and discussed.
151+
152+
> Helpful: Run `make` in the project root directory and ensure all tests pass.
153+
> If tests are not passing and you need help resolving the problem, please mention this in your PR.
10154
11155

12156
## Adding new feature layers
13157

158+
Feature [Layers](layersets.html#layers) define the data loaded by PgOSM Flex into
159+
the target Postgres / PostGIS database.
160+
161+
162+
14163
Checklist for adding new feature layers:
15164

16-
* Create `flex-config/style/<feature>.lua`
17-
* Create `flex-config/sql/<feature>.sql`
18-
* Update `flex-config/run-no-tags.lua`
19-
* Update `flex-config/run-no-tags.sql`
20-
* Update `db/qc/features_not_in_run_all.sql`
21-
* Add relevant `tests/sql/<feature_queries>.sql`
22-
* Add relevant `tests/expected/<feature_queries>.out`
165+
* [ ] Create `flex-config/style/<feature>.lua`
166+
* [ ] Create `flex-config/sql/<feature>.sql`
167+
* [ ] Update `flex-config/run.lua`
168+
* [ ] Update `flex-config/run.sql`
169+
* [ ] Update `db/qc/features_not_in_run_all.sql`
170+
* [ ] Add relevant `tests/sql/<feature_queries>.sql`
171+
* [ ] Add relevant `tests/expected/<feature_queries>.out`
172+
173+
174+
175+
## Style guides
176+
177+
178+
### Written content in GitHub
179+
180+
181+
See [GitHub's Markdown documentation](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)
182+
for more on writing with formatting in GitHub.
183+
184+
* Use headers to outline sections when using more than two or three paragraphs.
185+
* Format `code` when using with inline text.
186+
* Use code blocks for multi-line code examples.
187+
188+
189+
190+
### Commit Messages
191+
192+
Brief, descriptive commit messages are appreciated. Lengthy commit messages
193+
will likely never be reviewed. Detailed explanations and discussions are appropriate
194+
in GitHub Pull Request, Issues, and/or discussions.
195+
196+
197+
198+
## Legal Notice
199+
200+
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
201+
202+
203+
204+
205+
## Attribution
206+
207+
This guide is loosely based on the
208+
[example **contributing.md** site](https://contributing.md/).

0 commit comments

Comments
 (0)