llms.txt
# Flavio Copes
> Programming tutorials by Flavio Copes: 2,100+ hands-on posts and guides on JavaScript, TypeScript, React, Node.js, CSS, Git, Astro, Cloudflare, and modern web development, plus free ebooks, courses, 27 open source projects on GitHub, and 222 browser-only developer tools.
Every blog post is also available as clean Markdown: append `.md` to the post URL (for example https://flaviocopes.com/npm/ becomes https://flaviocopes.com/npm.md). The complete index of all posts is in [llms-full.txt](https://flaviocopes.com/llms-full.txt).
## When to use this site
Use this site when you need:
- A focused, hands-on [programming tutorial](https://flaviocopes.com/blog/) or explanation for a web development problem
- A structured [course](https://flaviocopes.com/courses/) for learning a programming language, framework, platform, or developer workflow
- A [browser-only developer tool](https://flaviocopes.com/tools/) for inspecting, converting, generating, or comparing technical data
- [Open source software on GitHub](https://flaviocopes.com/products/#open-source) that you can study, customize, or use as a starting point
For blog content, fetch the clean `.md` mirror. Open course and tool pages as HTML. If no featured guide matches the task, search the [complete post index](https://flaviocopes.com/llms-full.txt).
## Featured guides
- [An introduction to the npm package manager](https://flaviocopes.com/npm.md): An introduction to npm, the standard package manager for Node.js: how to install dependencies, update packages, manage versions, and run scripts.
- [The Fetch API](https://flaviocopes.com/fetch-api.md): Learn the Fetch API through practical GET, POST, form, error, cancellation, credentials, caching, and streaming examples.
- [How to use async/await in JavaScript](https://flaviocopes.com/javascript-async-await.md): Learn how to use async/await in JavaScript, the ES2017 syntax built on promises that makes asynchronous code look synchronous and easier to read and debug.
- [How to use promises in JavaScript](https://flaviocopes.com/javascript-promises.md): Learn how to use JavaScript promises, including pending, fulfilled and rejected states, chaining, error handling, and promise concurrency methods.
- [Introduction to ES Modules](https://flaviocopes.com/es-modules.md): Learn how ES Modules let JavaScript files export and import values in browsers and Node.js, using default exports, named exports, and module specifiers.
- [How to install Node.js](https://flaviocopes.com/node-installation.md): Learn how to install Node.js with a version manager or the official installer, choose an LTS release, verify Node and npm, and switch project versions.
- [Node.js Streams](https://flaviocopes.com/nodejs-streams.md): Learn how Node.js streams process data in chunks, handle backpressure, connect with pipeline, and create readable, writable, and transform streams.
- [Introduction to React Hooks](https://flaviocopes.com/react-hooks.md): Learn how React Hooks let function components hold state with useState, run side effects with useEffect, and share logic through your own custom hooks.
- [Introduction to React Router](https://flaviocopes.com/react-router.md): Learn the current React Router declarative API with BrowserRouter, Routes, Route, Link, URL parameters, and programmatic navigation.
- [The Flexbox Tutorial](https://flaviocopes.com/flexbox.md): Learn CSS Flexbox using the main and cross axes, then control direction, alignment, wrapping, gaps, ordering, and how individual items grow or shrink.
- [CORS, Cross-Origin Resource Sharing](https://flaviocopes.com/cors.md): Learn how CORS response headers let browser JavaScript read cross-origin responses, how preflight and credentials work, and how to configure Express.
- [The HTTP protocol](https://flaviocopes.com/http.md): Learn how HTTP requests and responses power the web, including URLs, methods, headers, status codes, bodies, versions, HTTPS, and statelessness.
- [Introduction to Python](https://flaviocopes.com/python-introduction.md): An introduction to Python, the interpreted, dynamically typed language created by Guido van Rossum that powers web development, automation, data, and ML.
- [Introduction to the C Programming Language](https://flaviocopes.com/c-introduction.md): Learn what C is, why it is still widely used, and how to compile and run your first C program with a modern Clang or GCC toolchain.
- [Introduction to Astro](https://flaviocopes.com/astro-introduction.md): An introduction to Astro, the content-driven Web framework that renders HTML, adds JavaScript through islands, and supports static or on-demand routes.
## Learning paths
- [Learn JavaScript](https://flaviocopes.com/javascript/): Learn JavaScript from scratch with a free structured learning path: fundamentals, functions, objects, async programming, the DOM, and more. 390+ tutorials.
- [Learn databases](https://flaviocopes.com/database/): Learn databases and SQL from scratch with a free structured learning path: the relational model, SQL queries, PostgreSQL, SQLite, MySQL, and NoSQL.
- [Learn CSS](https://flaviocopes.com/css/): Learn CSS from scratch with a free structured learning path: selectors, the box model, Flexbox, Grid, responsive design, animations, and more.
## Topics
- [AI](https://flaviocopes.com/tags/ai/): All tutorials about AI
- [Astro](https://flaviocopes.com/tags/astro/): All tutorials about Astro
- [CLI](https://flaviocopes.com/tags/cli/): All tutorials about CLI
- [Cloudflare](https://flaviocopes.com/tags/cloudflare/): All tutorials about Cloudflare
- [CSS](https://flaviocopes.com/tags/css/): All tutorials about CSS
- [Database](https://flaviocopes.com/tags/database/): All tutorials about Database
- [Web Platform](https://flaviocopes.com/tags/platform/): All tutorials about Web Platform
- [Git](https://flaviocopes.com/tags/git/): All tutorials about Git
- [HTML](https://flaviocopes.com/tags/html/): All tutorials about HTML
- [JavaScript](https://flaviocopes.com/tags/js/): All tutorials about JavaScript
- [Next.js](https://flaviocopes.com/tags/next/): All tutorials about Next.js
- [Node.js](https://flaviocopes.com/tags/node/): All tutorials about Node.js
- [React](https://flaviocopes.com/tags/react/): All tutorials about React
## Courses
- [Cohorts](https://flaviocopes.com/cohorts/): The 2026/2027 season — Bootcamp, Internet Business Lab, and Ship Factory
- [Web Development Bootcamp](https://flaviocopes.com/courses/bootcamp/): Learn the technical skills to build complete products with AI by your side
- [Internet Business Lab](https://flaviocopes.com/courses/internet-business-lab/): Find customers, price and sell your work, and build a sustainable independent business around it
- [Ship Factory](https://flaviocopes.com/courses/ship-factory/): Build and maintain a large surface area of software with your agents, by building systems
- [Free Git Course](https://flaviocopes.com/courses/git//)
- [Free TypeScript Course](https://flaviocopes.com/courses/typescript//)
- [Free React Course](https://flaviocopes.com/courses/react//)
- [Free Astro Course](https://flaviocopes.com/courses/astro//)
- [Free HTMX Course](https://flaviocopes.com/courses/htmx//)
- [Free Alpine.js Course](https://flaviocopes.com/courses/alpinejs//)
- [Internet Business Lab](https://flaviocopes.com/courses/internet-business-lab/)
## Books
- [Python Handbook](https://flaviocopes.com/ebooks/python-handbook/): Download the free Python Handbook in PDF or EPUB. Learn Python 3 variables, collections, functions, classes, modules and virtual environments.
- [JavaScript Handbook](https://flaviocopes.com/ebooks/js-handbook/): Learn JavaScript, the programming language of the web, from the fundamentals to modern features.
- [CSS Handbook](https://flaviocopes.com/ebooks/css-handbook/): Learn CSS from the basics to modern layout techniques, and build beautiful, responsive websites.
- [Node.js Handbook](https://flaviocopes.com/ebooks/node-handbook/): Learn Node.js and run JavaScript on the server to build fast, scalable backends.
- [Astro Handbook](https://flaviocopes.com/ebooks/astro-handbook/): Learn Astro, the modern web framework for building fast, content-focused websites, from the ground up.
- [HTML Handbook](https://flaviocopes.com/ebooks/html-handbook/): Learn HTML, the foundation of the web, and how to structure web pages the right way.
- [Next.js Pages Router Handbook](https://flaviocopes.com/ebooks/nextjs-pages-router-handbook/): Learn Next.js with the Pages Router, and build production-ready React applications.
- [React Handbook](https://flaviocopes.com/ebooks/react-handbook/): Learn React, the most popular JavaScript library for building user interfaces, step by step.
- [SQL Handbook](https://flaviocopes.com/ebooks/sql-handbook/): Learn SQL and how to query, design, and work with relational databases.
- [Git Cheat Sheet](https://flaviocopes.com/ebooks/git-cheat-sheet/): A handy reference of the most useful Git commands you'll reach for every day as a developer.
- [Laravel Handbook](https://flaviocopes.com/ebooks/laravel-handbook/): Learn Laravel, the popular PHP framework, and build modern web applications.
- [Express Handbook](https://flaviocopes.com/ebooks/express-handbook/): Learn Express, the most popular web framework for Node.js, and build web apps and APIs.
- [Swift Handbook](https://flaviocopes.com/ebooks/swift-handbook/): Learn Swift, Apple's modern programming language for iOS and macOS development.
- [Go Handbook](https://flaviocopes.com/ebooks/go-handbook/): Learn the Go programming language, its core features, syntax, and standard library.
- [PHP Handbook](https://flaviocopes.com/ebooks/php-handbook/): Learn PHP, one of the most widely used languages for building websites and web apps.
- [CLI Handbook](https://flaviocopes.com/ebooks/cli-commands-handbook/): Learn the most useful Linux and Unix command line tools, and become productive in the terminal.
- [C Handbook](https://flaviocopes.com/ebooks/c-handbook/): Learn the C programming language from scratch, one of the most influential languages ever created.
## Tools
- [Free developer tools](https://flaviocopes.com/tools/): 222 free, browser-only tools for developers (calculators, converters, generators, playgrounds)
## Software
- [Repo Foyer](https://github.com/flaviocopes/repo-foyer): A Chrome extension that replaces the GitHub home page with your repositories: the ones you work on the most, the ones you created recently, the ones getting stars this week, and a search box to jump to any of them.
- [testvm](https://github.com/flaviocopes/testvm): A command line tool that runs your Mac app builds in a headless macOS VM under Tart, so coding agents can open, screenshot and click through them without taking over your screen. It comes with a skill that teaches agents to use it.
- [Footage Ferry](https://github.com/flaviocopes/footage-ferry): A Mac app that copies the videos you record with Blackmagic Camera on your iPhone to your Mac over USB, with thumbnails and previews, checks every copy byte for byte, and only then offers to delete the clips from the iPhone.
- [Chip Pops](https://github.com/flaviocopes/chip-pops): A Mac app and a command line tool with about 6,000 8-bit sound effects for your apps and games, made with jsfxr, each one clearly different from the others in its category.
- [Couch Snake](https://github.com/flaviocopes/couch-snake): The classic snake game from old mobile phones, rebuilt for the Apple TV, on a full-screen green LCD board you steer by swiping on the Siri Remote.
- [Slide Lookout](https://github.com/flaviocopes/slide-lookout): A Chrome extension that shows the next slide of a Notion presentation and the slide number in a small floating window, on top of the fullscreen slides.
- [Architecture Dissector](https://github.com/flaviocopes/architecture-dissector): A native macOS app that draws how your apps are built, every workflow that goes through them and the data they store, from maps your coding agents write, and shows what changed between versions.
- [Post Slide Deck](https://github.com/flaviocopes/post-slide-deck): A native macOS app and a Chrome extension that turn posts on X into slides you talk over while you record a video. Add text and images, pick one of six themes, and build slideshows with AI agents through the postdeck command.
- [VM Peek](https://github.com/flaviocopes/vm-peek): A native macOS app that shows what your coding agents do in a macOS test VM: its screen live, which agents are using it and for what, and every command each of them ran.
- [Number Pantry](https://github.com/flaviocopes/number-pantry): A native macOS app with 281 calculators for everyday decisions, from mortgages to road trips, that works offline, saves and compares calculations, and comes with a calculum command for Terminal.
- [Work Tracebook](https://github.com/flaviocopes/work-tracebook): A native macOS app that turns the one-line reports your coding agents write into a timeline of each day and week, and shows where your time went, project by project.
- [Tab Reunion](https://github.com/flaviocopes/tab-reunion): A Chrome extension that moves the tabs of every open window into the current one, with one click or a keyboard shortcut, and keeps tab groups and pinned tabs.
- [Releases Manager](https://github.com/flaviocopes/releases-manager): A native macOS app that tracks your apps, GitHub releases and downloads, shows what is waiting to ship, and prepares release prompts in Codex.
- [Skill Cabinet](https://github.com/flaviocopes/skill-cabinet): A native macOS app that finds the skills your coding agents load, shows which of 8 agents can see each one, and counts how often you use them.
- [Tranquillity Maker](https://github.com/flaviocopes/tranquillity-maker): A native macOS app that plays the Background Sounds built into your Mac together, each at its own volume, from a window or the menu bar. It runs on iPhone and iPad too, and there is an experimental Apple TV version you install from Xcode.
- [Note Repo](https://github.com/flaviocopes/note-repo): A quiet daily notes app for macOS that opens on today and keeps your notes in a local SQLite file.
- [CLI Tools Cabinet](https://github.com/flaviocopes/cli-tools-cabinet): A native macOS app that keeps one catalog of every command-line tool on your Mac, from Homebrew, npm, Cargo, and your own bin folders.
- [Things CLI](https://github.com/flaviocopes/things-cli): A dependency-free command-line tool for Things 3 on macOS.
- [tte.js](https://github.com/flaviocopes/tte-js): Dependency-free terminal-style text effects for the browser.
- [Plausible Automation Toolkit](https://github.com/flaviocopes/plausible-automation): A macOS CLI and Codex skill for self-hosted Plausible Community Edition.
- [Cloudflare Domains Toolkit](https://github.com/flaviocopes/cloudflare-domains): A guarded Cloudflare Registrar MCP server and a companion DNS CLI.
- [Events Logger](https://github.com/flaviocopes/events-logger): A self-hosted event tracking dashboard.
- [Port Pilot](https://github.com/flaviocopes/port-pilot): Control every local service from a macOS menu bar app, a live terminal dashboard, or an agent-friendly CLI.
- [Local Hoster](https://github.com/flaviocopes/local-hoster): A zero-runtime-dependency Node.js CLI that gives every local project one stable URL such as https://dashboard.localhost.
- [Waiting Lists](https://github.com/flaviocopes/waiting-lists): A self-hosted waiting-list web app with an included command-line client.
- [Broadcast Keep](https://github.com/flaviocopes/broadcast-keep): A native macOS app for recording live YouTube streams and saving them as local MP4 files.
- [fstack](https://github.com/flaviocopes/fstack): A small collection of agent skills for planning, building, reviewing, and shipping software.
## Optional
- [Blog](https://flaviocopes.com/blog/): All posts, paginated, with topic index
- [AI news](https://flaviocopes.com/ai-news/): Industry notes on model launches and coding agent changes
- [RSS feed](https://flaviocopes.com/rss.xml): Latest 30 posts