a href="https://intelligenie.vercel.app/" h1 align="center"Genie 🤖/h1 /a
p align="center" AI-powered test generation, built by a team of 4, for Supabase Open Source Hackathon 2024 /p
p align="center"
a href="#developers-"strongDevelopers/strong/a ·
a href="#requirements-"strongRequirements/strong/a ·
a href="#features-"strongFeatures/strong/a ·
a href="#getting-started-"strongGetting Started/strong/a ·
a href="#how-to-run-locally-"strongHow to run locally/strong/a ·
a href="#feedback-and-issues-"strongFeedback and issues/strong/a
/p
br/
Streamlined Test Case Creation: Effortlessly create new test cases by providing prompts to an AI-powered system, eliminating the need for manual test case creation. Genie utilizes the Gemini LLM model to generate test cases based on user prompts.
Automated Testing and Deployment: Upon test case creation, supported in TypeScript and Vitest, the system automatically pushes and tests the generated file in the specified GitHub branch, ensuring seamless integration into your workflow.
Continuous Improvement: In the event of test failures, the system intelligently detects and addresses workflow failures, automatically generating new test cases based on failure analysis until the issue is resolved or reaches 3 failed attempts. Once the threshold is reached, the user is promptly notified, allowing for swift action to address the underlying issues.
Genie Bot: Genie Bot is Genie's official GitHub application, responsible for managing all interactions between the Genie app and repositories. This includes creating new directories, creating new test cases into new files, updating the test cases, and detecting workflow failures.
Version Control and History: Users can effortlessly track the evolution of test files stored in the Supabase database, enabling them to review past iterations and create new versions as needed. Genie ensures seamless workflow management by automatically storing the workflow YAML file in the /.github/workflows
folder and test cases in the /__tests__
folder. If these directories are missing, Genie will create them automatically.
Experiment Without Github Account: You can explore our genie's intelligent test case generation capabilities without needing a GitHub account. However, if you wish to push the generated test cases to GitHub, simply install the Genie bot and integrate it with your GitHub account using the step-by-step guide provided by Genie during setup.
To start using Genie, follow these simple steps:
Go to Genie: Log in and install our Genie Bot through automatic redirection.
Input Prompts: Begin by providing prompts to the AI system to generate new test cases.
Select GitHub Branch: Specify the GitHub branch where the generated test file will be pushed and tested automatically.
Monitor Test Results: Keep track of test results and receive notifications in case of failures, enabling prompt intervention to maintain the integrity of your codebase.
Access Version History: Explore the version history of test files to review past iterations and generate new versions as necessary, ensuring continuous improvement and quality assurance.
This is a Supabase Open Source Hackathon 2024 project! Feel free to contribute to our open source project, Genie!
To run the project locally, follow these steps:
Clone the Repository:
Install Dependencies:
pnpm install
, npm install
or yarn install
to install the project dependencies.Environment Variables:
env.example
to env.local
.pnpm devx
to generate some of the variables.BOT_APP
and BOT_PRIVATE_KEY
from the Genie Bot.Run the Project:
pnpm sb:start
.pnpm run dev
, npm run dev
or yarn dev
to start the development server locally.Access Locally:
http://localhost:6868/
to access the locally running Genie application.http://localhost:54324/
. Go to the Monitor section to get your latest OTP code.http://localhost:54323/
.Now you should have the Genie project running locally on your machine, ready for development or testing.
Please file feedback and issues over on the Genie Issues page.
Here is our video demo for Genie! Have fun watching! : https://drive.google.com/file/d/1TscoC2vNxXiXHVr5vcVeQmzjBOP5YTW6/view?usp=sharing