Issues are very welcome! If we tag it "wontfix" we will strive to explain why.
Patches are indeed also welcome, in prioritized order:
- Patches for existing issues
- Bugfixes
- More tests, based on
unittestanddjango.test.TestCaseplease - More integrations (glue services, ticket plugins, notification destinations,
API clients, especially in other languages..)
- For integrations in Python "all" (ha!) you need is a package on PyPI and a patch with updated info about your integration for the docs. We'll check that the package installs and do a quick security check.
- For integrations in other languages you just need a patch with updated info about your integration for the docs.
- Docs fixes
- Fixes that makes the generated OpenAPI better
- Handy tricks in the admin as well as management commands
We're not so keen on:
- Changes to the database schema that can not be considered a bugfix. There will be discussions and gnashing of teeth!
- Changes to the stable API
- Lots of information about the world being stored in the same database as Argus. Argus isn't an inventory manager for instance. If you need that, build something on top of Argus instead, using Argus as a dependency.
- Please set your name and email address in
gitand GitHub before your first commit if you haven't already:- How to set name and email address in git (local copy), RTD
- How to set email address in GitHub (local copy), RTD
- We use pre-commit for linting. We lint the same stuff in CI so make sure your stuff is linted before you ask for a review.
- Add yourself to the bottom of the CONTRIBUTORS.md-file if this is your first patch.
- We use a template for the message in PRs, it's good enough that we use it
ourselves. It helps us review the code faster!
- If there are visible changes to the frontend, add screenshots of before and after.
- See the docs for
- How to write a changelog, and when (local copy), RTD
- What we want to see in a commit message (local copy), RTD
To contribute code to Argus, you need to sign our contributor license agreement, based on The Free Software Foundation's Fiduciary License Agreement 2.0.
We use CLA assistant to streamline the process. When you create a pull request against the Argus repository and have not previously signed our agreement, the assistant will automatically post a comment on your pull request with instructions on how to sign it digitally using your GitHub account.
The full agreement text can be read at the CLA Assistant site.