Thank you for your interest in contributing! This document provides guidelines and information for contributors.
- Fork the repository
- Clone your fork:
git clone https://github.com/<your-username>/iics-cli.git - Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run tests:
make test - Run linter:
make lint - Commit your changes and push to your fork
- Open a Pull Request against the
devbranch
- Go 1.25 or later
- Make
- golangci-lint (for linting)
make buildmake testmake lint- Follow standard Go conventions and Effective Go
- Run
gofmtandgoimportsbefore committing - Add tests for new functionality
- Keep the
cmd/layer thin - business logic belongs ininternal/client/ - Use
internal/output/for formatting; commands should not print directly
- Target the
devbranch (notmain) - Ensure all tests pass and the linter is clean
- Update documentation if your change affects CLI behavior
- Keep PRs focused - one feature or fix per PR
- Write clear commit messages describing the "why"
- Use GitHub Issues to report bugs or request features
- Include the
iicsversion (iics --version) and your OS - For bugs, include steps to reproduce and expected vs. actual behavior
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.