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.