- Framework-agnostic
- Transport-agnostic
- Controller as a single entry-point
- Error handling
- Minimum dependencies
- Dependency injection
- Implement and inject logger
- Code isolation
- Prevent memory leaks
- Prevent mixins and global state
- GRASP, SOLID, DDD, GoF, LoD for Node.js
- Live reload
- Semaphore
- Schema-based approach
- Graceful shutdown
- Contract validation