fastify-best-practices
Provides best practices for developing backend applications with Fastify, covering plugin implementation, route handling, and architectural guidance, helping you build high-performance services.
npx skills add https://github.com/mcollina/skills --skill fastify-best-practicesBefore / After Comparison
1 组Without clear best practice guidance, developers using Fastify for backend applications may face issues such as chaotic plugin management, unreasonable routing design, and insufficient performance optimization. This leads to applications that are difficult to scale, have high maintenance costs, and fail to fully leverage Fastify's high-performance advantages, impacting user experience.
By following Fastify best practices, developers can systematically learn how to efficiently implement plugins, optimize route handling, and build scalable architectures. This not only ensures code quality and maintainability but also fully unleashes Fastify's performance potential, helping teams quickly build responsive, stable, reliable, and easily scalable high-performance backend services.
fastify-best-practices
When to use
Use this skill when you need to:
-
Develop backend applications using Fastify
-
Implement Fastify plugins and route handlers
-
Get guidance on Fastify architecture and patterns
-
Use TypeScript with Fastify (strip types)
-
Implement testing with Fastify's inject method
-
Configure validation, serialization, and error handling
Quick Start
A minimal, runnable Fastify server to get started immediately:
import Fastify from 'fastify'
const app = Fastify({ logger: true })
app.get('/health', async (request, reply) => {
return { status: 'ok' }
})
const start = async () => {
await app.listen({ port: 3000, host: '0.0.0.0' })
}
start()
Recommended Reading Order for Common Scenarios
-
New to Fastify? Start with
plugins.md→routes.md→schemas.md -
Adding authentication:
plugins.md→hooks.md→authentication.md -
Improving performance:
schemas.md→serialization.md→performance.md -
Setting up testing:
routes.md→testing.md -
Going to production:
logging.md→configuration.md→deployment.md
How to use
Read individual rule files for detailed explanations and code examples:
-
rules/plugins.md - Plugin development and encapsulation
-
rules/routes.md - Route organization and handlers
-
rules/schemas.md - JSON Schema validation
-
rules/error-handling.md - Error handling patterns
-
rules/hooks.md - Hooks and request lifecycle
-
rules/authentication.md - Authentication and authorization
-
rules/testing.md - Testing with inject()
-
rules/performance.md - Performance optimization
-
rules/logging.md - Logging with Pino
-
rules/typescript.md - TypeScript integration
-
rules/decorators.md - Decorators and extensions
-
rules/content-type.md - Content type parsing
-
rules/serialization.md - Response serialization
-
rules/cors-security.md - CORS and security headers
-
rules/websockets.md - WebSocket support
-
rules/database.md - Database integration patterns
-
rules/configuration.md - Application configuration
-
rules/deployment.md - Production deployment
-
rules/http-proxy.md - HTTP proxying and reply.from()
Core Principles
-
Encapsulation: Fastify's plugin system provides automatic encapsulation
-
Schema-first: Define schemas for validation and serialization
-
Performance: Fastify is optimized for speed; use its features correctly
-
Async/await: All handlers and hooks support async functions
-
Minimal dependencies: Prefer Fastify's built-in features and official plugins
Weekly Installs737Repositorymcollina/skillsGitHub Stars1.5KFirst SeenJan 31, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode677codex673github-copilot670gemini-cli669cursor621kimi-cli619
User Reviews (0)
Write a Review
No reviews yet
Statistics
User Rating
Rate this Skill