UNPKG

mdk

Version:

Command line tool for generating Mattermost integration and plugin templates

84 lines (59 loc) 2.27 kB
# mdk - Mattermost Developer Kit (experimental) mdk is a tool for generating and managing templates for Mattermost integrations and plugins in Go and JavaScript. The tool is still experimental and subject to changes. ## Install ``` npm install -g mdk ``` ## Usage ``` mdk init --help ``` ### Plugins 1. Generate a template for a web/desktop app plugin in the current directory: ``` mdk init plugin ``` 2. Switch into the plugin directory and code your plugin: ``` cd your-plugin ``` [See the template explanation for more information](https://github.com/mattermost/mdk/tree/master/templates/webapp/README.md#template) 3. Once the plugin is ready, build it: ``` make build ``` ### Integrations 1. Generate an integration in the current directory: ``` mdk init integration ``` 2. Switch into the integration directory and code your integration: ``` cd your-integration ``` [See the template explanation for more information](https://github.com/mattermost/mdk/tree/master/templates/rest-api/README.md#template) 3. To test your integration, run it: ``` make run ``` 4. Once done, build distributables for Linux, Mac OSX and Windows: ``` make dist ``` This command will write a distributable of your plugin to `dist/your-plugin.tar.gz`. You can then take this and upload it to your Mattermost server. ## Current Features * Generate template for web and desktop app plugins. * Generate template for REST API integrations. ## Planned Features * Advanced features for the webapp plugin template (Redux store, etc.) * Generate templates for server plugins. * Generate templates for webhook and slash command integrations, including bot integrations, in both JavaScript and Go. * Generate templates for OAuth2 integrations in both JavaScript and Go. * Manage generated integrations and plugins, such as adding features to an existing plugin. ## Templates Explanations of each of the different templates can be found in their respective READMEs: * [Plugins](https://github.com/mattermost/mdk/tree/master/templates/plugins/README.md#template) * [Webapp](https://github.com/mattermost/mdk/tree/master/templates/webapp/README.md#template) * Integrations * [REST API](https://github.com/mattermost/mdk/tree/master/templates/rest-api/README.md#template)