Skip to content

Commit b9c6f5c

Browse files
Merge pull request #21 from dreadnode/ads/eng-1422-engineering-excellence-add-pr-decorators-labels-templates-to
chore: add engineering support
2 parents 6cb3ebb + 99f9c84 commit b9c6f5c

20 files changed

+1091
-0
lines changed

.github/CODE_OF_CONDUCT.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to make participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
- Using welcoming and inclusive language
18+
- Being respectful of differing viewpoints and experiences
19+
- Gracefully accepting constructive criticism
20+
- Focusing on what is best for the community
21+
- Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
- The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
- Trolling, insulting/derogatory comments, and personal or political attacks
28+
- Public or private harassment
29+
- Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
- Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies within all project spaces, and it also applies when
49+
an individual is representing the project or its community in public spaces.
50+
Examples of representing a project or community include using an official
51+
project e-mail address, posting via an official social media account, or acting
52+
as an appointed representative at an online or offline event. Representation of
53+
a project may be further defined and clarified by project maintainers.
54+
55+
This Code of Conduct also applies outside the project spaces when there is a
56+
reasonable belief that an individual's behavior may have a negative impact on
57+
the project or its community.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported by contacting the project team at <[email protected]>. All
63+
complaints will be reviewed and investigated and will result in a response that
64+
is deemed necessary and appropriate to the circumstances. The project team is
65+
obligated to maintain confidentiality with regard to the reporter of an incident.
66+
Further details of specific enforcement policies may be posted separately.
67+
68+
Project maintainers who do not follow or enforce the Code of Conduct in good
69+
faith may face temporary or permanent repercussions as determined by other
70+
members of the project's leadership.
71+
72+
## Attribution
73+
74+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
75+
version 1.4, available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>
76+
77+
[homepage]: https://www.contributor-covenant.org
78+
79+
For answers to common questions about this code of conduct, see
80+
<https://www.contributor-covenant.org/faq>

.github/CONTRIBUTING.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Contributing to this project
2+
3+
We want to make contributing to this project as easy and transparent as
4+
possible.
5+
6+
## Pull Request Guidelines
7+
8+
We actively welcome your pull requests.
9+
10+
1. Fork the repo and create your branch from `main`.
11+
2. If you've added code that should be tested, add tests.
12+
3. If you've changed APIs, update the documentation.
13+
4. Ensure the test suite passes.
14+
5. Make sure your code lints.
15+
6. If you haven't already, complete the Contributor License Agreement ("CLA").
16+
17+
### PR Description Format
18+
19+
We use a standardized format for pull request descriptions to ensure
20+
consistency and clarity:
21+
22+
1. **Title**: Use a clear, concise title that summarizes the changes
23+
2. **Key Changes**: List the most important updates
24+
3. **Added**: Document new features or files
25+
4. **Changed**: Highlight modifications to existing code
26+
5. **Removed**: Note any deletions or removals
27+
28+
Example:
29+
30+
```markdown
31+
### Add device configuration automation
32+
33+
**Key Changes:**
34+
35+
- Implement dynamic device configuration
36+
- Add automated setup scripts
37+
- Update documentation
38+
39+
**Added:**
40+
41+
- New device setup module
42+
- Configuration templates
43+
- Setup guide
44+
45+
**Changed:**
46+
47+
- Refactored device initialization
48+
- Updated configuration format
49+
- Modified setup process
50+
51+
**Removed:**
52+
53+
- Legacy device configs
54+
- Deprecated setup scripts
55+
```
56+
57+
## Contributor License Agreement ("CLA")
58+
59+
In order to accept your pull request, we need you to submit a CLA. You only need
60+
to do this once to work on any of Facebook's open source projects.
61+
62+
Complete your CLA here: <https://code.facebook.com/cla>
63+
64+
## Issues
65+
66+
We use GitHub issues to track public bugs. Please ensure your description is
67+
clear and has sufficient instructions to be able to reproduce the issue.
68+
69+
## License
70+
71+
By contributing to this project, you agree that your contributions will be licensed
72+
under the LICENSE file in the root directory of this source tree.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
name: "🚨 Bug Report"
3+
description: File a bug report
4+
title: "🚨 [BUG] - <title>"
5+
labels: ["bug", "triage"]
6+
assignees:
7+
- octocat
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: |
12+
Thanks for taking the time to fill out this bug report!
13+
14+
- type: textarea
15+
id: what-happened
16+
attributes:
17+
label: What happened?
18+
description: Also tell us, what did you expect to happen?
19+
placeholder: |
20+
Steps to reproduce the behavior:
21+
1.
22+
2.
23+
3.
24+
25+
Expected behavior:
26+
...
27+
28+
Actual behavior:
29+
...
30+
validations:
31+
required: true
32+
33+
- type: textarea
34+
id: possible-fix
35+
attributes:
36+
label: Any suggestions for fixing this bug?
37+
description: If you have an idea to fix this bug, we'd love to hear it!
38+
validations:
39+
required: false
40+
41+
- type: textarea
42+
id: logs
43+
attributes:
44+
label: Relevant log output
45+
description: Please copy and paste any relevant log output.
46+
render: shell
47+
48+
- type: textarea
49+
id: environment
50+
attributes:
51+
label: Details about your environment
52+
description: Please provide the following information about your environment.
53+
placeholder: |
54+
## Your Environment
55+
- Go Version:
56+
- Operating System:
57+
- Browser (if applicable):
58+
- Relevant env vars
59+
60+
Tell us what you see!
61+
validations:
62+
required: false

.github/ISSUE_TEMPLATE/config.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
blank_issues_enabled: false
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
name: "💡 Feature Request"
3+
description: Create a new ticket for a new feature request
4+
title: "💡 [REQUEST] - <title>"
5+
labels: ["question"]
6+
body:
7+
- type: textarea
8+
id: implementation_pr
9+
attributes:
10+
label: "Implementation PR"
11+
description: Associated pull request
12+
placeholder: "# Pull Request ID"
13+
validations:
14+
required: false
15+
- type: textarea
16+
id: reference_issues
17+
attributes:
18+
label: "Reference Issues"
19+
description: Related issues
20+
placeholder: "# Issue ID(s)"
21+
validations:
22+
required: false
23+
- type: textarea
24+
id: summary
25+
attributes:
26+
label: "Summary"
27+
description: Provide a brief explanation of the feature
28+
placeholder: Describe your feature request
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: basic_example
33+
attributes:
34+
label: "Basic Example"
35+
description: Provide some basic examples of your feature
36+
placeholder: A few specific details about your feature request
37+
validations:
38+
required: true
39+
- type: textarea
40+
id: drawbacks
41+
attributes:
42+
label: "Drawbacks"
43+
description: What are the drawbacks/impacts of your feature request?
44+
placeholder: Identify the drawbacks and impacts while remaining neutral on your feature request
45+
validations:
46+
required: true
47+
- type: textarea
48+
id: unresolved_question
49+
attributes:
50+
label: "Unresolved questions"
51+
description: What questions remain unresolved?
52+
placeholder: Identify any unresolved issues
53+
validations:
54+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# [Title of Your PR]
2+
3+
**Key Changes:**
4+
5+
- [ ] List major changes and core updates
6+
- [ ] Keep each line under 80 characters
7+
- [ ] Focus on the "what" and "why"
8+
9+
**Added:**
10+
11+
- [ ] New features/functionality
12+
- [ ] New files/configurations
13+
- [ ] New dependencies
14+
15+
**Changed:**
16+
17+
- [ ] Updates to existing code
18+
- [ ] Configuration changes
19+
- [ ] Dependency updates
20+
21+
**Removed:**
22+
23+
- [ ] Deleted files/code
24+
- [ ] Removed dependencies
25+
- [ ] Cleaned up configurations
26+
27+
---
28+
29+
<!-- Delete any sections that are not applicable -->
30+
<!-- Add screenshots or code examples if relevant -->

.github/labeler.yaml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
# Area Labels
3+
area/docs:
4+
- changed-files:
5+
- any-glob-to-any-file: "docs/**/*"
6+
7+
area/examples:
8+
- changed-files:
9+
- any-glob-to-any-file: "examples/**/*"
10+
11+
area/github:
12+
- changed-files:
13+
- any-glob-to-any-file: ".github/**/*"
14+
15+
area/pre-commit:
16+
- changed-files:
17+
- any-glob-to-any-file: ".pre-commit-config.yaml"
18+
- any-glob-to-any-file: ".hooks/**/*"
19+
20+
area/python:
21+
- changed-files:
22+
- any-glob-to-any-file: "pyproject.toml"
23+
- any-glob-to-any-file: "requirements.txt"
24+
- any-glob-to-any-file: "*.py"
25+
26+
area/security:
27+
- changed-files:
28+
- any-glob-to-any-file: "SECURITY.md"
29+
- any-glob-to-any-file: "secrets.baseline"
30+
31+
area/taskfiles:
32+
- changed-files:
33+
- any-glob-to-any-file: "Taskfile.yaml"
34+
35+
area/tests:
36+
- changed-files:
37+
- any-glob-to-any-file: "tests/**/*"
38+
39+
area/workspace:
40+
- changed-files:
41+
- any-glob-to-any-file: "python.code-workspace"
42+
43+
# Development Labels
44+
area/dev:
45+
- changed-files:
46+
- any-glob-to-any-file: "dev/**/*"
47+
48+
# Semantic Type Labels
49+
type/digest:
50+
- head-branch: ["^renovate/"]
51+
- head-branch: ["^deps/"]
52+
53+
type/patch:
54+
- any: ["title:/^(?:Fix|Patch|Update)/"]
55+
56+
type/minor:
57+
- any: ["title:/^(?:Add|Feature|Improve)/"]
58+
59+
type/major:
60+
- any: ["title:/^(?:BREAKING)/"]
61+
62+
type/break:
63+
- any: ["body:/BREAKING CHANGE:/"]
64+
65+
# Documentation Labels
66+
type/docs:
67+
- changed-files:
68+
- any-glob-to-any-file: "docs/**/*"
69+
- any-glob-to-any-file: "*.md"
70+
71+
# Core Files Labels
72+
type/core:
73+
- changed-files:
74+
- any-glob-to-any-file: "CODEOWNERS"
75+
- any-glob-to-any-file: "LICENSE"
76+
- any-glob-to-any-file: "README.md"

0 commit comments

Comments
 (0)