Thank you for your interest in contributing! This document provides guidelines and instructions.
Be respectful, constructive, and professional. We're building tools to help people, not to show off.
Found a bug? Open an issue with:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- Environment details (Clawdbot version, OS, kubectl version)
- Execution plan (if applicable)
Have an idea? Start a discussion with:
- Use case description
- Why it's needed
- Proposed approach
- Alternatives considered
- Fix typos
- Clarify confusing sections
- Add examples
- Translate to other languages
Submit a PR with your improvements.
Want to contribute a new DevOps skill?
Requirements:
- Solves a real problem
- Follows safety model
- Includes documentation
- Has example execution plans
- Tested in real scenarios
Process:
- Fork the repo
- Create
skills/your-skill/ - Add SKILL.md with documentation
- Create example plans in
examples/ - Test thoroughly
- Submit PR
Want to enhance the execution engine itself?
Requirements:
- Maintains backward compatibility
- Doesn't compromise safety
- Includes tests
- Updates documentation
Process:
- Discuss in an issue first
- Fork and create a branch
- Implement changes
- Add tests
- Update docs
- Submit PR
- Node.js v18+
- Clawdbot v1.0.0+
- kubectl (for K8s skills)
- Git
# Clone your fork
git clone https://github.com/YOUR_USERNAME/devops-execution-engine
cd devops-execution-engine
# Install as local skill
clawdbot skills:install .
# Make changes
# Test changes
# Commit and push# Test plan generation
node -e "
const PlanGenerator = require('./core/plan-generator');
const gen = new PlanGenerator();
// Test code here
"
# Test in Clawdbot
clawdbot chat
# Then manually test the skill# Create skill directory
mkdir -p skills/my-new-skill
# Create SKILL.md
cat > skills/my-new-skill/SKILL.md << 'EOF'
# my-new-skill
Brief description of what this skill does.
## Use Cases
- Use case 1
- Use case 2
## Commands
Example commands that trigger this skill.
## Safety
Risk classification for typical operations.
## Examples
Detailed usage examples.
EOF
# Create example plan
mkdir -p examples
touch examples/my-new-skill-example.yaml- Test your changes thoroughly
- Update documentation if behavior changes
- Check code style (we're not super strict, but be consistent)
- Write clear commit messages
## Description
Brief description of changes.
## Motivation
Why is this change needed?
## Testing
How did you test this?
## Screenshots (if applicable)
Include execution plan examples, etc.
## Checklist
- [ ] Code tested locally
- [ ] Documentation updated
- [ ] Examples added/updated
- [ ] No breaking changes (or documented if required)- Maintainer reviews within 3-5 days
- Feedback provided
- Changes requested (if needed)
- Approval and merge
- Lowercase, hyphenated:
my-skill-name - Descriptive but concise
- Avoid vendor-specific unless necessary
skills/my-skill/
├── SKILL.md # Required: Documentation
├── README.md # Optional: Additional context
├── scripts/ # Optional: Helper scripts
│ └── helper.sh
└── templates/ # Optional: Plan templates
└── template.yaml
Every skill MUST have:
- Clear description
- Use cases
- Example commands
- Risk classification
- Usage examples
Every skill MUST:
- Follow the Plan → Approve → Execute workflow
- Classify operations by risk (LOW/MEDIUM/HIGH/CRITICAL)
- Include rollback procedures
- Provide clear error messages
- Use modern ES6+ syntax
- Async/await over callbacks
- Clear variable names
- Comments for complex logic
- 2-space indentation
- Consistent formatting
- Comments for non-obvious sections
- Use headers appropriately
- Code blocks with language hints
- Links for references
We use Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes
(For maintainers)
- Update version in SKILL.md
- Update CHANGELOG.md
- Tag release:
git tag v1.2.0 - Push tags:
git push --tags - Create GitHub release
- Announce in Discord
- GitHub Discussions - General questions
- GitHub Issues - Bug reports
- Discord - https://discord.com/invite/clawd
- Email - maintainers@devops-execution-engine.io (if we set it up)
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.
Thank you for contributing to making DevOps safer and more efficient! 🎉