github.com/Axway/agent-sdk@v1.1.101/CONTRIBUTING.md (about) 1 # Contributing 2 3 Welcome to the Amplify Agents SDK. Contributions are welcome from anyone. All work on this project happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process. 4 5 # Prerequisites 6 7 Before submitting code to this project you must first sign the Axway Contributors License Agreement (CLA). 8 9 # Semantic Versioning 10 11 The Amplify Agents SDK follow semantic versioning. We release patch versions for critical bugfixes, minor versions for new features or non-essential changes, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version so that our users learn about the upcoming changes and migrate their code in advance. 12 13 Every significant change is documented in the changelog file. 14 15 # Branch Organization 16 17 Submit all changes directly to the main branch. We don’t use separate branches for development or for upcoming releases. 18 19 If you are merging a breaking change to main, then a new major release must be made. 20 21 Patch and minor releases should be made for all other bug and feature enhancements that do not introduce a breaking change. 22 23 # Features, Enhancements & Bugs 24 25 We use GitHub Issues for all of our feature requests, enhancements, and bugs. 26 27 ## Where to Find Known Issues 28 29 If you are experiencing an issue you can check our GitHub Issues. All issues related to known bugs will be labeled as 'bug'. We keep a close eye on this and try to make it clear when we have an internal fix in progress. 30 31 ## Reporting New Issues 32 33 Before filing a new task, try to make sure your problem does not already exist by looking through the known issues. If you are experiencing a problem that you think is not documented, create an issue and attach the 'bug' label. 34 35 Before fixing a bug we need to reproduce and confirm it. We require that you provide a reproducible scenario. Having a minimal reproducible scenario gives us important information without going back and forth to you with additional questions. 36 37 Submit a feature request [here](https://github.com/Axway/agent-sdk/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=) 38 39 Report a bug [here](https://github.com/Axway/agent-sdk/issues/new?assignees=&labels=bug&template=bug_report.md&title=) 40 41 ## Security Issues 42 43 If you have encountered a security vulnerability, then create an issue and attach the 'security' label. 44 45 The Axway security team and associated development organizations will use reasonable efforts to: 46 47 * Respond promptly in acknowledging the receipt of your vulnerability report 48 * Work with you to understand the scope and severity of the vulnerability 49 * Provide an estimated time frame for addressing the vulnerability 50 * Update you when the vulnerability has been fixed 51 52 # Proposing a Change 53 54 If you intend to make any non-trivial changes to the implementation, we recommend filing an issue. This lets us reach an agreement on your proposal before you put significant effort into it. 55 56 If you’re only fixing a bug, it’s fine to submit a pull request right away, but we still recommend that you file an issue detailing what you’re fixing. This is helpful in case we don’t accept that specific fix but want to keep track of the issue. 57 58 # Documentation 59 60 When a change is made please update the documentation found in the `README.md` files accordingly so that the documentation reflects the code. 61 62 # Submitting a pull request 63 64 The core team is monitoring for pull requests. We will review your pull request and either merge it, request changes to it, or close it with an explanation. We’ll do our best to provide updates and feedback throughout the process. 65 66 ## Before Submitting 67 68 Please make sure the following is done before submitting a pull request: 69 70 1. Fork the repository and create your branch from main. 71 2. If you’ve fixed a bug or added code that should be tested, then add tests. 72 3. Ensure the test suite passes by running `make test`. 73 4. Format your code with `make format`. 74 5. If you haven’t already, complete the CLA. 75 6. Make sure your pull request describes the issue you are fixing, or the feature you are adding. The description should also have a comment specifying which issue the pull request will resolve. For example, if the issue you are working on is #100, then please leave a comment saying 'Resolves #100'. This will cause the issue to be closed automatically when the pull request is closed. 76 77 # Development Prerequisites 78 79 * You have Go 1.18 or newer installed 80 * Install goimports - `go install golang.org/x/tools/cmd/goimports` 81 82 # Development Workflow 83 84 After cloning the Amplify Agents SDK, run `make download` to download all the project dependencies. 85 86 * `make format` formats your code. 87 * `make test` runs all the unit tests with the `-race` flag to check for race conditions. 88 89 ## Starting local development 90 91 Two sample stubs are provided within the Amplify Agents SDK source code: 92 93 * Discovery agent: <https://github.com/Axway/agent-sdk/raw/main/samples/apic_discovery_agent.zip> 94 * Traceability agent: <https://github.com/Axway/agent-sdk/raw/main/samples/apic_traceability_agent.zip> 95 96 Refer to <https://github.com/Axway/agent-sdk#sample-projects> 97 98 # Axway Contributors 99 100 You may create your branches directly within the repo. You do not need to fork the project. 101 102 Please make sure the following is done when you open a pull request. 103 104 1. Labels are added to the pull request. These can be the same labels that are found on the issue. 105 2. Assign the pull request to the 'Axway Agent SDK' project. This is the board for tracking work in progress. 106 3. Link the pull request back to your issue. 107 108 All of these steps can be taken care of after opening your pull request. 109 110 Reviewers will automatically be added to your pull request. Assign the pull request to one of the core maintainers when you are ready to merge your branch. You may merge the branch once it has been approved. 111 112 ## Accepting pull requests 113 114 As an Axway contributor who reviews incoming pull requests please ensure the following are met on each request. 115 116 1. Labels are added to the pull request. 117 2. It has been assigned to the project board. 118 3. It has been added to the sprint milestone. 119 4. It is linked to the issue. 120 5. The description has a reference to what issue it will close, such as 'closes #100'. 121 6. The description outlines what has changed. 122 7. The title accurately reflects the new changes. 123 8. The pipeline is passing. 124 125 ## Board 126 127 The project board has three columns 128 129 * To do - Issues you plan to work on during the sprint should be moved here. 130 * In progress - Any issue or pull request that is actively being worked on. 131 * Done - Any issue or pull request that has been completed, rejected, blocked, or closed. 132 133 When you open a pull request and link it to the issue and the board, a task for a pull request will automatically be placed in the 'In progress' column. When the pull request is merged, the task for the pull request will automatically be moved to the 'Done' column, and it will be closed. 134 135 # License 136 137 By contributing to the Axway MuleSoft Agents, you agree that your contributions will be licensed under the Apache 2.0 license.