Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Astro + Bun starter template for building Manifest V3 browser extensions with TypeScript.

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Catonaut is a Manifest V3 browser extension starter template that uses Astro to build the popup UI and Bun as the runtime and bundler.
Catonaut is a GitHub template that scaffolds a Chrome and Firefox extension project with Astro and Bun. It takes TypeScript source files for content and background scripts plus an Astro popup page, and outputs a buildable extension in the dist folder that can be loaded unpacked. The template targets Manifest V3, includes Firefox-specific browser settings, and has a companion Node.js + npm version in the catonaut-node repository. It is authored by AminoffZ and released under the MIT License.
bun create catonaut scaffolds a new extension.bun run icons creates icons at 16, 32, 48, and 128 pixel sizes referenced by the manifest.bun run dev serves the popup as a standalone website in your browser for real-time UI development.bun create catonaut [AppName] to quickly get a working Manifest V3 project with a popup.After cloning the template or running the create command, install dependencies with bun i. Edit the source files: the manifest at the root, the popup in src/pages/index.astro, and the content and background scripts in src/scripts. Run bun run build to compile everything into the dist folder, then load that folder as an unpacked extension in Chrome or Firefox. For popup-only UI work, use bun run dev to preview it as a normal web page.
Catonaut is free and open source under the MIT License, so it can be used in personal and commercial extension projects without payment.
Yes. The template is released under the MIT License, meaning you can use, modify, and distribute it freely, including in commercial projects.
Catonaut builds a browser extension in the dist folder as an unpacked extension. It compiles TypeScript content and background scripts, generates the popup from Astro, and copies public assets into the output.
The README recommends having some understanding of extension development before starting, and links to Chrome and Firefox documentation for beginners. The template handles the build setup, but you still need to write the extension logic.
Yes. The author provides a separate repository called catonaut-node that offers a Node.js + npm version of the same template, for developers who don't use Bun.
Run bun run build to create the dist folder, then open your browser's extension management page and load the dist folder as an unpacked extension. You can also test the popup alone with bun run dev.