{"id":29479188,"url":"https://github.com/kpnarendrakumar/servmini","last_synced_at":"2025-08-22T00:19:28.500Z","repository":{"id":304621338,"uuid":"1019343235","full_name":"kpnarendrakumar/servmini","owner":"kpnarendrakumar","description":"ServMini is a powerful CLI tool that transforms traditional Express.js apps into serverless-ready functions—ready to deploy on platforms like Vercel, Netlify, and AWS. Includes optional AI-powered code review with support for OpenAI, Claude, DeepSeek, Ollama, and more.","archived":false,"fork":false,"pushed_at":"2025-07-14T08:37:12.000Z","size":23,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-14T10:07:22.239Z","etag":null,"topics":["ai","cli","express","expressjs","nodejs","serverless","serverless-framework","vercel"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kpnarendrakumar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-14T07:23:14.000Z","updated_at":"2025-07-14T09:07:58.000Z","dependencies_parsed_at":"2025-07-14T10:08:03.608Z","dependency_job_id":"295ec16d-1d6c-431b-b7bd-92717651aae3","html_url":"https://github.com/kpnarendrakumar/servmini","commit_stats":null,"previous_names":["kpnarendrakumar/servmini"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/kpnarendrakumar/servmini","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpnarendrakumar%2Fservmini","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpnarendrakumar%2Fservmini/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpnarendrakumar%2Fservmini/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpnarendrakumar%2Fservmini/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kpnarendrakumar","download_url":"https://codeload.github.com/kpnarendrakumar/servmini/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kpnarendrakumar%2Fservmini/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265344131,"owners_count":23750552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","cli","express","expressjs","nodejs","serverless","serverless-framework","vercel"],"created_at":"2025-07-14T20:12:40.155Z","updated_at":"2025-08-07T02:15:09.748Z","avatar_url":"https://github.com/kpnarendrakumar.png","language":"JavaScript","readme":"🚀 ServMini\nServMini is a powerful CLI tool to transform your Express.js routes into serverless functions (for Vercel, Netlify, or AWS Lambda) — with optional AI-powered code reviews using OpenAI, Claude, Ollama, and more.\n\n✨ Features\n✅ Converts routes/\\*.js to serverless-ready functions\n✅ Supports .js, .ts, .tsx\n✅ Targets: Vercel, Netlify, AWS Lambda\n✅ Preserves folder structure and relative imports\n✅ Optional AI code reviews using OpenAI, Claude, Ollama, OpenRouter\n✅ Saves AI feedback as .md (optional)\n✅ Auto-detects AI provider based on API key\n✅ CLI-friendly and modular\n✅ Extensible via plugin architecture (upcoming)\n\n📦 Installation\nGlobal (Recommended)\nbash\nCopy\nEdit\nnpm install -g servmini\nFrom Source (Local Development)\nbash\nCopy\nEdit\ngit clone https://github.com/kpnarendrakumar/servmini.git\ncd servmini\nnpm install\nnpm link\nNow you can run it globally using:\n\nbash\nCopy\nEdit\nservmini\n🚀 Usage\nBasic CLI Command\nbash\nCopy\nEdit\nservmini \u003cinputDir\u003e [options]\nExample (AI Review Enabled)\nbash\nCopy\nEdit\nservmini ./backend \\\n --target vercel \\\n --review \\\n --apikey sk-or-xxxxxxxxxxxxxxxx \\\n --save-review \\\n --out-dir converted\n⚙️ CLI Options\nFlag Description Default\n--target Deployment target: vercel, netlify, aws vercel\n--ext Output file extension: js, ts, tsx js\n--force-ext Force file extension override\n--out-dir Custom output directory converted/\n--review Enable AI code review false\n--save-review Save AI feedback to .md file false\n--provider AI provider: openai, openrouter, claude, ollama, etc. Auto-detect\n--apikey API key for AI provider (can also use .env)\n--model Model to use (e.g., gpt-4, deepseek/deepseek-r1) Provider default\n--prompt Custom prompt for AI reviewer Predefined\n--experimental Use experimental transformer engine (convert.js pipeline) (optional) false\n--debug Enable verbose logging false\n\n🧪 Example Express App\njs\nCopy\nEdit\n// backend/routes/example.js\nimport express from 'express';\nconst router = express.Router();\n\nrouter.get('/hello', (req, res) =\u003e {\nres.send('Hello, world!');\n});\n\nexport default router;\nConvert to Vercel Function\nbash\nCopy\nEdit\nservmini ./backend --target vercel\n📁 Output Example\n--target vercel\nmarkdown\nCopy\nEdit\nconverted/\n└── api/\n└── hello.js\n--target netlify\nCopy\nEdit\nconverted/\n└── hello.js\n🧠 AI Review Setup\nSupported Providers\nProvider Key Prefix Example Model\nOpenAI sk- gpt-4, gpt-3.5-turbo\nOpenRouter sk-or- deepseek/deepseek-r1, mistral\nClaude claude- or anthropic claude-3-opus\nFireworks fw\\_ accounts/fireworks/models/llama-v2\nOllama ollama:// ollama://mistral\n\nYou can skip AI review by omitting --review.\n\n📄 .env Example\nInstead of passing keys in CLI:\n\nenv\nCopy\nEdit\nAI_API_KEY=sk-or-xxxxxxxxxxxxxxxxxxxxx\nAI_PROVIDER=openrouter\nAI_MODEL=deepseek/deepseek-r1-0528:free\n🔧 Developer Mode\nTest Locally\nbash\nCopy\nEdit\nnode ./bin/cli.js ./test --target vercel\nLink CLI Globally\nbash\nCopy\nEdit\nnpm link\nservmini ./test --review\n🧬 Roadmap\nVercel/Netlify/AWS support\n\nAI review with multiple providers\n\nSave .md AI reports\n\nAuto-deploy to Vercel/Netlify\n\nGitHub Action for CI pipelines\n\nPlugin support for custom transformations\n\nGUI version for non-devs\n\n🙌 Contributing\nbash\nCopy\nEdit\n\n# Fork the repo and clone locally\n\ngit clone https://github.com/kpnarendrakumar/servmini.git\n\n# Create a branch\n\ngit checkout -b feature/awesome-feature\n\n# Make changes and commit\n\ngit commit -m \"✨ Add awesome feature\"\n\n# Push and open PR\n\ngit push origin feature/awesome-feature\n📜 License\nMIT License © 2025 [KP Narendra Kumar]\n\n🌍 Author\nKP Narendra Kumar\nGitHub: @kpnarendrakumar\nTwitter: @narendrakumarkp\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkpnarendrakumar%2Fservmini","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkpnarendrakumar%2Fservmini","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkpnarendrakumar%2Fservmini/lists"}