Thanks for contributing! 🎉 This Contribution License Agreement ("Agreement") covers the license rights you grant to GitHub, Inc. and its affiliates ("GitHub") when you contribute to this project. By signing, you ("You") agree to the terms below. This Agreement is effective as of your signature date.
This Agreement applies to every contribution you make to this repository, now and in the future. You must agree to these terms before contributing.
You represent that each contribution is your own original work.
If you want to contribute materials that aren't entirely yours (e.g., third-party code), you may do so separately — provided you:
- retain all original copyright and license notices,
- note in the Submission description: "Contains third-party materials:" followed by the name(s) and any license restrictions you're aware of, and
- follow any additional instructions in the project's contributing guide.
If you're contributing as part of your work for an employer — or if your employer has IP rights over your work by contract or law — you must get your employer's permission before contributing.
When that's the case, "You" means both you and your employer. If you change employers and want to keep contributing, you need your new employer's permission.
a. Copyright License. You grant GitHub (and anyone who receives the Submission from GitHub, directly or indirectly) a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute, and sublicense the Submission.
b. Patent License. You grant GitHub (and downstream recipients) a perpetual, worldwide, non-exclusive, royalty-free, irrevocable patent license — covering only patent claims necessarily infringed by your Submission or its combination with the Project — to make, have made, use, offer to sell, sell, import, and otherwise dispose of the Submission alone or with the Project.
c. No Other Rights. All rights not expressly granted here are reserved by each party. No additional licenses are implied.
You represent that:
- You are legally entitled to grant the licenses in Section 5.
- Each contribution is your original work (except as disclosed under Section 3).
- If applicable, you have your employer's permission (see Section 4).
- If contributing on behalf of your employer, you have authority to bind them to this Agreement.
You are not expected to provide support for your Submissions unless you choose to.
EXCEPT FOR THE REPRESENTATIONS IN SECTIONS 3, 4, AND 6, YOUR SUBMISSIONS ARE PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND — INCLUDING WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE — UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING.
If you learn of anything that would make your representations in this Agreement inaccurate, notify GitHub in writing.
Contributions to this project — including your name and any information you include with your Submission — may be maintained indefinitely and disclosed publicly.
This Agreement is governed by the laws of the State of California and the federal laws of the United States. Both parties consent to exclusive jurisdiction and venue in the federal and state courts in San Francisco, California, and waive any objection to personal jurisdiction or forum.
This is the entire agreement between the parties on this subject and supersedes all prior agreements or communications. GitHub may assign this Agreement.
--
Contributions are welcome — whether that's fixing a typo, improving an agent prompt, or adding support for a new CI/CD platform.
This project follows a Code of Conduct. By participating, you agree to abide by its terms.
- Improve existing agent prompts for better accuracy
- Add support for new CI/CD platforms
- Update agent instructions based on real migration feedback
- Add or update action mappings for CI/CD plugins and tasks
- Document new migration patterns and best practices
- Improve security patterns for credential handling
- Expand report templates
- Improve deployment and operations guides
- Add troubleshooting tips and FAQs
- Document edge cases and workarounds
- Improve bulk migration workflows
- Add or adjust automation triggers
- Optimize workflow performance and reliability
To add support for a new platform:
- Create a new agent file in
agents/(follow existing agent structure) - Add action mappings in
knowledge/actions-mapping/ - Add security patterns in
knowledge/patterns/<platform>/ - Add a report template in
knowledge/report-template/ - Update README.md to include the new platform
This project runs on LLMs, so AI-assisted contributions are welcome. That said, AI tools can produce a lot of low-quality issues and PRs fast — please review what you're submitting before you submit it. The human submitter is responsible for:
- Reviewing all AI-generated code
- Ensuring compliance with licensing requirements
- Taking full responsibility for the contribution
- Keep issues narrow and specific. "Update guardrails to prevent old action versions from being chosen" is a good issue. "Redesign the agent architecture" is not — that needs a conversation first.
- Issues proposing architectural changes or major new functionality need maintainer sign-off before any work starts.
- Every PR needs a linked issue. PRs without one will be rejected automatically.
- You're responsible for AI-generated code you submit. Read it before sending it.
Maintainers can reject any issue or PR, for any reason or none.
Open an issue before you start work. It gives maintainers a chance to weigh in early, which saves everyone time if the change isn't a good fit.
All pull requests must reference an open issue. PRs without a linked issue will be rejected automatically.
Pull requests are how changes get made — new agents, patterns, mappings, docs, or improvements to existing ones.
- Clone the repository
- Create a new branch:
git checkout -b my-branch-name - Make your changes
- Push and submit a pull request
- Wait for your pull request to be reviewed and merged
- Fork and clone the repository
- Create a new branch:
git checkout -b my-branch-name - Make your changes
- Push to your fork and submit a pull request
- Wait for your pull request to be reviewed and merged
- Link the related issue.
- One change per PR. If you have unrelated changes, open separate pull requests.
- Write good commit messages.
- Test agent changes with real CI/CD configurations when you can.
- Follow the existing structure and formatting in the knowledgebase.
Not ready? Open a draft PR to get early feedback.
- Use a branch name like
user/branch-purpose - Mark the pull request as a draft
If you are a maintainer:
- Create a tag following semantic versioning
- Draft a release document explaining the changes
- Obtain approval from CODEOWNERS