apiforgex
v1.0.1
Published
The Autonomous Backend Engineer
Downloads
219
Maintainers
Readme
⚡ ApiforgeX
The Autonomous Backend Engineer.
Turn a single sentence into a production-ready, deployed API in 60 seconds.
View Demo Video | Report Bug
🚀 What is ApiforgeX?
ApiforgeX is not just a code generator; it's an Agentic DevOps Pipeline in a Box.
Backend development involves repetitive boilerplate: setting up Express, configuring Prisma, writing CRUD controllers, and managing deployments. ApiforgeX automates 100% of this.
✨ Key Features (The "Product" Promise)
🗣️ Natural Language Input: Just say "I need a blog API with posts and comments".
🧠 AI Architect (Oumi): Our specialized model designs a strict, valid Database Schema (no hallucinations).
🏗️ Auto-Scaffolding: Generates TypeScript, Express, Prisma, and Docker configurations instantly.
🤖 Automated Code Review: Every line is audited by CodeRabbit AI before merging.
🚀 Instant Deployment: Automatically deploys to Vercel serverless functions.
🔔 Real-time Updates: Get Slack notifications for every build step.
🛠️ How It Works (The Architecture)
ApiforgeX combines the power of best-in-class developer tools:
Interface: Cline (VS Code) acts as the pilot.
Orchestrator: Kestra manages the lifecycle (Generate -> Test -> Deploy).
Intelligence: Ollama (Llama 3.2) generates the logic.
Quality: CodeRabbit ensures code health.
Hosting: Vercel serves the API globally.
⚡ Quick Start
Prerequisites
Node.js 18+
Docker & Docker Compose (for Kestra)
GitHub Token & Vercel Token
Important: You must install the CodeRabbit GitHub App on your target repository for the automated review cycle to work.
📦 Installation (For Users)
The easiest way to use ApiforgeX is to install it globaly via npm:
npm install -g apiforgex🚀 Usage
Once installed, you can generate a new backend project in seconds:
Initialize Configuration (Optional, for GitHub/Slack integration)
apiforgex initGenerate a Project
apiforgex generateFollow the interactive prompts to describe your API, choose a database, and watch the magic happen!
🧠 AI Configuration
ApiforgeX uses AI to generate code. You have two options:
- Google Gemini (Recommended): Set
GEMINI_API_KEYin your environment variables. - Local Ollama: Install Ollama and run
ollama run llama3.2.
🛠️ Development Setup (For Contributors)
If you want to contribute to the ApiforgeX source code, follow these steps:
Clone the repository
git clone https://github.com/shubham-01-star/ApiforgeX.git cd ApiforgeX npm installStart the Orchestrator
Launch Kestra in a local container:
docker-compose up -d
Visit http://localhost:8080 to see the dashboard.
- Run the Agent
You can run the CLI directly or trigger it via Kestra:
Direct CLI Mode
npm start -- generate --prompt "A task management app" --db postgresql
🏆 Hackathon Tracks
We are proudly building on top of:
Sponsor
Integration Details
Kestra
Kestra Orchestrates the entire CI/CD pipeline, manages Docker containers, and handles Slack notifications. The heart of our autonomous workflow.
Cline
Cline acts as the pilot and primary interface. We built a custom MCP Server (
src/mcp/server.ts) to allow Cline to trigger complex Kestra workflows using natural language.
Oumi
Oumi is used for Data Synthesis. We capture the logs and prompts from our agents to build a fine-tuning dataset, preparing for future self-improvement cycles.
CodeRabbit
CodeRabbit is our autonomous QA engineer. It reviews every Pull Request generated by the agent. Our "Watcher" script (
watcher.ts) parses CodeRabbit's feedback to auto-trigger fixes.
Vercel
Vercel provides instant serverless deployment. Every successful merge in our pipeline automatically deploys the generated API to production.
🤝 Contributing
3. Configure Cline (MCP)
To enable the Agentic capabilities in VS Code:
- Open Cline Settings -> MCP Servers.
- Copy the content from
cline_mcp_config.jsonin this repo. - Paste it into your Cline MCP Settings file.
- Update the Environment Variables (GITHUB_TOKEN, SLACK_WEBHOOK etc.) with your real credentials.
- Ensure the project is built:
npm run build.
Now you can ask Cline:
"Generate a new library management project."
