Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    mcollina

    fastify-best-practices

    mcollina/fastify-best-practices
    Coding
    19

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Comprehensive best practices for Fastify development

    SKILL.md

    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
    Recommended Servers
    Vercel Grep
    Vercel Grep
    Cloudflare Workers Observability
    Cloudflare Workers Observability
    InfraNodus Knowledge Graphs & Text Analysis
    InfraNodus Knowledge Graphs & Text Analysis
    Repository
    mcollina/skills
    Files