Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
274 changes: 135 additions & 139 deletions docs/package-lock.json

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion docs/pages/_meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
"getting_started": "Getting Started",
"self_hosting_guide": "Self Hosting Guide",
"contributing": "Contributing",
"contact_us": "Contact Us"
"contact_us": "Contact Us",
"feaatures": "Features"
}
14 changes: 13 additions & 1 deletion docs/pages/contact_us.mdx
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
If you have any questions or need further assistance, please feel free to reach out to us at support@cloudcode.ai.
If you have any questions or need further assistance, please feel free to contact us at support@cloudcode.ai.

You can also schedule a demo call here, or connect with any founder on their social media:

Demo Call: https://cloudcode.ai/book-a-demo.html

Saurav Panda
https://github.com/sauravpanda
https://www.linkedin.com/in/pandasaurav/

Shreyash Gupta
https://github.com/shreyashkgupta
https://www.linkedin.com/in/shreyashkgupta/
8 changes: 4 additions & 4 deletions docs/pages/contributing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ Replace ```Add some feature``` with a concise and meaningful commit message.
```

### Open a pull request
Go to the GitHub page of your forked repository. You should see a prompt to create a new pull request from your recently pushed branch.
Go to the GitHub page of your forked repository. You should see a prompt to create a new pull request from your recently pushed branch.

Select the base branch (usually main or master) of the original CloudCode repository.
Select your branch (feature/my-feature) as the compare branch.
Provide a clear title and description for your pull request detailing the changes introduced.
Select the base branch (usually main or master) of the original CloudCode repository.
Select your branch (feature/my-feature) as the compare branch.
Provide a clear title and description for your pull request detailing the changes introduced.

### Collaborate and Iterate
Your pull request will be reviewed by the maintainers of CloudCode. Be prepared to address any feedback or suggestions they may have. Collaborate on refining your changes until they are ready to be merged into the main repository.
Expand Down
36 changes: 36 additions & 0 deletions docs/pages/feature_request.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Feature Requests

We welcome feature requests from our users, as they help us improve our product and provide a better experience for everyone. If you have an idea for a new feature or an improvement to an existing one, please follow the steps below to submit a feature request.

## Step 1: Check Existing Requests

Before creating a new feature request, we recommend checking the existing ones in our [GitHub Discussions](https://github.com/Cloud-Code-AI/kaizen/discussions) to see if your idea has already been suggested. If you find a similar request, you can upvote it or add your thoughts to the existing discussion.

## Step 2: Create a New Discussion

If your feature request is unique, you can create a new discussion by following these steps:

1. Go to the [GitHub Discussions](https://github.com/Cloud-Code-AI/kaizen/discussions) page for our repository.
2. Click on the "New Discussion" button.
3. Select the "Feature Request" category from the dropdown menu.
4. Provide a clear and descriptive title for your feature request.
5. In the discussion body, provide a detailed description of your proposed feature or enhancement. Include the following information:
- A brief overview of the feature
- The problem it solves or the benefit it provides
- Any relevant use cases or scenarios
- Mockups, diagrams, or examples (if applicable)
- Any additional context or information that could be helpful

## Step 3: Engage with the Community

Once you've created your feature request, others in the community can view, comment, and react to it. We encourage you to engage with the community, answer questions, and provide additional details or clarifications as needed.

## Step 4: Wait for Review and Feedback

Our team regularly reviews the feature requests in the discussions. We may ask for additional information, provide feedback, or share our plans regarding the implementation of the feature. Please be patient, as we carefully evaluate each request and prioritize them based on various factors.

## Step 5: Stay Informed

We will update the discussion with any progress or decisions made regarding your feature request. If your request is accepted for implementation, we will provide updates on the development timeline and release plans.

Thank you for your contributions and for helping us make our product better!
6 changes: 6 additions & 0 deletions docs/pages/features/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"code_review": "Code Review",
"ui_review": "UI Review",
"e2e_testing": "End to End Testing",
"work_summary": "Work Summary"
}
39 changes: 39 additions & 0 deletions docs/pages/features/code_review.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## Code Review by Kaizen

The Code Review is an AI-powered tool that automatically reviews and provides feedback on code changes in your pull requests (PRs). It helps streamline the code review process and ensures high code quality across your codebase.

### How it Works

1. **Diff Analysis**: When you create or update a pull request, the Code Review Bot analyzes the code changes (diff) and generates detailed feedback based on the modified code snippets.

2. **Organized Feedback**: The bot's feedback is organized into topics or categories like performance, security, code style, or documentation, making it easier to navigate and prioritize the comments.

3. **Confidence Levels**: Each review comment includes a confidence level (critical, high, medium, low), indicating the perceived importance or severity of the issue.

4. **Contextual Information**: The reviews provide context-specific details like file names, line numbers, code snippets, and explanations for the suggested changes.

5. **PR Description Generation**: The bot can generate a descriptive summary of the code changes, helping you better document your pull requests.

### Using the Code Review Bot

1. **Create or Update a Pull Request**: The Code Review Bot will automatically analyze the code changes and generate a review.

2. **Review the Feedback**: The bot's feedback will be shared as a comment on your pull request, organized by topics and confidence levels.

3. **Engage with the Bot**: You can interact with the bot, provide additional context, or request clarification on its feedback.

4. **Iterate and Improve**: As you work with the bot, it will learn from your responses and improve the quality of its reviews over time.

### Benefits

- **Improved Code Quality**: Catch potential issues and receive suggestions for improvements early in the development process.
- **Time Savings**: Automated reviews reduce the time and effort required for manual code reviews.
- **Consistent Standards**: Ensure consistent application of coding standards, best practices, and guidelines across your codebase.
- **Knowledge Sharing**: The bot's reviews serve as a knowledge-sharing mechanism, providing insights that can benefit your entire development team.

### Limitations

- **AI Limitations**: While advanced, the bot may still have limitations in understanding complex code or context-specific nuances.
- **Human Oversight**: The bot's feedback should be considered a complementary tool to human code reviews, not a complete replacement.

With the Code Review Bot, you can streamline your code review process, maintain high code quality, and leverage the power of AI to enhance your development workflow.
41 changes: 41 additions & 0 deletions docs/pages/features/e2e_testing.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

## E2E UI Testing with Playwright

The E2E UI Testing feature is designed to streamline the process of creating and maintaining comprehensive end-to-end tests for web applications using the Playwright testing framework. It leverages advanced language models to generate robust and maintainable test scripts that can be seamlessly integrated into a CI/CD pipeline.

### Key Features

1. **Test Plan Generation**: The feature analyzes the application requirements or specifications and automatically generates a comprehensive test plan, covering various user flows and scenarios.

2. **Playwright Test Script Generation**: Based on the test plan, the feature generates Playwright test scripts written in Python 3.9, following best practices and industry standards.

3. **Page Object Model**: The generated scripts implement the Page Object Model (POM) design pattern, promoting code reusability, maintainability, and separation of concerns.

4. **Web Element Interaction**: The scripts leverage Playwright's powerful features for interacting with web elements, such as clicking buttons, filling out forms, and navigating between pages.

5. **Visual Testing**: The feature utilizes Playwright's capabilities to capture screenshots and videos during test execution, enabling visual validation and debugging.

### Usage

1. **Provide Web URL**: To generate E2E UI tests, provide the URL of the web application you want to test.

2. **Test Generation**: The feature will analyze the web application's content, identify different UI modules, and generate appropriate Playwright test scripts for each module.

3. **Test Execution**: The generated test scripts can be executed locally or integrated into a CI/CD pipeline for automated testing during the development lifecycle.

4. **Test Reporting**: After test execution, the feature provides detailed reports, including test results, captured screenshots, and videos for failed tests, facilitating debugging and issue resolution.

5. **Continuous Integration**: As the web application evolves, the feature can regenerate or update the test scripts to ensure they remain aligned with the latest changes and requirements.

You can find an example [here](https://github.com/Cloud-Code-AI/kaizen/tree/main/examples/basic)

### Benefits

- **Accelerated Test Development**: By leveraging advanced language models, the feature significantly accelerates the process of creating comprehensive E2E UI tests.
- **Maintainability**: The generated scripts follow best practices and industry standards, promoting code maintainability and extensibility.
- **Reusability**: The implementation of the Page Object Model design pattern enhances code reusability and modularization.
- **Continuous Quality Assurance**: The seamless integration with CI/CD pipelines enables continuous testing and quality assurance throughout the software development lifecycle.
- **Visual Validation**: The ability to capture screenshots and videos during test execution aids in visual validation and issue identification.
- **Scalability**: The feature supports data-driven testing and parallelization strategies, enabling scalable and efficient test execution.

With the E2E UI Testing feature, you can streamline the creation and maintenance of robust end-to-end tests for your web applications, ensuring comprehensive coverage, accelerating the testing process, and fostering a culture of continuous quality assurance within your development workflow
26 changes: 26 additions & 0 deletions docs/pages/features/ui_review.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## UI Reviewer

The UI Reviewer feature is powered by kaizen and provides feedback to improve the user experience and accessibility of UI components.

### How it Works:
- Input the HTML code of your UI components.
- The UI Reviewer leverages advanced language models to analyze the code and generate actionable feedback organized in a JSON format.

You can find an example [here](https://github.com/Cloud-Code-AI/kaizen/tree/main/examples/ui_review)

### Using the UI Reviewer:
- Gather and input the HTML code of the UI components you want to review.
- Trigger the UI Reviewer to receive organized feedback.
- Implement the suggested solutions to enhance user experience and accessibility.

### Benefits:
- Improved User Experience
- Accessibility Compliance
- Streamlined Review Process
- Continuous Improvement

### Limitations:
- AI Limitations: Understanding complex UI patterns or context-specific nuances.
- Human Oversight: AI feedback should complement human review and testing.

The UI Reviewer uses AI to enhance the user experience and accessibility of UI components and fosters continuous improvement in your development workflow.
26 changes: 26 additions & 0 deletions docs/pages/features/work_summary.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Work Summary Generator

The Work Summary Generator is a tool that creates easy-to-understand summaries of code changes for non-technical stakeholders and founders.

### How it works:
1. Provide a Git diff representing the code changes to be summarized.
2. The tool uses advanced language models to analyze the diff and generate a detailed summary.
3. The summary includes a high-level overview, sectional breakdown, plain language explanations, feature highlights, impact analysis, and visual aids.
4. The tool ensures a consistent, readable structure.

You can find an example [here](https://github.com/Cloud-Code-AI/kaizen/tree/main/examples/work_summarizer)


### Using the Work Summary Generator:
1. Generate a Git diff representing the code changes.
2. Trigger the generator to create a user-friendly summary.
3. Share the summary with stakeholders for better communication and understanding.
4. Use the summary as a basis for discussions and decision-making.

### Benefits:
- Bridge the gap between technical and non-technical stakeholders.
- Keep stakeholders engaged and informed about development progress.
- Provide a user-friendly way for non-technical stakeholders to track development progress.
- Streamline the reporting process with automatically generated work summaries.

With the Work Summary Generator, you can effectively communicate the value and progress of your development efforts to non-technical stakeholders, fostering better collaboration and alignment throughout the project lifecycle.
2 changes: 1 addition & 1 deletion docs/pages/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Welcome to the Kaizen documentation! This resource will guide you through utiliz
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.
## Key Features

### End-to-End Testing
### End-to-End Testing [WIP]

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.

Expand Down
2 changes: 0 additions & 2 deletions kaizen/llms/prompts.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,6 @@
"""

UI_TESTS_SYSTEM_PROMPT = """
Here's a shortened version of the system prompt:

You are a Quality Assurance AI assistant specializing in writing Playwright test scripts for web applications. Your goal is to create robust and maintainable test scripts that can be integrated into a CI/CD pipeline.

When given requirements or specifications, you should:
Expand Down
2 changes: 1 addition & 1 deletion kaizen/reviewer/code_review.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ def create_pr_review_text(self, topics):
confidence=review.get("confidence", "NA"),
start_line=review.get("start_line", "NA"),
end_line=review.get("end_line", "NA"),
file_name=review.get("file_name", "NA")
file_name=review.get("file_name", "NA"),
)
markdown_output += ct + "\n"

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "kaizen-cloudcode"
version = "0.2.2"
version = "0.2.3"
description = "An intelligent coding companion that accelerates your development workflow by providing efficient assistance, enabling you to craft high-quality code more rapidly."
authors = ["Saurav Panda <saurav.panda@cloudcode.ai>"]
license = "Apache2.0"
Expand Down