Thanks for your interest in contributing! This guide will help you get started.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/aidevops.git - Create a branch:
git checkout -b feature/your-feature - Make your changes
- Run tests:
./setup.sh(installs locally for testing) - Commit with conventional commits:
git commit -m "feat: add new feature" - Push and open a PR
# Clone and install
git clone https://github.com/marcusquinn/aidevops.git
cd aidevops
./setup.sh
# Run quality checks before committing
.agents/scripts/linters-local.shWe use Conventional Commits:
feat:- New featurefix:- Bug fixdocs:- Documentation onlyrefactor:- Code change that neither fixes a bug nor adds a featurechore:- Maintenance tasks
- Shell scripts: ShellCheck compliant, use
local var="$1"pattern - Markdown: Follow
.markdownlint.jsonrules - Quality target: SonarCloud A-grade
aidevops is an opinionated framework. Architectural decisions — what the project integrates with, supports, tests against, or bundles — are made by maintainers.
What we welcome from everyone:
- Bug reports (especially destructive behaviour — deleting files, breaking configs)
- Feature requests (we'll assess fit and priority)
- Bug fixes and documentation improvements via PR
What requires maintainer approval before implementation:
- Adding integrations with third-party tools or services
- Changing default behaviours or configuration structure
- Adding new dependencies
- Modifying the agent framework architecture
Third-party compatibility: aidevops aims not to break other tools in your environment (we won't delete your files or overwrite your configs without opt-in). However, we don't guarantee compatibility with specific third-party tools and don't maintain test coverage for them. If you encounter a clash, report it — we'll fix destructive behaviour on our side, but we won't add integration code or test suites for external projects.
If you're unsure whether your contribution is in scope, open an issue first to discuss before investing time in a PR.
Open an issue or start a discussion. We're happy to help!