Thanks for your interest in contributing to sccfm-devkit! Here are a few general guidelines on contributing and
reporting bugs that we ask you to review. Following these guidelines helps to communicate that you respect the time of
the contributors managing and developing this open source project. In return, they should reciprocate that respect in
addressing your issue, assessing changes, and helping you finalize your pull requests. In that spirit of mutual respect,
we endeavor to review incoming issues and pull requests within 10 days, and will close any lingering issues or pull
requests after 60 days of inactivity.
Please note that all of your interactions in the project are subject to our Code of Conduct. This includes creation of issues or pull requests, commenting on issues or pull requests, and extends to all interactions in any real-time space e.g., Slack, Discord, etc.
Before reporting a new issue, please ensure that the issue was not already reported or fixed by searching through our issues list
When creating a new issue, please be sure to include a title and clear description, as much relevant information as possible, and, if possible, a test case.
If you discover a security bug, please do not report it through GitHub. Instead, please see security procedures in SECURITY.md.
Before sending a new pull request, take a look at existing pull requests and issues to see if the proposed change or fix has been discussed in the past, or if the change was already implemented but not yet released.
We expect new pull requests to include tests for any affected behavior, and, as we follow semantic versioning, we may reserve breaking changes until the next major version release.
-
Run
cisco_sccfm_scripts/setup_environment.shto install dependencies and create the virtualenv. -
Install direnv for automatic environment activation:
brew install direnv echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc source ~/.zshrc direnv allow
-
Set up your SCCFM credentials:
cp .env.example .env # Edit .env with your API token
Now whenever you cd into the project, the virtualenv activates and env vars load automatically.
We enforce conventional commits via Commitizen. Please:
- Ensure the virtualenv is active (happens automatically with direnv, or run
source .venv/bin/activate). - Install the
pre-commithooks (pre-commit install && pre-commit install --hook-type commit-msg). - Use
./cisco_sccfm_scripts/cz.sh commit(runspre-commitvisibly, then Commitizen) orpoetry run cz committo create commits, or ensure your commit messages follow the Conventional Commits spec (e.g.,feat: add inventory manager list pagination). - CI will fail if commit messages do not comply.
We welcome anyone that wants to contribute to this CLI tool to triage and reply to open issues to help troubleshoot and fix existing bugs. Here is what you can do:
- Help ensure that existing issues follows the recommendations from the Reporting Issues section, providing feedback to the issue's author on what might be missing.
- Review existing pull requests, and testing patches against real infrastructure.
- Write a test, or add a missing test case to an existing test.
Thanks again for your interest on contributing to this CLI!
❤️