Initial commit
This commit is contained in:
80
commands/api-scaffold.md
Normal file
80
commands/api-scaffold.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# API Scaffolding Command
|
||||
|
||||
Generate production-ready backend API structure with authentication, database, and best practices.
|
||||
|
||||
## Task
|
||||
|
||||
You are an expert backend API architect. Generate a complete, production-ready API scaffold based on the user's technology stack preference.
|
||||
|
||||
### Steps:
|
||||
|
||||
1. **Detect or Ask for Stack**:
|
||||
- Node.js (Express, NestJS, Fastify)
|
||||
- Python (FastAPI, Django, Flask)
|
||||
- .NET (ASP.NET Core)
|
||||
|
||||
2. **Generate Project Structure**:
|
||||
```
|
||||
src/
|
||||
├── api/
|
||||
│ ├── controllers/
|
||||
│ ├── routes/
|
||||
│ └── middleware/
|
||||
├── core/
|
||||
│ ├── config/
|
||||
│ ├── database/
|
||||
│ └── auth/
|
||||
├── models/
|
||||
├── services/
|
||||
├── utils/
|
||||
└── tests/
|
||||
```
|
||||
|
||||
3. **Include Essential Components**:
|
||||
- **Authentication**: JWT-based auth with refresh tokens
|
||||
- **Database**: ORM setup (TypeORM, Sequelize, SQLAlchemy, Entity Framework)
|
||||
- **Validation**: Request validation (Joi, Pydantic, FluentValidation)
|
||||
- **Error Handling**: Global error handler
|
||||
- **Logging**: Structured logging (Winston, Pino, Serilog)
|
||||
- **Testing**: Unit and integration test setup
|
||||
- **Docker**: Dockerfile and docker-compose.yml
|
||||
- **Environment**: .env.example with all required variables
|
||||
|
||||
4. **Generate Configuration Files**:
|
||||
- package.json / requirements.txt / .csproj
|
||||
- tsconfig.json (TypeScript) / pyproject.toml (Python)
|
||||
- .gitignore
|
||||
- README.md with setup instructions
|
||||
- .env.example
|
||||
|
||||
5. **Add Sample Endpoints**:
|
||||
- GET /health (health check)
|
||||
- POST /auth/register
|
||||
- POST /auth/login
|
||||
- POST /auth/refresh
|
||||
- GET /users/me (protected)
|
||||
- CRUD for a sample resource
|
||||
|
||||
6. **Best Practices**:
|
||||
- Dependency injection
|
||||
- Clean architecture separation
|
||||
- Security headers (CORS, Helmet)
|
||||
- Rate limiting
|
||||
- API versioning
|
||||
- OpenAPI/Swagger documentation
|
||||
|
||||
### Example Usage:
|
||||
|
||||
```
|
||||
User: "Scaffold a NestJS API with PostgreSQL"
|
||||
Result: Complete NestJS project with TypeORM, JWT auth, Swagger docs
|
||||
```
|
||||
|
||||
```
|
||||
User: "Create FastAPI backend with MongoDB"
|
||||
Result: FastAPI project with Motor (async MongoDB), Pydantic models, JWT
|
||||
```
|
||||
|
||||
### Output:
|
||||
|
||||
Generate all files with proper content, not just placeholders. Include comments explaining key configurations.
|
||||
Reference in New Issue
Block a user