Tag: tutorial
46 articles
· rag / pgvector
How to build a RAG pipeline with pgvector and Drizzle ORM
Step-by-step tutorial: store embeddings in Neon Postgres, query with cosine similarity via Drizzle ORM, and wire up GPT-4o for answers — all in TypeScript.
· nextjs / better-auth
How to add Better Auth to a Next.js app — step by step
A practical walkthrough of installing Better Auth v1.6.14 with Drizzle ORM, Neon Postgres, and GitHub OAuth on Next.js 15 App Router — including every failure mode worth knowing.
· cloudflare / cloudflare-workers
How to Set Up Cloudflare Workers AI: Step-by-Step Guide
Run inference at the edge with Workers AI: scaffold a Worker, bind the AI, call models, stream SSE, generate images. Includes pricing and rate limits.
· resend / react-email
How to send transactional emails with Resend and React Email
Step-by-step: install Resend and React Email, write a typed template, send from a Next.js route, and preview locally. Covers the React Email 6 import change.
· typescript / turso
How to set up Turso (libSQL) in a TypeScript project
Set up Turso (libSQL) in TypeScript from scratch: install @libsql/client, run CRUD, add Drizzle ORM, and manage local dev — with the gotchas most guides miss.
· nextjs / llm
How to stream LLM responses in Next.js with the Vercel AI SDK
Stream LLM responses token-by-token in Next.js using AI SDK v6. Covers route handler, client hook, and the two Vercel timeout traps most tutorials skip.
· ai-tools / vercel-ai-sdk
How to use the Vercel AI SDK — streaming, tools, and agents
AI SDK 6 gives you a single API across 20+ providers, typed streaming, and a ToolLoopAgent class for multi-step agentic loops. Here is how to use it.
· nextjs / cloudflare
How to deploy Next.js to Cloudflare Workers (2026)
Deploy Next.js to Cloudflare Workers: @opennextjs/cloudflare adapter, wrangler.jsonc config, 330 edge cities in 90 seconds, and GitHub Actions CI/CD pipeline.
· ai-tools / cursor
How to choose an AI coding tool in 2026: practical framework
Four dimensions decide: agent autonomy, IDE lock-in, privacy/self-host, and pricing. Work through them in order and you get a clear answer in under ten minutes.
· cursor / mcp
How to Build MCP Tools That Work Inside Cursor
Step-by-step guide to building a custom MCP server in TypeScript and wiring it into Cursor Pro. Covers tool registration, restart quirks, and the five gotchas that waste an afternoon.
· cursor / ai
Cursor Rules Explained: Formats, Modes, and What to Avoid
Cursor rules bake your project conventions into the AI. Covers both file formats, all four activation modes, and the silent mistakes that break them.
· mcp / claude-code
How to build and use MCP servers with Claude Code (2026)
MCP is the fastest way to give Claude Code project-specific context without pasting files every session. Here is a working recipe from scaffold to running tool.
· paddle / billing
How to Set Up Paddle Billing for a Small SaaS (2026)
Step-by-step: add Paddle Billing to a Node.js/TypeScript SaaS. Covers product catalog, Paddle.js v2 overlay checkout, webhook verification, and customer portal.
· cloudflare / cloudflare-pages
How to cache static assets the right way on Cloudflare
Set Cache-Control for fingerprinted assets, index.html, and service workers on Cloudflare. Verify with cf-cache-status; six BYPASS gotchas covered.
· fly-io / heroku
Migrate from Heroku to Fly.io: Step-by-Step Guide (2026)
Move your Heroku app to Fly.io for ~$4/mo. Step-by-step guide with CLI commands for Postgres import, Redis, file storage, secrets, and scheduled tasks.
· redux / zustand
How to Migrate from Redux to Zustand: Step-by-Step Guide
Zustand v5 weighs 0.5 KB gzip against Redux Toolkit + react-redux combined ~17 KB, and removes the Provider ceremony. This guide covers the full migration: install, mirror slices, swap components, and handle the middleware and DevTools gotchas.
· stripe / nextjs
How to set up Stripe Checkout in a Next.js app (2026)
Step-by-step: add Stripe Hosted or Embedded Checkout to a Next.js 15 App Router project. Covers Checkout Sessions, webhooks, and the req.text() gotcha.
· astro / pagefind
How to add full-text search to an Astro site with Pagefind
Add zero-infra full-text search to any Astro static site using Pagefind 1.5: install, build integration, Component UI, data attributes, CSP, and deploy.
· monorepo / pnpm
How to Set Up Changesets for Automated Monorepo Releases
Set up @changesets/cli v2.31.0 in a pnpm + Turborepo monorepo — from your first changeset to a fully automated GitHub Actions publish pipeline.
· postgres / pgvector
How to Set Up Vector Search with pgvector in Postgres
Add semantic search to Postgres with pgvector v0.8.2 — install the extension, create a vector column, generate OpenAI embeddings, and build an HNSW index.
· testing / vitest
How to configure Vitest in a Turborepo monorepo
Vitest 4.x dropped the workspace option — it is projects now. This guide covers two approaches (per-package caching and Vitest Projects root), shared config, turbo.json wiring, and coverage aggregation.
· astro / mdx
How to Add MDX to Astro 5 Content Collections
Step-by-step guide to installing @astrojs/mdx and wiring it into Astro 5 Content Layer API — typed frontmatter, component imports, and every pitfall documented.
· jsr / deno
How to Publish a TypeScript Package on JSR: Full Guide
Step-by-step guide to publishing a TypeScript package on JSR: configure jsr.json, fix slow types, publish via Deno or GitHub Actions, and maximize your score.
· cloudflare / workers
How to rate-limit Cloudflare Workers without Redis
Native rate limiting for Cloudflare Workers — no Redis needed. Rate Limiting API for abuse, KV for daily quotas, Durable Objects for exact billing counters.
· astro / mdx
How to write good Astro frontmatter (and validate it)
Add a Zod schema to src/content.config.ts. Frontmatter fields get TypeScript types and build-time validation — no extra dependencies, no runtime surprises.
· cloudflare / cloudflare-workers
How to Deploy a Cloudflare Worker with D1 + Stripe
Build a Stripe webhook handler on Cloudflare Workers with D1. Covers scaffold, wrangler.toml, Drizzle migrations, the raw-body gotcha, and production deploy.
· product-hunt / tutorial
How to launch on Product Hunt as a solo dev (2026)
Comments beat upvotes, coordinated spikes get penalized, and famous Hunters no longer matter. Mechanics-first Product Hunt playbook for solo devs in 2026.
· cloudflare / aws
How to Migrate from AWS to Cloudflare in 2026: The Complete Playbook
Move Lambda, S3, API Gateway, RDS, and SQS to Cloudflare Workers, R2, D1, and Queues — step-by-step with real wrangler.toml snippets, before/after code diffs, and an honest when-not-to section.
· npm / typescript
How to publish an npm package the right way in 2026
Dual ESM/CJS with tsup, a proper exports map, changesets for versioning, and provenance — the complete 2026 workflow that the top-ranking tutorials still miss.
· astro / rss
How to Build an RSS Feed in Astro with @astrojs/rss
Add an RSS feed to your Astro site using @astrojs/rss — covers content collections, rssSchema, auto-discovery, full-post content, and W3C validation.
· trpc / nextjs
How to set up tRPC with Next.js App Router (2026)
tRPC v11 works with Next.js 15 App Router. Covers fetchRequestHandler, SSR prefetch, the QueryClient pattern, and five gotchas that catch first-timers.
· astro / i18n
How to build a multilingual Astro site (EN + VI)
Build an EN+VI Astro 5 site using built-in i18n routing: content collections, locale pages, language switcher, hreflang, and Cloudflare Workers deploy.
· drizzle / postgres
How to Set Up Drizzle ORM with Postgres and pgvector
Set up Drizzle ORM with Postgres 16 and pgvector. Covers the CREATE EXTENSION step most guides skip and the cosine distance pattern that uses the HNSW index.
· bun / typescript
How to write a CLI in TypeScript with Bun and Commander
Bun + Commander is the fastest path to a TypeScript CLI: native TS execution, no build step, subcommands, and a standalone binary. Tutorial with working code.
· monorepo / pnpm
How to Set Up a pnpm + Turborepo Monorepo from Scratch
Correctly bootstrap a pnpm + Turborepo monorepo from scratch with real task caching — v2 "tasks" key, not the deprecated "pipeline" most tutorials use.
· astro / cloudflare
How to Deploy an Astro Site on Cloudflare Pages: Setup Guide
Cloudflare Pages deploys Astro for free with unlimited bandwidth. Step-by-step: adapter install, monorepo root directory fix, env vars, and custom domain.
· biome / eslint
How to migrate from ESLint and Prettier to Biome in 2026
Two commands migrate most of your config automatically. Covers install, rule mapping, editor setup, CI, uninstall — and gaps that block some teams.
· testing / vitest
How to Migrate from Jest to Vitest: Step-by-Step Guide
Vitest runs 28× faster than Jest in watch mode. This guide covers the full migration: install, configure globals, handle config files, and fix six gotchas.
· llm / fine-tuning
How to fine-tune a small LLM in 2026 (LoRA on a laptop)
Fine-tune Llama 3.1 8B with QLoRA on a consumer GPU — pinned Unsloth install, exact training config, GGUF export to Ollama, and eight failure modes.
· nextjs / app-router
How to migrate from Next.js Pages Router to App Router
Migrate Next.js Pages Router to App Router on 16.2.6: root layout, data fetching, Route Handlers, metadata API, and 8 real gotchas with fixes.
· vite / webpack
How to migrate from Webpack to Vite (real project)
Step-by-step Webpack 5 → Vite 8 migration on a TypeScript + React project: before/after configs, env var renaming, CJS interop fixes, and six concrete gotchas.
· multica / self-hosting
How to Self-Host Multica: Setup Guide for AI Agent Teams
Self-host Multica v0.3.1 with three Docker containers and one make command. Quick-start, production hardening, and cost breakdown for AI agent teams.
· claude-code / monorepo
How to set up Claude Code for a monorepo
A hands-on guide to CLAUDE.md hierarchy, per-package scoping, --add-dir, parallel sessions with worktrees, and the gotchas that will bite you first. Verified on Claude Code v2.1.141, May 2026.
· ollama / lm-studio
Ollama vs LM Studio on Mac — which survives daily use?
LM Studio wins on throughput and memory. Ollama wins on time-to-first-token and CLI setup. Here is when each choice makes sense on Apple Silicon.
· claude-code / skills
How to write a Claude Code skill (and ship it to a team)
Claude Code skills are on-demand Markdown guides that extend what the model does. Write one, install it, invoke it — start to finish in 20 minutes.
· mcp / claude-code
How to build an MCP server for Claude Code
Scaffold a TypeScript MCP server with [email protected], register it with Claude Code, and implement two real NWS weather tools — no API key, done in 30 minutes.