Contributing to secretctl
Thank you for your interest in contributing to secretctl! This project is open source and welcomes contributions of all kinds.
Ways to Contribute
Report Bugs
Found a bug? Please open an issue with:
- A clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Go version, secretctl version)
Suggest Features
Have an idea for a new feature? Open an issue describing:
- The use case you're trying to solve
- How the feature would work
- Any alternatives you've considered
Submit Code
Ready to contribute code? See the Development Setup guide to get started.
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes with tests
- Run
go test ./...andgolangci-lint run - Submit a pull request
Improve Documentation
Documentation improvements are always welcome:
- Fix typos or clarify confusing sections
- Add examples or use cases
- Translate documentation
Code of Conduct
- Be respectful and constructive
- Focus on the issue, not the person
- Help others learn and grow
Getting Started
- Development Setup - Set up your development environment
- Architecture Overview - Understand the system design
- GitHub Issues - Find issues to work on
Pull Request Guidelines
Before Submitting
- Run all tests:
go test ./... - Run linter:
golangci-lint run - Update documentation if needed
- Add tests for new functionality
PR Description
Include:
- What the change does
- Why it's needed
- How to test it
- Related issue numbers
Review Process
- Maintainers will review your PR
- Address any feedback
- Once approved, maintainers will merge
License
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.