Kaizen is an open-source project that helps teams ensure quality in their software delivery by providing a suite of tools for code review, test generation, and end-to-end testing. It integrates with your existing code repositories and workflows, allowing you to streamline your software development process.
Kaizen generates 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 can provide teams with helpful reviews for their UI and generate necessary tests to ensure that their website works as expected.
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.
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 different 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 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 ways:
PYTHONPATH=. poetry run python examples/basic/execute.py
Or using the default pytest module:
pytest -v .kaizen/tests/
Kaizen will generate all the tests and store them inside
.kaizen/tests/
Kaizen utilizes a GitHub app to perform actions like PR review and description updates. Here is a quick link to set up your own GitHub App: docs/pages/github_app.md
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.