CommunityProgramación y desarrollogithub.com

sickn33/nodejs-mejores-practicas

Principios de desarrollo Node.js y toma de decisiones. Selección de frameworks, patrones asíncronos, seguridad y arquitectura. Enseña a pensar, no a copiar.

¿Qué es nodejs-mejores-practicas?

Esta habilidad proporciona una guía integral sobre las mejores prácticas de desarrollo con Node.js, enfocándose en principios fundamentales y toma de decisiones informadas en lugar de simples fragmentos de código. Cubre áreas clave como la selección de frameworks adecuados (Express, Fastify, NestJS), patrones asíncronos (promesas, async/await, streams), buenas prácticas de seguridad (validación de entrada, manejo de autenticación, prevención de vulnerabilidades) y arquitectura de aplicaciones (modularidad, separación de responsabilidades, escalabilidad). Está diseñada para desarrolladores que buscan entender el 'por qué' detrás de las decisiones técnicas, promoviendo un pensamiento crítico sobre el diseño de software. Compatible con agentes de IA como Claude Code y Cursor, esta habilidad sirve como referencia y mentor para escribir código Node.js robusto y mantenible.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/nodejs-best-practices

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace nodejs-mejores-practicas?

Principios de desarrollo Node.js y toma de decisiones. Selección de frameworks, patrones asíncronos, seguridad y arquitectura. Enseña a pensar, no a copiar.

Principios Fundamentales

  • Modularidad: Escribe código modular y reutilizable. Divide tu aplicación en módulos pequeños con responsabilidades claras.
  • Manejo de Errores: Siempre maneja errores de manera explícita, tanto en código síncrono como asíncrono. Usa try/catch con async/await y maneja errores en callbacks.
  • Async/Await: Prefiere async/await sobre callbacks o promesas encadenadas para mejorar la legibilidad y el mantenimiento del código.
  • Seguridad: Valida siempre la entrada del usuario, sanitiza datos, usa HTTPS, protege contra inyección SQL/NoSQL y evita exponer información sensible.
  • Arquitectura Limpia: Aplica principios como separación de responsabilidades, inyección de dependencias y patrones como MVC o capas de servicio para escalar tu aplicación.

Selección de Framework

FrameworkPropósitoCuándo usar
Express.jsMinimalista y flexibleProyectos pequeños, APIs simples, prototipos rápidos
FastifyAlto rendimiento y validaciónAplicaciones que requieren máxima velocidad y validación de esquemas
NestJSArquitectura corporativa con decoradoresProyectos grandes, equipos, aplicaciones empresariales

Patrones Asíncronos

  • Promesas y async/await: La forma moderna de manejar operaciones asíncronas. Siempre usa async/await para evitar el "callback hell".
  • Streams: Para procesar grandes volúmenes de datos sin cargar todo en memoria. Usa stream.pipeline() para gestionar streams de forma segura.
  • Event Loop: Entiende cómo funciona el event loop de Node.js para evitar bloqueos y optimizar el rendimiento. Evita operaciones síncronas largas.

Buenas Prácticas de Seguridad

  • Validación de entrada: Usa bibliotecas como joi o express-validator para validar y desinfectar datos de entrada.
  • Autenticación y autorización: Implementa JWT, OAuth2 o sesiones seguras. Nunca almacenes contraseñas en texto plano.
  • Protección contra vulnerabilidades: Configura cabeceras HTTP de seguridad (helmet), prevén CSRF, usa rate limiting y mantén las dependencias actualizadas.

Arquitectura

  • Separación de capas: Divide tu aplicación en capas (rutas, servicios, repositorios, middleware) para facilitar el mantenimiento y las pruebas.
  • Inversión de dependencias: Usa inyección de dependencias para desacoplar módulos y facilitar los tests unitarios.
  • Escalabilidad: Diseña tu aplicación para ser stateless, usa clustering o worker threads para aprovechar múltiples núcleos, y considera el uso de colas de mensajes para tareas asíncronas.

Conclusión

Esta habilidad te enseña a pensar como un desarrollador Node.js experimentado, no solo a copiar fragmentos de código. Aplica estos principios para construir aplicaciones robustas, seguras y mantenibles.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

sickn33/3d-web-experience

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences.

sickn33/agent-memory-mcp

A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).

sickn33/agent-memory-systems

Memory is the cornerstone of intelligent agents. Without it, every interaction starts from zero. This skill covers the architecture of agent memory: short-term (context window), long-term (vector stores), and the cognitive architectures that organize them.

sickn33/ai-agents-architect

Expert in designing and building autonomous AI agents. Masters tool use, memory systems, planning strategies, and multi-agent orchestration.

sickn33/api-documentation-generator

Generate comprehensive, developer-friendly API documentation from code, including endpoints, parameters, examples, and best practices

sickn33/api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

sickn33/api-security-best-practices

Implement secure API design patterns including authentication, authorization, input validation, rate limiting, and protection against common API vulnerabilities

sickn33/app-store-optimization

Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store

sickn33/architecture

Architectural decision-making framework. Requirements analysis, trade-off evaluation, ADR documentation. Use when making architecture decisions or analyzing system design.

sickn33/audio-transcriber

Transform audio recordings into professional Markdown documentation with intelligent summaries using LLM integration

sickn33/aws-serverless

Specialized skill for building production-ready serverless applications on AWS. Covers Lambda functions, API Gateway, DynamoDB, SQS/SNS event-driven patterns, SAM/CDK deployment, and cold start optimization.

sickn33/backend-architect

Expert backend architect specializing in scalable API design, microservices architecture, and distributed systems.

sickn33/backend-dev-guidelines

You are a senior backend engineer operating production-grade services under strict architectural and reliability constraints. Use when routes, controllers, services, repositories, express middleware, or prisma database access.

sickn33/bash-linux

Bash/Linux terminal patterns. Critical commands, piping, error handling, scripting. Use when working on macOS or Linux systems.

sickn33/bash-scripting

Bash scripting workflow for creating production-ready shell scripts with defensive patterns, error handling, and testing.

sickn33/brainstorming

Use before creative or constructive work (features, architecture, behavior). Transforms vague ideas into validated designs through disciplined reasoning and collaboration.

sickn33/browser-automation

Browser automation powers web testing, scraping, and AI agent interactions. The difference between a flaky script and a reliable system comes down to understanding selectors, waiting strategies, and anti-detection patterns.

sickn33/browser-extension-builder

Expert in building browser extensions that solve real problems - Chrome, Firefox, and cross-browser extensions. Covers extension architecture, manifest v3, content scripts, popup UIs, monetization strategies, and Chrome Web Store publishing.

sickn33/bullmq-specialist

BullMQ expert for Redis-backed job queues, background processing, and reliable async execution in Node.js/TypeScript applications.

sickn33/bun-development

Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).

Skills relacionados