npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@philiprehberger/dev-docs-kit

v0.2.0

Published

Generate comprehensive development documentation for Node.js/TypeScript projects

Readme

@philiprehberger/dev-docs-kit

CI npm version Last updated

@philiprehberger/dev-docs-kit

Generate comprehensive development documentation for Node.js/TypeScript projects. Never start docs from scratch again.

Features

  • 🚀 Complete documentation suite - 17 development guides covering everything from naming conventions to deployment
  • 📋 Plan & issue tracking - Built-in templates for implementation plans and issue management
  • 🎯 Battle-tested patterns - Real-world patterns from production projects
  • 🔧 Customizable - Easy to adapt to your specific stack and needs
  • CLI or programmatic - Use via CLI or integrate into your build process

Installation

npm install -g @philiprehberger/dev-docs-kit

Or use directly with npx:

npx @philiprehberger/dev-docs-kit init

Quick Start

CLI Usage

Initialize documentation in your project:

cd my-project
npx @philiprehberger/dev-docs-kit init

Interactive prompts will guide you through:

  • Project name
  • Tech stack selection
  • What to include (plans, issues, etc.)

Programmatic Usage

import { generateDocs } from '@philiprehberger/dev-docs-kit';

generateDocs({
  projectName: 'my-api',
  stack: 'fastify-prisma',
  outputDir: process.cwd(),
  includePlans: true,
  includeIssues: true,
});

Discovering Variables

Use getAvailableVariables() to discover every template variable key supported by replaceVariables(). Each value is a self-describing placeholder string (the key name itself), making it easy to enumerate or surface in tooling:

import { getAvailableVariables } from '@philiprehberger/dev-docs-kit';

const vars = getAvailableVariables();
console.log(Object.keys(vars));
// => ['projectName', 'projectNameCamelCase', 'projectNamePascalCase',
//     'projectNameKebabCase', 'currentDate', 'currentYear']

What Gets Generated

Development Guides (17 files)

Complete guides covering:

Core Standards

  • Documentation Standards
  • Naming Conventions
  • Contributing Guidelines

Development

  • Testing Standards (Vitest)
  • Security Best Practices
  • Database Patterns (Prisma)
  • Validation Guide (Zod)
  • Logging Standards (Pino)
  • Error Handling (Fastify)
  • Configuration (Zod env validation)

Architecture

  • Service Patterns
  • Middleware (Fastify hooks)
  • Events & Listeners (BullMQ)

Operations

  • API Standards (Fastify REST)
  • Local Development (Docker Compose)
  • Deployment (PM2/Docker)

Plan Templates

  • PLAN_TEMPLATE.md - Full template for complex features
  • PLAN_TEMPLATE_SIMPLE.md - Lightweight template for bug fixes
  • COMPLETION_REPORT_TEMPLATE.md - Admin-facing summaries

Directory Structure

docs/
├── DOCS_GUIDE.md          # How to maintain docs
├── guides/
│   ├── INDEX.md           # Guide overview
│   ├── API_STANDARDS.md
│   ├── CONFIGURATION.md
│   ├── CONTRIBUTING.md
│   ├── DATABASE_PATTERNS.md
│   ├── DEPLOYMENT.md
│   ├── DOCUMENTATION_STANDARDS.md
│   ├── ERROR_HANDLING.md
│   ├── EVENTS_LISTENERS.md
│   ├── LOCAL_DEVELOPMENT.md
│   ├── LOGGING_STANDARDS.md
│   ├── MIDDLEWARE.md
│   ├── NAMING_CONVENTIONS.md
│   ├── SECURITY.md
│   ├── SERVICE_PATTERNS.md
│   ├── TESTING_STANDARDS.md
│   └── VALIDATION_GUIDE.md
├── plans/
│   ├── templates/         # Plan templates
│   ├── archive/           # Completed plans
│   ├── backlog/           # Future plans
│   └── reports/           # Completion reports
└── issues/
    └── resolved/          # Fixed issues

CLI Commands

Initialize Documentation

dev-docs-kit init [options]

Options:
  -n, --name <name>      Project name
  -s, --stack <stack>    Tech stack (fastify-prisma)
  -o, --output <dir>     Output directory (default: current directory)
  --no-plans             Skip plan templates
  --no-issues            Skip issue tracking structure

List Available Stacks

dev-docs-kit list-stacks

Available Stacks

  • fastify-prisma - Fastify API with Prisma ORM, PostgreSQL, Redis, BullMQ

More stacks coming soon:

  • express-typeorm
  • nestjs-typeorm
  • fastapi-sqlalchemy

Why Use This?

Problem

Starting a new project means:

  • ❌ Writing documentation from scratch
  • ❌ Inconsistent docs across projects
  • ❌ No standardized patterns for common tasks
  • ❌ Hours spent on boilerplate guides

Solution

This package gives you:

  • ✅ Production-tested documentation instantly
  • ✅ Consistent structure across all projects
  • ✅ Real code examples that actually work
  • ✅ Built-in plan and issue tracking system

Customization

After generation, customize the docs to your needs:

  1. Update project-specific details - The generator replaces {{projectName}} and other variables
  2. Remove irrelevant guides - Not using OAuth? Delete the relevant sections
  3. Add your own guides - Follow the same structure in docs/guides/
  4. Update standards - Adapt patterns to your team's preferences

Philosophy

These guides are opinionated but adaptable:

  • Opinionated: Specific tech choices (Fastify, Prisma, Zod, Vitest)
  • Adaptable: Clear patterns you can translate to other frameworks
  • Practical: Real code examples, not pseudocode
  • Complete: Covers the full development lifecycle

Examples

See the examples directory for:

  • Generated documentation samples
  • Integration examples
  • CI/CD pipeline usage

API Reference

generateDocs(options)

Generate documentation in a directory.

interface GenerateOptions {
  projectName: string;        // Project name for variable replacement
  stack: 'fastify-prisma';   // Tech stack
  outputDir: string;          // Where to create docs/ directory
  includePlans?: boolean;     // Include plan templates (default: true)
  includeIssues?: boolean;    // Include issue tracking (default: true)
}

getAvailableStacks()

Get list of available tech stacks.

function getAvailableStacks(): Stack[]

replaceVariables(content, variables)

Replace template variables in content.

function replaceVariables(
  content: string,
  variables: TemplateVariables
): string

getAvailableVariables()

Return a sample TemplateVariables object listing every supported template variable key, with each value set to its own key name as a placeholder. Useful for documenting or programmatically discovering the available variables.

function getAvailableVariables(): TemplateVariables

Contributing

Contributions welcome! To add a new stack:

  1. Create src/templates/{stack-name}/ directory
  2. Add guides and templates
  3. Update Stack type in src/types.ts
  4. Update getAvailableStacks() in src/templates.ts
  5. Submit a PR

Support

If you find this project useful:

Star the repo

🐛 Report issues

💡 Suggest features

❤️ Sponsor development

🌐 All Open Source Projects

💻 GitHub Profile

🔗 LinkedIn Profile

License

MIT