kschema-fs-api-gen-actions
v1.7.15
Published
CLI to scaffold projects using templates
Maintainers
Readme
@keshavsoft/kschema-api-gen-actions
Generate Express.js API action boilerplate instantly.
A lightweight developer-first CLI that scaffolds API action modules for Express.js applications with automatic route registration and structured architecture.
Features
- ⚡ Generate API actions in seconds
- 📁 Auto-create folders and files
- 🛣 Auto-register routes in
end-points.js - 🧠 Convention-based code generation
- 🔥 Minimal setup
- 📦 ESM-first architecture
- 🚀 Optimized for rapid backend development
- 🧩 Scalable folder structure
Installation
Global Installation
npm install -g @keshavsoft/kschema-api-gen-actionsUsing NPX
npx @keshavsoft/kschema-api-gen-actionsQuick Start
Assume your current project contains:
end-points.jsExample:
import express from 'express';
const tableName = "journals";
const router = express.Router();
export { router };Generate ShowAll Action
npx kschema-api-gen ShowAllGenerated:
ShowAll/
├── controller.js
├── dal.js
├── route.js
└── validation.jsAnd updates:
import { getFunc } from "./ShowAll/controller.js";
router.get('/ShowAll', (req, res) =>
getFunc({
res,
inTableName: tableName
})
);Generate Insert Action
npx kschema-api-gen InsertGenerated:
Insert/
├── controller.js
├── dal.js
├── route.js
└── validation.jsAnd updates:
import { postFunc } from "./Insert/controller.js";
router.post('/Insert', express.json(), (req, res) =>
postFunc({
req,
res,
inTableName: tableName
})
);Final Result Example
project/
├── end-points.js
├── Insert/
│ ├── controller.js
│ ├── dal.js
│ ├── route.js
│ └── validation.js
│
├── ShowAll/
│ ├── controller.js
│ ├── dal.js
│ ├── route.js
│ └── validation.jsCLI Usage
npx kschema-api-gen <ActionName>Supported Actions
| Action | Method | Description | |---|---|---| | ShowAll | GET | Fetch all records | | Insert | POST | Insert new record |
Example Workflow
Step 1
Create route container:
import express from 'express';
const tableName = "journals";
const router = express.Router();
export { router };Step 2
Run:
npx kschema-api-gen ShowAllStep 3
Run:
npx kschema-api-gen InsertStep 4
Your routes become:
import express from 'express';
import { postFunc } from "./Insert/controller.js";
import { getFunc } from "./ShowAll/controller.js";
const tableName = "journals";
const router = express.Router();
router.get('/ShowAll', (req, res) =>
getFunc({
res,
inTableName: tableName
})
);
router.post('/Insert', express.json(), (req, res) =>
postFunc({
req,
res,
inTableName: tableName
})
);
export { router };Philosophy
This package is designed around:
- Convention over configuration
- Fast backend development
- Predictable architecture
- Reduced boilerplate
- Clean scalable Express.js APIs
Tech Stack
- Node.js
- Express.js
- JavaScript
- ESM Modules
Local Development
Clone repository:
git clone <repo-url>Install dependencies:
npm installRun locally:
node ./bin/cli.js ShowAllPackage Structure
bin/
├── cli.js
├── v11/
│ ├── commands/
│ ├── core/
│ └── tasks/Roadmap
- [ ] Update action generation
- [ ] Delete action generation
- [ ] Validation schema generation
- [ ] TypeScript support
- [ ] Swagger/OpenAPI support
- [ ] Prisma templates
- [ ] Sequelize templates
- [ ] MongoDB templates
- [ ] Custom middleware generation
this is config driven
Contributing
Pull requests are welcome.
For major changes, please open an issue first to discuss proposed improvements.
License
MIT
Author
Created by KeshavSoft.
