https://github.com/PlasmoHQ/plasmo Skip to content Sign up * Product + Features + Mobile + Actions + Codespaces + Packages + Security + Code review + Issues + Integrations + GitHub Sponsors + Customer stories * Team * Enterprise * Explore + Explore GitHub + Learn and contribute + Topics + Collections + Trending + Learning Lab + GitHub Sponsors + Open source guides + Connect with others + The ReadME Project + Events + Community forum + GitHub Education + GitHub Stars program * Marketplace * Pricing + Plans + Compare plans + Contact Sales + Education [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} PlasmoHQ / plasmo Public * Notifications * Fork 0 * Star 152 The browser extension framework License MIT license 152 stars 0 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights PlasmoHQ/plasmo This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags 6 branches 0 tags Code Latest commit @ColdSauce ColdSauce Merge branch 'main' of github.com:PlasmoHQ/plasmo ... abcf3a7 Jun 3, 2022 Merge branch 'main' of github.com:PlasmoHQ/plasmo abcf3a7 Git stats * 172 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github Fix PR template Jun 3, 2022 .vscode Migrate to utils, bump deps May 24, 2022 cli Fix up readme Jun 3, 2022 examples @ 57791e7 Update examples Jun 3, 2022 extensions Bump dependencies Jun 2, 2022 packages Merge branch 'main' of github.com:PlasmoHQ/plasmo Jun 3, 2022 templates Bump dependencies Jun 2, 2022 .gitignore Initialize monorepo with submodules May 2, 2022 .gitmodules Fix submodule typo May 30, 2022 .npmrc Upgrade storage, bump deps May 19, 2022 .prettierrc.cjs Bump dependencies May 30, 2022 license Initialize monorepo with submodules May 2, 2022 package.json Update pnpm Jun 3, 2022 pnpm-lock.yaml Update pnpm Jun 3, 2022 pnpm-workspace.yaml Migrate to utils, bump deps May 24, 2022 turbo.json Implement with-src, split resolver into stages May 31, 2022 View code [ ] Plasmo Framework Features System Requirements Examples Documentation Usage Directories Community Contributing Disclaimer License README.md plasmo logo See License NPM Install Follow PlasmoHQ on Twitter Watch our Live DEMO every Friday Join our Discord for support and chat about our projects Plasmo Framework The Plasmo Framework is a battery-packed browser extension SDK made by hackers for hackers. Build your product and stop worrying about config files and the odd peculiarities of building browser extensions. It's like Next.js for browser extensions! CLI Demo Features * First-class React + Typescript Support * Declarative development with manifest.json auto-generation (MV3) * Live-reloading * .env* files * Remote code bundling (e.g for gtag4) * Automated deployment (via BPP) * And many, many more! System Requirements * Node.js 16.x or later * MacOS, Windows, or Linux * (Strongly Recommended) pnpm Examples We have examples showcasing how one can use Plasmo with Firebase Authentication, Redux, Supabase authentication, Tailwind, and many more. To check them out, visit our examples repository. Documentation Check out the documentation to get a more in-depth view into the Plasmo Framework. Usage pnpm dlx plasmo init example-dir cd example-dir pnpm dev The road ahead is filled with many turns. * Popup changes go in popup.tsx * Options page changes go in options.tsx * Content script changes go in content.ts * Background service worker changes go in background.ts Directories You can also organize these files in their own directories: ext-dir +---assets | +---icon512.png +---popup | +---index.tsx | +---button.tsx +---options | +---index.tsx | +---utils.ts | +---input.tsx +---contents | +---site-one.ts | +---site-two.ts | +---site-three.ts ... Finally, you can also avoid putting source code in your root directory by putting them in a src sub-directory, following this guide. Note that assets and other config files will still need to be in the root directory. Community The Plasmo community can be found on Discord. This is the appropriate channel to get help with using the Plasmo Framework. Our Code of Conduct applies to all Plasmo community channels. Contributing Please see the contributing guidelines to learn more. Disclaimer Plasmo is currently alpha software, and some things might change from version to version, so please be mindful and use it at your own risk. License MIT Plasmo About The browser extension framework Resources Readme License MIT license Code of conduct Code of conduct Stars 152 stars Watchers 1 watching Forks 0 forks Used by 2 * @PlasmoHQ @PlasmoHQ / examples * @PlasmoHQ @PlasmoHQ / nextjs-new-tab * @PlasmoHQ @PlasmoHQ / mice Contributors 2 * @louisgv louisgv L * @ColdSauce ColdSauce Stefan Aleksic Languages * TypeScript 88.8% * JavaScript 10.2% * HTML 1.0% * (c) 2022 GitHub, Inc. * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.