Skip to content

Commit 5eb1019

Browse files
authored
Merge pull request #17 from cloudengine-labs/copilot/add-contributing-pr-and-issue-templates
Add CONTRIBUTING.md, PR template, and issue templates
2 parents bfd2e4e + f82bc98 commit 5eb1019

4 files changed

Lines changed: 236 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug or unexpected behavior in DevOps-OS
4+
title: "[Bug]: "
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Describe the Bug
10+
11+
<!-- A clear and concise description of what the bug is. -->
12+
13+
## Steps to Reproduce
14+
15+
<!-- Steps to reproduce the behaviour: -->
16+
17+
1. Run command / call function `...`
18+
2. Pass arguments `...`
19+
3. See error
20+
21+
## Expected Behavior
22+
23+
<!-- What did you expect to happen? -->
24+
25+
## Actual Behavior
26+
27+
<!-- What actually happened? Include error messages, stack traces, or unexpected output. -->
28+
29+
## Environment
30+
31+
| Detail | Value |
32+
|--------|-------|
33+
| OS | <!-- e.g. Ubuntu 22.04, macOS 14 --> |
34+
| Python version | <!-- e.g. 3.11 --> |
35+
| DevOps-OS version / branch | <!-- e.g. main, v1.2.0 --> |
36+
| Running in Dev Container? | <!-- Yes / No --> |
37+
38+
## Additional Context
39+
40+
<!-- Any other context, logs, or screenshots that may help diagnose the issue. -->
41+
42+
## Checklist
43+
44+
- [ ] I have searched for existing issues before opening this one
45+
- [ ] I can reproduce this issue consistently
46+
- [ ] I am willing to submit a PR to fix this bug
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
name: Feature Request
3+
about: Suggest a new feature or enhancement for DevOps-OS
4+
title: "[Feature]: "
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Summary
10+
11+
<!-- A clear and concise description of the feature you are proposing. -->
12+
13+
## Motivation
14+
15+
<!-- Why is this feature needed? What problem does it solve, or what value does it add? -->
16+
17+
## Proposed Solution
18+
19+
<!-- Describe how you envision this feature working. Include any relevant details about the implementation approach. -->
20+
21+
## Alternatives Considered
22+
23+
<!-- Have you considered any alternative solutions or workarounds? If so, describe them here. -->
24+
25+
## Additional Context
26+
27+
<!-- Add any other context, mockups, examples, or references that support this request. -->
28+
29+
## Checklist
30+
31+
- [ ] I have searched for existing issues / feature requests before opening this one
32+
- [ ] I am willing to contribute a PR to implement this feature
33+
- [ ] I understand that a maintainer will review and assign this issue before work begins

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
## Description
2+
3+
<!-- Provide a clear and concise summary of the changes in this PR. -->
4+
5+
## Related Issue
6+
7+
<!-- Link the issue this PR addresses. Use "Closes #<number>" or "Fixes #<number>" so the issue is automatically closed on merge. -->
8+
9+
Closes #
10+
11+
## Type of Change
12+
13+
<!-- Check all that apply. -->
14+
15+
- [ ] 🐛 Bug fix (non-breaking change that fixes an issue)
16+
- [ ] ✨ New feature (non-breaking change that adds functionality)
17+
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to change)
18+
- [ ] 📚 Documentation update
19+
- [ ] 🔧 Refactor / code cleanup
20+
- [ ] 🧪 Test improvement
21+
22+
## Changes Made
23+
24+
<!-- List the key changes introduced by this PR. -->
25+
26+
-
27+
-
28+
29+
## Testing Done
30+
31+
<!-- Describe the tests you ran to verify your changes. Include commands, test names, or screenshots as appropriate. -->
32+
33+
- [ ] Existing tests pass (`python -m pytest cli/test_cli.py mcp_server/test_server.py tests/test_comprehensive.py -v`)
34+
- [ ] New tests added to cover the changes
35+
- [ ] Manually tested the feature / fix
36+
37+
## Screenshots (if applicable)
38+
39+
<!-- Include any relevant screenshots or output samples. -->
40+
41+
## Checklist
42+
43+
- [ ] My code follows the existing style and conventions of the project
44+
- [ ] I have self-reviewed my code
45+
- [ ] I have added or updated relevant documentation
46+
- [ ] My changes do not introduce new warnings or errors
47+
- [ ] I have linked the related issue above
48+
- [ ] All CI checks are passing

CONTRIBUTING.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# Contributing to DevOps-OS
2+
3+
Thank you for your interest in contributing to **DevOps-OS**! 🚀 We welcome contributions of all kinds — new features, bug fixes, documentation improvements, and more.
4+
5+
---
6+
7+
## 📋 Table of Contents
8+
9+
- [Code of Conduct](#code-of-conduct)
10+
- [Getting Started](#getting-started)
11+
- [Development Workflow](#development-workflow)
12+
- [AI-Assisted Development](#ai-assisted-development)
13+
- [Submitting a Pull Request](#submitting-a-pull-request)
14+
- [PR Review Process](#pr-review-process)
15+
16+
---
17+
18+
## Code of Conduct
19+
20+
Please be respectful and constructive in all interactions. We are committed to providing a welcoming and inclusive environment for everyone.
21+
22+
---
23+
24+
## Getting Started
25+
26+
1. **Fork** the repository and clone your fork locally.
27+
2. Set up your development environment using the provided Dev Container (`.devcontainer/`) or install dependencies manually:
28+
```bash
29+
pip install -r cli/requirements.txt -r mcp_server/requirements.txt
30+
```
31+
3. Run the test suite to make sure everything is working before you start:
32+
```bash
33+
python -m pytest cli/test_cli.py mcp_server/test_server.py tests/test_comprehensive.py -v
34+
```
35+
36+
---
37+
38+
## Development Workflow
39+
40+
We follow a standard, issue-driven development process for all new features and bug fixes:
41+
42+
### 1. Find or Create an Issue
43+
44+
- Browse the [open issues](https://github.com/cloudengine-labs/devops_os/issues) to find something you would like to work on.
45+
- If no issue exists for your idea, **create a new issue** describing the feature or bug clearly.
46+
- If an issue already exists, **leave a comment** expressing your interest in working on it (e.g., *"I'd like to work on this — happy to take it if it's not already assigned."*).
47+
48+
### 2. Get Assigned
49+
50+
- A **maintainer will review your comment** and assign the issue to you, or leave a comment confirming you can self-assign.
51+
- Do **not** start significant work until the issue is assigned to avoid duplicate efforts.
52+
53+
### 3. Work on the Issue
54+
55+
- Create a feature branch from `main`:
56+
```bash
57+
git checkout -b feature/your-feature-name
58+
```
59+
- Make your changes following the coding conventions in the project.
60+
- **Add progress updates** as comments on the issue while you work — this keeps the community informed and lets maintainers provide early feedback.
61+
- Write or update tests to cover your changes.
62+
- Ensure all existing tests continue to pass.
63+
64+
### 4. Submit a Pull Request
65+
66+
- Push your branch and open a PR against `main`.
67+
- Use the **[PR template](.github/PULL_REQUEST_TEMPLATE.md)** — fill in all required sections including a description of changes, linked issue, testing done, and checklist items.
68+
- Keep PRs focused: one feature or bug fix per PR.
69+
70+
### 5. Resolve Review Comments
71+
72+
- A maintainer will review your PR and may leave comments or request changes.
73+
- Address all review comments and push the fixes to the same branch.
74+
- Once all review comments are resolved and the CI checks pass, a maintainer will merge the PR.
75+
76+
---
77+
78+
## AI-Assisted Development
79+
80+
DevOps-OS **welcomes and encourages** the use of AI coding tools to accelerate development. Specifically:
81+
82+
- You are free to use **AI coding assistants in agent mode** (e.g., GitHub Copilot Agent, Cursor, Cline, or similar tools) to help scaffold, write, and refactor code.
83+
- AI-assisted contributions are held to the **same quality and review standards** as all other contributions. You are responsible for reviewing, testing, and understanding any code generated by an AI before submitting it.
84+
- When using agent mode to add a new feature, ensure the agent follows the project's structure and conventions as described in this document and in the existing codebase.
85+
- Always run the test suite after AI-generated changes to verify correctness.
86+
87+
---
88+
89+
## Submitting a Pull Request
90+
91+
When opening a PR, please:
92+
93+
1. **Link the related issue** using `Closes #<issue-number>` or `Fixes #<issue-number>` in the PR description.
94+
2. **Fill out the PR template** completely — incomplete PRs may be closed without review.
95+
3. **Ensure CI is passing** before requesting a review.
96+
4. **Keep the diff small and focused** — large, unfocused PRs are harder to review and more likely to be rejected or delayed.
97+
98+
---
99+
100+
## PR Review Process
101+
102+
- Every PR is reviewed by at least one maintainer before merging.
103+
- Maintainers aim to provide initial feedback within a few business days.
104+
- PRs that pass review and CI checks will be merged into `main` by a maintainer.
105+
- Do not merge your own PRs unless you are a maintainer explicitly approving your own work.
106+
107+
---
108+
109+
Thank you for helping make DevOps-OS better! 🙏

0 commit comments

Comments
 (0)