Skip to content

Commit 173ff37

Browse files
authored
Repo Hygiene (#20)
* Added code of conduct * Added contributing guide * Added license * Added security policy * Added GHA bug/feature templates * Updated pre-commit referenced versions
1 parent a5b3821 commit 173ff37

File tree

8 files changed

+535
-2
lines changed

8 files changed

+535
-2
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
name: Bug Report
2+
description: Report a bug or an unexpected behavior
3+
labels: ["bug", "needs-triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to file a bug report!
9+
Please read the [Contributing Guidelines](CONTRIBUTING.md) before submitting.
10+
- type: textarea
11+
id: description
12+
attributes:
13+
label: Description
14+
description: A clear and concise description of what the bug is.
15+
placeholder: Describe the bug here.
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: reproduction-steps
20+
attributes:
21+
label: Steps to Reproduce
22+
description: |
23+
Provide clear steps to reproduce the behavior.
24+
Please include code snippets, configurations, or detailed commands if relevant.
25+
placeholder: |
26+
1. Go to '...'
27+
2. Run cmd '....'
28+
3. View file '....'
29+
4. See error
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: expected-behavior
34+
attributes:
35+
label: Expected Behavior
36+
description: A clear and concise description of what you expected to happen.
37+
placeholder: What did you expect to happen?
38+
validations:
39+
required: true
40+
- type: textarea
41+
id: actual-behavior
42+
attributes:
43+
label: Actual Behavior
44+
description: A clear and concise description of what actually happened.
45+
placeholder: What actually happened?
46+
validations:
47+
required: true
48+
- type: textarea
49+
id: environment
50+
attributes:
51+
label: Environment
52+
description: Provide details about your environment.
53+
value: |
54+
- **OS:** [e.g. macOS, Windows, Linux] (and version)
55+
- **mcpd Version:** [e.g. v0.0.2] (mcpd --version)
56+
- **mcpd Python SDK Version:** [e.g. 0.0.1]
57+
- **Other relevant libraries/versions:**
58+
render: markdown
59+
validations:
60+
required: false
61+
- type: textarea
62+
id: logs
63+
attributes:
64+
label: Relevant Log Output
65+
description: |
66+
If applicable, paste any relevant log and terminal output, error messages, or screenshots.
67+
Please wrap code blocks in triple backticks (```).
68+
render: shell
69+
validations:
70+
required: false
71+
- type: checkboxes
72+
id: self-checklist
73+
attributes:
74+
label: Self-Checklist
75+
options:
76+
- label: I have read the [Contributing Guidelines](CONTRIBUTING.md).
77+
required: true
78+
- label: I have searched the existing issues and found no duplicate.
79+
required: true
80+
- label: I have provided a clear and concise description of the bug.
81+
required: true
82+
- label: I have provided clear steps to reproduce the bug.
83+
required: true
84+
- label: I have provided details about my environment.
85+
required: true

.github/ISSUE_TEMPLATE/config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Report a security vulnerability
4+
url: https://github.com/mozilla-ai/mcpd-sdk-python/security/policy
5+
about: Please report security vulnerabilities responsibly.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Feature Request
2+
description: Suggest an idea or enhancement for the project.
3+
labels: ["enhancement", "needs-triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for suggesting an idea!
9+
Please read the [Contributing Guidelines](CONTRIBUTING.md) before submitting.
10+
- type: textarea
11+
id: problem-description
12+
attributes:
13+
label: Is your feature request related to a problem? Please describe.
14+
description: A clear and concise description of the problem you're trying to solve. e.g. "I'm always frustrated when [...]"
15+
placeholder: Describe the problem.
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: solution-description
20+
attributes:
21+
label: Describe the solution you'd like
22+
description: A clear and concise description of what you want to happen.
23+
placeholder: Describe the solution.
24+
validations:
25+
required: true
26+
- type: textarea
27+
id: alternatives
28+
attributes:
29+
label: Describe alternatives you've considered
30+
description: A clear and concise description of any alternative solutions or features you've considered.
31+
placeholder: Describe alternatives.
32+
validations:
33+
required: false
34+
- type: textarea
35+
id: additional-context
36+
attributes:
37+
label: Additional Context
38+
description: Add any other context or screenshots about the feature request here.
39+
placeholder: Any additional information.
40+
validations:
41+
required: false
42+
- type: checkboxes
43+
id: self-checklist
44+
attributes:
45+
label: Self-Checklist
46+
options:
47+
- label: I have read the [Contributing Guidelines](CONTRIBUTING.md).
48+
required: true
49+
- label: I have searched the existing issues and found no duplicate.
50+
required: true
51+
- label: I have provided a clear and concise description of the problem.
52+
required: true
53+
- label: I have provided a clear and concise description of the proposed solution.
54+
required: true

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ repos:
1313

1414
- repo: https://github.com/astral-sh/ruff-pre-commit
1515
# Ruff version.
16-
rev: v0.11.6
16+
rev: "v0.12.4"
1717
hooks:
1818
# Run the linter.
1919
- id: ruff
@@ -24,7 +24,7 @@ repos:
2424

2525
- repo: https://github.com/astral-sh/uv-pre-commit
2626
# uv version.
27-
rev: 0.6.14
27+
rev: 0.8.0
2828
hooks:
2929
# Update the uv lockfile
3030
- id: uv-lock

CODE_OF_CONDUCT.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant 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 making 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 both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the team at mozilla.ai. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

CONTRIBUTING.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# Contributing to Mozilla.ai `mcpd-sdk-python`
2+
3+
Thank you for your interest in contributing to the `mcpd` project! This project supports the mozilla.ai goal of empowering developers to integrate AI capabilities into their projects using open-source tools and models.
4+
5+
We welcome all kinds of contributions, from improving customization, to extending capabilities, to fixing bugs. Whether you’re an experienced developer or just starting out, your support is highly appreciated.
6+
7+
By contributing to this project, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md).
8+
9+
---
10+
11+
## **How to Contribute**
12+
13+
### **Customize for your use-case or Extend It** 🔧
14+
- Fork this repo and customize it for your own use-case or even extend its capabilities.
15+
- We'd love to see what you've built!
16+
17+
### **Browse Existing Issues** 🔍
18+
- Check the Issues page to see if there are any tasks you'd like to tackle.
19+
- Look for issues labeled **`good first issue`** if you're new to the project—they're a great place to start.
20+
21+
### **Report Issues** 🐛
22+
- Found a bug? Open a Bug Report by clicking on 'New Issue'
23+
- Provide as much detail as possible, including the steps to reproduce the issue and expected vs. actual behavior
24+
25+
### **Suggest Features** 🚀
26+
- Have an idea for improving the project? Open a Feature Request by clicking on 'New Issue'
27+
- Share why the feature is important and any alternative solutions you’ve considered.
28+
29+
### **Submit Pull Requests** 💻
30+
- Fork the repository and create a new branch for your changes.
31+
- Install [pre-commit](https://pre-commit.com/) to ensure the code is formatted and standardized correctly, by running `uv sync --group lint` and then `pre-commit install`.
32+
- Ensure your branch is up-to-date with the main branch before submitting the PR
33+
- Please follow the PR template, adding as much detail as possible, including how to test the changes
34+
35+
---
36+
37+
### **Guidelines for Contributions**
38+
39+
**Coding Standards**
40+
- Follow PEP 8 for Python formatting.
41+
- Use clear variable and function names and add comments to improve readability.
42+
43+
**Testing**
44+
- Test changes locally to ensure functionality.
45+
- Install the package using development dependencies before testing: `uv sync --group dev`
46+
47+
**Documentation**
48+
- Update docs for changes to functionality and maintain consistency with existing docs.
49+
50+
---
51+
52+
## Security Vulnerabilities
53+
54+
If you discover a security vulnerability, please **DO NOT** open a public issue. Report it responsibly by following our [Security Policy](SECURITY.md).
55+
56+
---
57+
58+
## License
59+
60+
By contributing, you agree that your contributions will be licensed as described in [LICENSE](LICENSE.md).

0 commit comments

Comments
 (0)