This is the official repository for FrankerFaceZ Add-Ons. Add-Ons are additional scripts that users can choose to load to add additional functionality to FrankerFaceZ and Twitch.
All Add-Ons available through FrankerFaceZ have their source code
available here. Each mod has a unique directory within src
that
contains a manifest file, as well as all its scripts, styles, and
other assets.
This package uses the pnpm package manager.
src/example
directory, making a new directory within src
with
the name of your add-on.manifest.json
with details about your add-on.pnpm install
within the repository to install dependencies.pnpm start
to start the development server.Use Local Development Server
.Note: Changes made to your add-on's manifest will require that you restart the development server to take effect.
enabled
to true
in your add-on's manifest, then
submit a pull request to bring your code into this repository's master branch.Unfortunately, we lack significant documentation at this time. Please study the source code of existing add-ons for examples, and the source of FFZ itself.
You can always ask for help and implementation suggestions.
Do use existing FrankerFaceZ systems, such as settings, whenever possible.
Do ask for tips, suggestions, and support in our public Discord, on Twitter, or within GitHub issues. We're glad to help.
Don't include external scripts in your add-on. We don't want to increase the security vulnerability surface if we can help it.
Don't interfere with Twitch's revenue streams. Attempting to interfere with advertisements is outside the scope of FrankerFaceZ and will not be accepted. There are other extensions better prepared to take up that fight.
Don't use FFZ
or FrankerFaceZ
in the name of your add-on. In the past,
we allowed certain add-ons to share the name to demonstrate their association
with FrankerFaceZ and this has resulted in confusion amongst end users. We wish
to avoid the situation going forward.
Don't mess with eslint or babel settings without asking about it.
Don't recreate FFZ functionality when a pull request to the main FrankerFaceZ project would be more productive.
For matters regarding extension development, please join our public
FrankerFaceZ Discord. Upon joining, please
request the Developer
role for access to developer specific channels.
For other matters regarding FrankerFaceZ or Add-Ons for it, please contact the Add-On developer or FrankerFaceZ staff as described at: https://www.frankerfacez.com/contact