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.
Before submitting code to this project you must first sign the Axway Contributors License Agreement (CLA).
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.
Every significant change is documented in the changelog file.
Submit all changes directly to the main branch. We don’t use separate branches for development or for upcoming releases.
If you are merging a breaking change to main, then a new major release must be made.
Patch and minor releases should be made for all other bug and feature enhancements that do not introduce a breaking change.
We use GitHub Issues for all of our feature requests, enhancements, and bugs.
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.
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.
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.
Submit a feature request here
Report a bug here
If you have encountered a security vulnerability, then create an issue and attach the 'security' label.
The Axway security team and associated development organizations will use reasonable efforts to:
- Respond promptly in acknowledging the receipt of your vulnerability report
- Work with you to understand the scope and severity of the vulnerability
- Provide an estimated time frame for addressing the vulnerability
- Update you when the vulnerability has been fixed
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.
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.
When a change is made please update the documentation found in the README.md
files accordingly so that the documentation reflects the code.
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.
Please make sure the following is done before submitting a pull request:
- Fork the repository and create your branch from main.
- If you’ve fixed a bug or added code that should be tested, then add tests.
- Ensure the test suite passes by running
make test
. - Format your code with
make format
. - If you haven’t already, complete the CLA.
- 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.
- You have Go 1.18 or newer installed
- Install goimports -
go install golang.org/x/tools/cmd/goimports
After cloning the Amplify Agents SDK, run make download
to download all the project dependencies.
make format
formats your code.make test
runs all the unit tests with the-race
flag to check for race conditions.
Two sample stubs are provided within the Amplify Agents SDK source code:
- Discovery agent: https://github.com/Axway/agent-sdk/raw/main/samples/apic_discovery_agent.zip
- Traceability agent: https://github.com/Axway/agent-sdk/raw/main/samples/apic_traceability_agent.zip
Refer to https://github.com/Axway/agent-sdk#sample-projects
You may create your branches directly within the repo. You do not need to fork the project.
Please make sure the following is done when you open a pull request.
- Labels are added to the pull request. These can be the same labels that are found on the issue.
- Assign the pull request to the 'Axway Agent SDK' project. This is the board for tracking work in progress.
- Link the pull request back to your issue.
All of these steps can be taken care of after opening your pull request.
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.
As an Axway contributor who reviews incoming pull requests please ensure the following are met on each request.
- Labels are added to the pull request.
- It has been assigned to the project board.
- It has been added to the sprint milestone.
- It is linked to the issue.
- The description has a reference to what issue it will close, such as 'closes #100'.
- The description outlines what has changed.
- The title accurately reflects the new changes.
- The pipeline is passing.
The project board has three columns
- To do - Issues you plan to work on during the sprint should be moved here.
- In progress - Any issue or pull request that is actively being worked on.
- Done - Any issue or pull request that has been completed, rejected, blocked, or closed.
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.
By contributing to the Axway MuleSoft Agents, you agree that your contributions will be licensed under the Apache 2.0 license.