Skip to content

Commit 0a2f201

Browse files
authored
Merge pull request #154 from miharp/feat/modernize-contributing
Modernize CONTRIBUTING.md for OpenVox
2 parents dbc628c + e2704a6 commit 0a2f201

1 file changed

Lines changed: 49 additions & 62 deletions

File tree

CONTRIBUTING.md

Lines changed: 49 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,75 @@
1+
# Contributing to OpenVox Documentation
12

2-
We welcome community contributions to the documentation! You can help by reporting errors and typos, or by contributing new or updated sections. This topic describes the two main ways to contribute to the docs, and provides guidance on writing good documentation.
3+
We welcome community contributions to the OpenVox documentation! You can help by reporting errors and typos, or by contributing new or updated content.
34

4-
## Two ways to improve the Puppet documentation
5+
## Reporting issues
56

6-
### Filing a ticket
7+
File a [GitHub issue](https://github.com/OpenVoxProject/openvox-docs/issues) to report errors, inaccuracies, or gaps in the documentation. Include:
78

8-
The Puppet documentation is managed like a software project, and you can file bug reports and feature requests in its
9-
[issue tracker](https://tickets.puppetlabs.com/browse/DOCUMENT). You'll need to create a [JIRA account](https://tickets.puppetlabs.com/secure/Signup!default.jspa) if you don't already have one.
9+
- The URL of the affected page
10+
- A description of what is wrong or missing
11+
- Your best understanding of what the documentation _should_ say
1012

11-
In your ticket, provide as much information as possible about what's missing, what's inaccurate, or what's outdated. Include URLs to the affected pages. Describe your best understanding of what the documentation _should_ say. We'll begin looking into the problem, and you can follow our progress in the ticket.
13+
## Contributing changes
1214

13-
### Emailing us
15+
Contributions are made via GitHub pull requests.
1416

15-
If you spot a typo or other minor error and don't want to go through the overhead of filing a ticket or editing the documentation, you can report it by email to <docs@puppet.com>.
17+
1. [Fork the repository](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project) and create a branch from `master`
18+
2. Make your changes (see [Previewing locally](#previewing-locally) below)
19+
3. Commit with a GPG signature and DCO sign-off: `git commit -S -s`
20+
4. Open a pull request against `master`
21+
5. Ensure CI is passing and your branch is up to date with `master` before marking ready for review
1622

23+
All commits must be:
1724

18-
## Puppet documentation guidelines
25+
- **GPG-signed** (`-S`): configure a signing key with `git config user.signingkey YOUR_KEY_ID` and `git config commit.gpgsign true`
26+
- **DCO signed-off** (`-s`): certifies your contribution under the [Developer Certificate of Origin](https://developercertificate.org/)
1927

20-
If you'd like to help contribute edits or new topics to the documentation, use these guidelines to create your content and then attach it when you file a ticket, either in the body of the ticket or as a separate markdown or text file.
28+
The `Signed-off-by` trailer must match your Git identity:
2129

22-
### Writing new topics from scratch
30+
```text
31+
Signed-off-by: Your Name <your@email.com>
32+
```
2333

24-
Each topic file should cover a single subject area. If the Puppet docs already have topics that discuss this area, modify those existing topics rather than creating a new one.
34+
## Previewing locally
2535

26-
If you're writing a new topic, start with an overview:
36+
Ruby 3.2 or later is required. With [rbenv](https://github.com/rbenv/rbenv) or [rvm](https://rvm.io/) installed:
2737

28-
- Provide definitions and descriptions that introduce the subject and place it within the context of the rest of Puppet.
29-
- Provide diagrams if they help clarify relationships and structures.
30-
- Your goal is to help people solve problems and get things done. Avoid too much background information.
38+
```bash
39+
bundle install
40+
bundle exec jekyll serve
41+
```
3142

32-
Next, describe things that the person *does*:
43+
The site is available at `http://localhost:4000`. Navigation changes require updating the matching file in `_data/nav/`.
3344

34-
- Create a section for each major task that a person does. These should describe how to get results people want, not just things the tools require them to do.
35-
- List prerequisites, if any.
36-
- Use a numbered list to list the actions the person does to accomplish the task.
37-
- Finish by stating what the outcome is, and what the person might do next.
38-
- Provide code or command examples that show what to do for common scenarios.
39-
- If there are multiple ways of doing something, describe only one: the most straight-forward way for the given context.
40-
- Use screen captures minimally (ideally not at all), and only to illustrate things that are otherwise impractical to describe.
41-
- Avoid mixing lengthy conceptual descriptions in with task steps. Put those in your overview section instead.
45+
## Writing guidelines
4246

43-
For reference information for a command line tool or an API, follow the layout patterns in similar existing Puppet documentation. If this is lengthy, split it into its own Markdown file.
47+
### Writing and editing pages
4448

45-
Provide links to related Puppet documentation topics, or other resources.
46-
47-
### Updating existing documentation topics
48-
49-
Sometimes our docs are missing useful information that you can provide:
50-
51-
- Basic-level concepts the original author took for granted, but are helpful for new people
52-
- Missing overviews, steps, or links
53-
- Missing prerequisites for tasks
54-
- Clarifying definitions for terms that Puppet is using differently than other technologies (for example, "class")
55-
- Helpful code or command line examples
56-
- Troubleshooting tips
49+
- Prefer editing existing pages over creating new ones
50+
- Each page should cover a single subject area
51+
- Focus on helping people solve problems and get things done; avoid excessive background
52+
- Use numbered lists for sequential steps; state prerequisites upfront and the outcome at the end
53+
- Provide command or code examples for common scenarios
54+
- Link to related documentation
5755

5856
### Tone
5957

60-
- Strive to be friendly and authoritative.
61-
- Use simple, direct language. Avoid passive voice and implications.
62-
- Be consise, but not terse.
63-
- Use second-person almost always: "Open the file in your favorite text editor."
64-
- Use inclusive, gender-neutral language.
65-
- Avoid patronizing language, often indicated by words like _clearly_, _actually_, or _obviously_.
66-
- Be honest but not negative about our product or competitors.
67-
68-
### Grammar, idiom, and spelling
69-
70-
- Metaphors, analogies, and certain turns of phrase might not translate into languages or cultures other than your own. Stick to comparisons that are relatively innocuous and universal.
71-
- Almost always, follow Associated Press (AP) Style and choose [Webster's dictionary](http://www.merriam-webster.com/) spelling (American): _color_, _specialize_.
72-
- Use the serial comma. In a list with three or more items, include a comma after the second-last item, before the conjunction: "... is supported on Unix, Linux, and Windows."
73-
74-
### Headings
58+
- Be friendly and authoritative
59+
- Use simple, direct language; avoid passive voice
60+
- Be concise, but not terse
61+
- Use second person: "Open the file in your editor"
62+
- Use inclusive, gender-neutral language
63+
- Avoid patronizing words like _clearly_, _actually_, or _obviously_
7564

76-
Use headings to increase the scanability of your content, and to make separate sections for conceptual information, each task, and reference information.
65+
### Grammar and spelling
7766

78-
- Nest H3s (markdown: `### `) inside H2s (`## `). Nest H4s (`#### `) inside H3s.
79-
- For conceptual information, use a noun phrase that accurately describes the content (for example, "Defined resource types").
80-
- For task section headings, use a verb phrase that indicates the goal (for example, "Deploying your code"), but also differentiates it from other tasks (so maybe, "Deploying your code to a test environment").
67+
- Follow the [Google developer documentation style guide](https://developers.google.com/style) for general conventions
68+
- Use American English spelling: _color_, _specialize_
69+
- Use the serial comma: "... supported on Unix, Linux, and Windows"
70+
- Avoid idioms or metaphors that may not translate across languages and cultures
8171

8272
### Formatting
8373

84-
- For file names and directories, use `monospace`.
85-
- When citing text that appears in the GUI, use **bold**.
86-
- For commands and code examples, use `monospace`. Short commands can be included as part of the paragraph. Longer examples or code should be set in a separate paragraph, enclosed within three tildes (`~~~`).
87-
- For user input on the command line, use `monospace`. For user input on a GUI, use _italics_.
88-
- To indicate text in code that should be replaced, use angle-brackets and all-caps (and, if in a code example, monospace): `<TEST_HOSTNAME>`
74+
- File names and paths: `monospace`
75+
- Commands and code: `monospace`; short commands inline, longer blocks in fenced code blocks with a language identifier (`bash`, `yaml`, `text`, etc.)

0 commit comments

Comments
 (0)