Design e UI
Padrões de backend Node.js com Express e Fastify
Estruture serviços Node.js com TypeScript, Express ou Fastify, cobrindo APIs, middleware, autenticação, bancos, erros, logs e testes.
Ver código no GitHub Instala diretamente do repositório-fonte.
O que esta skill faz
Esta skill reúne padrões para backends Node.js, de APIs REST e GraphQL a microsserviços e processamento em segundo plano. O foco está em organização sustentável, validação de entradas, segurança operacional e integração confiável com bancos.
Quando usar
- Criar APIs REST ou GraphQL
- Implementar autenticação e autorização
- Organizar middleware e tratamento de erros
- Integrar bancos SQL ou NoSQL
- Criar WebSockets ou jobs em segundo plano
Como usar
- Revise o repositório, o framework e as convenções existentes
- Defina módulos, contratos e limites da aplicação
- Implemente validação, erros tipados e logs estruturados
- Configure segredos, CORS, rate limiting e conexões externas
- Adicione testes, health checks e encerramento gracioso
O que revisar antes de instalar
- A escolha entre Express e Fastify depende do projeto
- Segurança de produção exige configuração específica de infraestrutura
- Integrações com banco precisam de pooling e tratamento próprio de falhas
SKILL.md
--- name: nodejs-backend-patterns description: Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices. Use when creating Node.js servers, REST APIs, GraphQL backends, or microservices architectures. --- # Node.js Backend Patterns Comprehensive guidance for building scalable, maintainable, and production-ready Node.js backend applications with modern frameworks, architectural patterns, and best practices. ## When to Use This Skill - Building REST APIs or GraphQL servers - Creating microservices with Node.js - Implementing authentication and authorization - Designing scalable backend architectures - Setting up middleware and error handling - Integrating databases (SQL and NoSQL) - Building real-time applications with WebSockets - Implementing background job processing ## Detailed patterns and worked examples Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient. ## Best Practices 1. **Use TypeScript**: Type safety prevents runtime errors 2. **Implement proper error handling**: Use custom error classes 3. **Validate input**: Use libraries like Zod or Joi 4. **Use environment variables**: Never hardcode secrets 5. **Implement logging**: Use structured logging (Pino, Winston) 6. **Add rate limiting**: Prevent abuse 7. **Use HTTPS**: Always in production 8. **Implement CORS properly**: Don't use `*` in production 9. **Use dependency injection**: Easier testing and maintenance 10. **Write tests**: Unit, integration, and E2E tests 11. **Handle graceful shutdown**: Clean up resources 12. **Use connection pooling**: For databases 13. **Implement health checks**: For monitoring 14. **Use compression**: Reduce response size 15. **Monitor performance**: Use APM tools ## Testing Patterns See `javascript-testing-patterns` skill for comprehensive testing guidance.