Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Contributing to DreadGOAD

Thanks for your interest in contributing! DreadGOAD is a fork of
[GOAD](https://github.com/Orange-Cyberdefense/GOAD) and we welcome
contributions that improve the labs, tooling, and documentation.

## Getting Started

1. Fork the repository
2. Create a feature branch from `main`
3. Make your changes
4. Submit a pull request

## What We're Looking For

- New vulnerability scenarios or attack paths
- Improvements to existing Ansible roles
- Bug fixes in provisioning or the Go CLI
- New provider support or extension modules
- Documentation improvements
- Test coverage

## Guidelines

### Code

- Follow the existing code style in each language (Go, Python, Ansible/YAML)
- Ansible roles should include a `README.md` describing the role's purpose and variables
- Test your changes against at least one provider before submitting

### Ansible Roles

- Place new roles under `ansible/roles/`
- Use the collection namespace `dreadnode.goad` for module references
- Include default variables in `defaults/main.yml`

### Lab Configurations

- Lab definitions live under `ad/<LAB_NAME>/`
- Use `ad/TEMPLATE/` as a starting point for new labs
- Document the lab's topology, users, and intended vulnerabilities in its `README.md`

### Commits

- Write clear, descriptive commit messages
- Keep commits focused -- one logical change per commit

### Pull Requests

- Describe what changed and why
- Reference any related issues
- Include testing details (which provider, which lab)

## Reporting Issues

Open an issue on GitHub with:

- What you expected to happen
- What actually happened
- Steps to reproduce
- Provider and OS details

## License

By contributing, you agree that your contributions will be licensed under the
GPL-3.0-or-later license.
Loading
Loading