Kaizen is an open-source project that helps teams ensure quality in their software delivery by providing an AI-powered suite of tools for code review, test generation, and end-to-end testing. It seamlessly integrates with your existing code repositories and workflows, allowing you to streamline your software development process and catch bugs early.
Kaizen leverages advanced AI techniques to generate comprehensive end-to-end tests based on your application's code and documentation. These tests ensure that your application functions correctly from start to finish, catching regressions and edge cases that may have been overlooked during development.
Kaizen provides teams with insightful reviews for their UI components and automatically generates necessary tests to ensure that their website works as expected, reducing the risk of visual and functional regressions.
Kaizen automatically reviews pull requests, summarizes code changes, and provides insightful feedback on potential issues or areas of improvement. It leverages advanced natural language processing techniques to understand the context and implications of the code changes, helping developers write better, more maintainable code.
github_app
: Contains the API server used by the GitHub app to process and respond to incoming requests.kaizen
: Contains the main logic for interaction with LLMs and data processing.actors
: Contains classes used to process various actions like Code Review and Test execution.generators
: Contains the main logic for generative use cases like test case generation, description generation, etc.llms
: Contains LLM integrations.
docs
: Contains Nextra-powered documentation for the project.examples
: Contains sample code for various use cases.
To get started with Kaizen, follow these steps:
- Install the Kaizen package:
pip install kaizen-cloudcode
- Copy the example code from
examples/basic
. - Generate tests for your website:
First, you need to update the URL in the
examples/basic/generate.py
.
PYTHONPATH=. poetry run python examples/basic/generate.py
Kaizen will generate all the tests and store them inside .kaizen/tests/
.
- Execute tests: Once you have generated all the necessary tests, you can run all the tests in two of the following ways:
PYTHONPATH=. poetry run python examples/basic/execute.py
Or using the default pytest module:
pytest -v .kaizen/ui-tests/
Kaizen will execute the generated tests and provide detailed reports.
Kaizen utilizes a GitHub app to perform actions like PR review and description updates. Here's a quick link to set up your own GitHub App: docs/pages/github_app.md
You can find the docker image here
Deploy the API using Docker Compose:
docker-compose up
You can also configure features by tweaking the config.json
file.
NOTE: You need to create a .env
file by copying .env.example
and also store the PEM file for the GitHub app as GITHUB_APP_KEY.pem
.
We welcome contributions from the community! If you'd like to contribute to Kaizen, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/my-feature
) - Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature/my-feature
) - Open a Pull Request
Kaizen is released under the AGPL License.
If you have any questions or need further assistance, please feel free to contact us at support@cloudcode.ai.