Skip to content

devtools-fm/devtools.fm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

544 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevTools.fm

A podcast about developer tools and the people who make them.

Getting Started

Prerequisites

  • mise - for managing Node.js and pnpm versions

Installation

# Install mise (if not already installed)
curl https://mise.run | sh

# Install project dependencies and tools
mise install          # Installs Node.js 22.17.0 and pnpm 10.14.0
mise run install      # Installs npm dependencies

# Start development server
mise run dev

Open http://localhost:3000 to view the site.

Development Commands

All commands can be run through mise for consistent environment management:

mise run dev                # Start Next.js dev server
mise run build              # Build for production (includes RSS generation)
mise run build-rss          # Generate RSS feed only
mise run create-new-episode # Create a new episode template
mise run publish-episode    # Publish an episode (see PRODUCTION_PROCESS.md)

Alternatively, you can use pnpm directly after running mise install:

pnpm dev                    # Start Next.js dev server
pnpm build                  # Build for production
pnpm build-rss              # Generate RSS feed only
pnpm create-new-episode     # Create a new episode template
pnpm publish-episode        # Publish an episode

Project Structure

devtools.fm/
├── app/                    # Next.js App Router pages and API routes
│   ├── episode/[id]/       # Individual episode pages
│   ├── episodes/           # Episode listing
│   ├── guests/             # Guest information
│   ├── sponsors/           # Sponsor pages
│   └── api/                # API endpoints for forms
├── pages/episode/          # Episode content (MDX files)
│   ├── 1.mdx              # Episode 1
│   ├── 2.mdx              # Episode 2
│   └── ...                # Episodes 3-148+
├── components/             # React components
├── utils/                  # Utility functions
│   ├── processMdx.ts      # MDX parsing and processing
│   └── generate-rss.ts    # RSS feed generation
├── scripts/                # Build and content scripts
└── public/                 # Static assets

Episode Format

Episodes are written in MDX format with structured content:

---
title: "Episode Title"
youtube: https://youtube.com/watch?v=VIDEO_ID
spotify: https://open.spotify.com/episode/EPISODE_ID
tags: tag1, tag2, tag3
---

{/* TAB: SHOW NOTES */}
Episode description and links...

{/* TAB: SECTIONS */}
00:00 - Introduction
05:30 - Main topic
...

{/* TAB: TRANSCRIPT */}
**Speaker Name:** Transcript content...

Contributing

For information on the production process and how to create new episodes, see PRODUCTION_PROCESS.md.

License

This project is open source and available under the MIT License.

Acknowledgments

Thanks to Vercel for hosting and to all our supporters and sponsors who make this podcast possible.