Contributions are always welcome; however, it's helpful to read this document in its entirety before submitting a Pull Request, reporting a bug, or submitting a feature request.
- Getting Started
- Reporting a bug
- Security disclosure
- Feature requests
- Opening a pull request
- Code of Conduct
- License
- Contributor license agreement
Torus' goal is to make it simple for any developers to securely store, share, and organize application secrets and configuration without having to understand cryptography, private key management, or other setup and configure complicated on-premise solutions.
We're always looking for feature ideas and contributers! Please, don't hesitate to open an issue or pull request, we'd love to work with you to better Torus.
To get started as a contributor you'll need to have the following installed and configured:
- The latest version of Go
- An appropriately configured
$GOPATH
(e.g.~/go
) - A clone of the
torus-cli
repository at$GOPATH/src/github.com/manifoldco/torus-cli
- The
make
utility available on your system
Once done, you can install all of the required bootstrapping utilies required to build and test Torus using the make bootstrap
command inside your torus-cli
checkout.
Now, you can build the torus binary by running make binary
, the tests and linters with make ci
, and just the test with make test
.
Looking to contribute to Torus but not sure what to tackle? We've labelled all of the ready issues with help wanted. For those just looking to get their feet wet we've labelled bite sized issues with good first issue.
Have an idea but an issue doesn't exist or it's not labelled with help wanted
? No problem, feel free to kick off the conversation by suggesting a possible solution or by opening a pull request!
If you ever need help, don't hesitate to ask!
Think you've found a bug? Let us know by opening an issue in our tracker and applying the "bug" label!
Security is a top priority for us. If you have encountered a security issue please responsibly disclose it by following our security disclosure document.
Make sure you're on the latest version, your bug may have already been fixed! You can consult our change log for high-level notes on recent versions.
Finally, search our issue tracker for your problem, someone may have already reported it. If so, please add your unique situation as a comment, any and all information helps us resolve it as quickly as possible!
- Clear, reproducible steps to encounter the bug
- Current system state from
torus debug
- Relevant logs from
~/.torus/daemon.log
If you've encountered a bug please ensure to assign the bug
label!
Torus is ever-evolving, and that's thanks to user feedback. If you have an idea for a feature, let us know by opening an issue or pull request!
- How the tool operates today.
- Why the current functionality is problematic
- Use cases for the new functionality
- If possible a proposal (or pull request :)) for how the problem could be solved to kick off discussing solutions!
To contribute, fork torus-cli
, commit your changes, and open a pull request.
You may be asked to make changes to your submission during the review process, we'll work with you on figuring out how to get your pull request ready to be merged and if any changes need to be made.
- Run the tests using
make test
and linters usingmake lint
- Review the manual QA guide
- Test your change thoroughly with unit tests where appropriate
- If you're adding a new command or modifying the behaviour of a command please ensure to update the relevant documentation in the
docs
folder. - Don't forget to add a relevant line to the CHANGELOG.md!
All pull requests are run against our continuous integration suite on Travis CI through a docker container. You can build this docker container locally via make docker
and then run the full CI suite inside the container using make docker-test
.
- Supply examples of command behaviour (command output, daemon logs, etc)
- Explain why your particular changes were made the way they are
- Reference the issue your request closes in the body of the PR with
Closes #
All community members are expected to adhere to our code of conduct.
Manifold's torus-cli is released under the BSD 3-Clause License.
For legal purposes all contributors must sign a contributor license agreement, either for an individual or corporation, before a pull request can be accepted.
You will be prompted to sign the agreement by CLA Assistant (bot) when you open a Pull Request for the first time.