Thank you for your interest in contributing! This project is a demonstration of YAML-driven infrastructure deployment patterns, and we welcome improvements and feedback.
- Found a bug? Open an issue
- Have a feature request? Describe your use case
- Documentation unclear? Let us know what's confusing
- Fix bugs or typos
- Add new infrastructure modules
- Improve documentation
- Enhance security or error handling
- How are you using ActionSpec?
- What works well? What doesn't?
- Share your custom infrastructure patterns
- Git
- Bash (Git Bash on Windows, native on macOS/Linux)
- OpenTofu or Terraform
- AWS CLI
- Claude Code installed
Windows developers: Use Git Bash or WSL2 for development and testing.
-
Clone and test
git clone https://github.com/trakrf/action-spec cd action-spec -
Validate infrastructure code
# Run OpenTofu plan to validate changes tofu plan # Or with Terraform terraform plan
See OpenTofu docs for setup and usage.
-
Test in isolated AWS environment
- Use a separate AWS account for testing
- Enable AWS budget alarms
- Review all infrastructure changes before applying
- Clean up resources after testing
- Infrastructure code: Follow HashiCorp Style Guide
- Shell scripts: Follow Google Shell Style Guide
- Markdown: Use consistent formatting, clear headings
- YAML: Use consistent indentation (2 spaces)
Follow Conventional Commits:
feat: add S3 bucket module with encryption
fix: correct IAM policy for Lambda execution
docs: clarify AWS prerequisites
chore: update OpenTofu version
-
Fork the repository
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Keep changes focused and atomic
- Update documentation as needed
- Add examples if introducing new features
-
Test thoroughly
- Run
tofu planto validate syntax - Test on both Unix and Windows if applicable
- Verify documentation changes render correctly
- Check for exposed secrets or credentials
- Run
-
Submit PR
- Provide clear description of changes
- Link to related issues
- Explain the "why" behind your changes
- Include before/after examples for infrastructure changes
-
Respond to feedback
- Address review comments
- Be open to suggestions
- Ask questions if anything is unclear
When contributing:
- Never commit real AWS credentials
- Use example files only (.tfvars.example, .env.local.example)
- Review all infrastructure changes before submitting
- Report security issues via GitHub Security Advisories
- Follow AWS security best practices
Documentation is critical for this project:
- Clarity: Use simple, direct language
- Examples: Show real-world infrastructure patterns
- Completeness: Cover edge cases and security considerations
- Accuracy: Keep in sync with code changes
- Open a discussion in GitHub Issues
- Check existing issues for similar questions
- Be patient - this is a demo/portfolio project maintained by volunteers
- Be respectful and constructive
- Focus on the work, not the person
- Welcome newcomers and different perspectives
- Assume good intentions
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for helping make ActionSpec better!