explaingit

plasmohq/plasmo

13,028TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A TypeScript framework that simplifies building browser extensions for Chrome, Firefox, and other browsers with a modern developer workflow.

Mindmap

mindmap
  root((Plasmo))
    What it is
      Browser extension framework
      TypeScript based
      Developer tooling
    Supported browsers
      Chrome
      Firefox
      Edge
    Benefits
      Manifest handled for you
      Hot reloading
      Structured layout
    Audience
      Web developers
      Extension builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Build a Chrome extension without manually writing and maintaining a manifest file

USE CASE 2

Create a browser extension using TypeScript with hot reloading during development

USE CASE 3

Develop a cross-browser extension that targets Chrome and Firefox from a single codebase

Tech stack

TypeScriptJavaScript

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Node.js, visit PlasmoHQ/plasmo on GitHub for current setup commands.

In plain English

Plasmo is a framework for building browser extensions. Browser extensions are small programs that add functionality to web browsers like Chrome, Firefox, and Edge. They can modify web pages, block content, manage passwords, add keyboard shortcuts, and interact with browser capabilities that regular websites cannot access. Building a browser extension from scratch typically involves manual configuration of manifest files, background scripts, and browser-specific code. Plasmo is designed to simplify this setup. The framework is written in TypeScript, which is a version of JavaScript that adds type checking to catch errors before code runs. TypeScript has become a widely used choice for larger frontend projects because it makes it easier to work with complex data structures and collaborate across a team. By building on TypeScript, Plasmo fits into the modern web development toolchain that many browser extension developers already use. With over 13,000 stars on GitHub, Plasmo has attracted significant attention from developers building browser extensions. A framework at this star count in a relatively specialized niche indicates that developers have found it meaningfully more productive than assembling the pieces manually. The README for this repository was not available in the source data, so specific details about the project structure, configuration options, supported browsers, and developer commands cannot be described here. Readers who want to understand how Plasmo works, what commands it provides, and how to start a new extension project should visit the repository directly or consult the project documentation. Browser extension development is an area where tooling has historically lagged behind general web development. Frameworks like Plasmo try to bring modern workflows, such as hot reloading during development and a structured project layout, to the extension development experience.

Copy-paste prompts

Prompt 1
How do I create a new browser extension project with Plasmo and what commands do I use to start developing?
Prompt 2
I want to build a Chrome extension that modifies web pages. How does Plasmo handle content scripts?
Prompt 3
How do I use Plasmo to build an extension that stores data and shows a popup when the toolbar icon is clicked?
Prompt 4
What does a Plasmo project structure look like and how do I publish the finished extension to the Chrome Web Store?
Open on GitHub → Explain another repo

← plasmohq on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.