Skip to content

Commit 31db155

Browse files
Simplify README (#4048)
Simplify the README.md, add CONTRIBUTING.md, and add more detailed developer-focused documenation in docs.
1 parent dbdd056 commit 31db155

5 files changed

+530
-398
lines changed

CONTRIBUTING.md

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Contributing to Fleet Server
2+
3+
## Got Questions?
4+
5+
Have a problem you want Fleet Server to solve for you?
6+
7+
* You can ask a question in the [forum](https://discuss.elastic.co/c/elastic-stack/elastic-agent) and use the [`fleet` tag](https://discuss.elastic.co/tag/fleet).
8+
* You are welcome to join Elastic Stack Community slack (https://elasticstack.slack.com) and ask for help on the #stack-beats-agent-fleet channel.
9+
10+
## Have an Idea or Feature Request?
11+
12+
* File an issue on [GitHub](https://github.com/elastic/fleet-server/issues). Please remember that GitHub is used only for bugs and feature requests. If you have a general question, the [forum](https://discuss.elastic.co/c/elastic-stack/elastic-agent) or Elastic Stack Community slack (https://elasticstack.slack.com) is the best place to ask.
13+
14+
## Something Not Working? Found a Bug?
15+
16+
If you think you found a bug, it probably is a bug. Fill it in [GitHub](https://github.com/elastic/fleet-server/issues)
17+
18+
## Found a Security Issue?
19+
20+
If you've found a security issue, before submitting anything via a PR, please
21+
get in touch with our security team [here](https://www.elastic.co/community/security).
22+
23+
# Pull Request Guidelines
24+
25+
The following exists as a way to set expectations for yourself and for the review process. We *want* to merge fixes and features, so let's describe how we can achieve this:
26+
27+
## Goals
28+
29+
* To constantly make forward progress on PRs
30+
31+
* To have constructive discussions on PRs
32+
33+
## Overarching Guiding Principles
34+
35+
Keep these in mind as both authors and reviewers of PRs:
36+
37+
* Have empathy in both directions (reviewer <--> reviewee/author)
38+
* Progress over perfection and personal preferences
39+
* Authors and reviewers should proactively address questions of pacing in order to reach an acceptable balance between meeting the author's expected timeline for merging the PR and the reviewer's ability to keep up with revisions to the PR.
40+
41+
## As a reviewee (i.e. author) of a PR:
42+
43+
* I must put up atomic PRs. This helps the reviewer of the PR do a high quality review fast. "Atomic" here means two things:
44+
- The PR must contain related changes and leave out unrelated changes (e.g. refactorings, etc. that could be their own PR instead).
45+
- If the PR could be broken up into two or more PRs either "vertically" (by separating concerns logically) or horizontally (by sharding the PR into a series of PRs --- usually works well with mass refactoring or cleanup type PRs), it should. A set of such related PRs can be tracked and given context in a meta issue.
46+
47+
* I must strive to please the reviewer(s). In other words, bias towards taking the reviewers suggestions rather than getting into a protracted argument. This helps move the PR forward. A convenient "escape hatch" to use might be to file a new issue for a follow up discussion/PR. If you find yourself getting into a drawn out argument, ask yourself: is this a good use of our time?
48+
49+
## As a reviewer of a PR:
50+
51+
* I must first focus on whether the PR works functionally -- i.e. does it solve the problem (bug, feature, etc.) it sets out to solve.
52+
53+
* Then I should ask myself: can I understand what the code in this PR is doing and, more importantly, why it's doing whatever it's doing, within 1 or 2 passes over the PR?
54+
55+
* If yes, approve the PR!
56+
57+
* If no, ask for clarifications on the PR. This will usually lead to changes in the code such as renaming of variables/functions or extracting of functions or simply adding "why" inline comments. But first ask the author for clarifications before assuming any intent on their part.
58+
59+
* I must not focus on personal preferences or nitpicks. If I understand the code in the PR but simply would've implemented the same solution a different way that's great but it is not feedback that belongs in the PR. Such feedback only serves to slow down progress for little to no gain.

0 commit comments

Comments
 (0)