β οΈ Note: Appwrite is currently facing some outage and because of this, the app might not work as expected. Please check the appwrite status here.
Flow-Forge is your one-stop solution to optimize GitHub workflows. With features like repository orchestration, automated issue management, and streamlined PR reviews, Flow-Forge turns chaotic workflows into seamless clockwork operations.
demo.mov
πΌ You can also find our Hackfrost submission video here: https://youtu.be/-FPnJWJPmk8?feature=shared
- Kestra: Deployed on an Azure Virtual Machine.
- Flow-Forge Next.js App: Deployed on Vercel.
-
GitHub Workflow Monitoring
Track workflow statuses (success, failure, in-progress) with GitHub API integration. -
Automated Issue Creation
Automatically generate detailed GitHub issues for failed workflows. -
Real-Time Notifications
Receive instant alerts on Discord and Slack for workflow updates. -
Email Notifications
Detailed workflow failure alerts via email for extended team reach. -
Orchestration with Kestra
Handle multiple repositories and workflows with task automation.
- GitHub PAT: Required for API access.
- Discord/Slack Webhooks: Notification channels setup.
- Appwrite: Database and collection setup.
- Azure VM: Deployment platform for backend services.
- Node.js & npm: Runtime and package manager.
-
Clone Repository
git clone https://github.com/ChiragAgg5k/flow-forge cd flow-forge
-
Install Dependencies
pnpm install
-
Configure Environment Variables Add a
.env.local
file with:NEXT_PUBLIC_APPWRITE_PROJECT_ID = <your_project_id> NEXT_PUBLIC_APPWRITE_DATABASE_ID = <your_database_id> NEXT_PUBLIC_APPWRITE_COLLECTION_ID = <your_collection_id> NEXT_PUBLIC_GITHUB_TOKEN = <your_token> GROQ_API_KEY = <your_key>
-
Build Application
pnpm build
-
Deploy on Azure VM
- Follow the instructors on Kestra.io on how to deploy Kestra on Azure VM, and replace the public IP address for it in the code. You can find the workflow file here.
$~$
- Follow the instructors on Kestra.io on how to deploy Kestra on Azure VM, and replace the public IP address for it in the code. You can find the workflow file here.
Flow-Forge simplifies continuous integration and delivery with:
- Workflow status tracking.
- Automated notifications.
- Intuitive dashboard interfaces.
-
GitHub Issue Automation
Automates logging failed workflows. -
Discord and Slack Integration
Real-time alerts for quick issue resolution. -
Kestra Workflow Integration
Visual workflow design for managing orchestration tasks.
- Receive real-time updates about Kestra workflows (success or failure) directly in VS Code.
- Access detailed workflow logs in the "Kestra Logs" output channel.
- Execute tasks like fetching GitHub workflows or creating issues, all from within VS Code.
- Reduces Context Switching: Stay within the VS Code environment without jumping between tools.
- Simplifies Monitoring and Debugging: View detailed logs and workflow statuses effortlessly.
- Keeps Developers Focused: All workflow management features are seamlessly integrated into your IDE.
- Sends HTTP requests to the VS Code extension:
/notify
: Sends notifications about workflow statuses./logs
: Sends execution logs.
- Displays updates in real-time, enabling seamless workflow management directly within the IDE.
This project is licensed under the MIT License.
You can find the full text of the license here.
To keep track of the uptime and status of Flow Forge, visit Uptime Monitoring.
- Email: [email protected]