MCPcopy Index your code
hub / github.com/dy0gu/mattermost-plugin-freemium

github.com/dy0gu/mattermost-plugin-freemium @v1.10.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.10.0 ↗ · + Follow
35 symbols 79 edges 14 files 10 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Keeping it clean 🧹💼

This plugin was created to remove all free tier labels, warnings, and enterprise upgrade reminders from the Mattermost free edition web interface. It is intended to support a clean, self-hosted experience free from branding or ads tied to the original platform. It has now also evolved to provided QOL fixes for some less updated plugins.

Initially, the idea was to allow custom user CSS branding via a plugin settings text box. However, this was discarded out of respect for the Mattermost team, as they've since implemented this feature in the enterprise edition.

To clarify, this plugin is not intended to undermine Mattermost's work. The paid editions are vital to the platform's continued development and the talented team behind it. If you can, consider supporting them. Instead, this plugin provides an alternative for those who cannot purchase a paid edition or are restricted by legal or branding requirements.

Feel free to raise issues for any areas you think the plugin should address but currently doesn't.

Here is a non-exhaustive showcase of some of the changes made by the plugin:

1 2

Usage 🚀

Compatibility 📀

The plugin has been tested with the following versions:

  • 10.x
  • 11.x

Any new version is likely also compatible out of the box, if not, please raise an issue.

The team, entry, professional and enterprise editions should all work with the plugin. Some of the features may only be revelant to lower tier editions since the higher tiers already offer customization options.

Development 🛠️

See below for setting up a local workspace to work on the plugin, this section is targeted at developers.

The project structure here consists of a highly modified and optimized version of the mattermost-plugin-starter-template. Testing and development workflows have been removed to preserve plugin simplicity. This means the plugin must be rebuilt and manually uploaded into a Mattermost instance anytime you want to test it.

The plugin build version will be based on the version.txt file that automatically gets bumped by the CI pipeline when a release is made.

A docker-compose.yaml file is provided to quickly spin up two (team and enterprise) local Mattermost instances for testing. It is self-contained with dummy environment variables already set and usually requires no additional configuration.

  • Requirements 📋

  • Go (version)

  • Node (version)
  • Python (version)
  • Docker (latest is always recommended unless something here is deprecated)

  • Getting Started 🏁

  • Clone this repository.

  • Refer to each folder for instructions on that particular module.

  • Start instances for testing the plugin upload, using the provided docker-compose.yaml file:

    shell docker compose up --force-recreate

    The enterprise edition instance will be available at http://localhost:8065 and the team edition at http://localhost:8066.

  • Build 📦

  • Run the cross-platform build script to automatically create an installable plugin artifact:

    shell python build.py

  • The resulting tar.gz file is in the format accepted by Mattermost. You can use the provided docker-compose.yaml file to quickly spin up a local Mattermost instance for testing. It is self-contained and requires no additional configuration.

  • Tools 🧰

  • Pre-commit hooks to run project formatting and linting:

    ```shell

    Needs the dependencies of all modules installed to run correctly!

    pip install lefthook lefthook install

    When using pre-commit hooks, git commands will fail if any files are checked with errors.

    These files must be added to the staging area and commited again after being fixed up.

    ```

  • Notes 💡

  • This repository is a heavily modded version of the official mattermost-plugin-starter-template, to simplify debugging and development.

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
web/src/main.tsx
PluginRegistry (Interface)
(no doc)
web/src/types/mattermost.d.ts

Core symbols most depended-on inside this repo

_load_plugin_json
called by 1
build.py
_get_plugin_version
called by 1
build.py
clean
called by 1
build.py
build_api
called by 1
build.py
build_web
called by 1
build.py
bundle
called by 1
build.py
main
called by 1
build.py
ServeHTTP
called by 1
api/src/router.go

Shape

Method 20
Function 8
Class 3
Interface 2
Struct 2

Languages

TypeScript43%
Python29%
Go29%

Modules by API surface

build.py10 symbols
web/src/main.tsx6 symbols
api/src/configuration.go5 symbols
web/src/types/mattermost.d.ts3 symbols
web/src/scripts/boards.ts3 symbols
api/src/router.go3 symbols
web/src/utils/script-injector.ts1 symbols
web/src/utils/css-injector.ts1 symbols
web/src/requests/config.ts1 symbols
api/src/plugin.go1 symbols
api/src/main.go1 symbols

For agents

$ claude mcp add mattermost-plugin-freemium \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page