Companion Module Developers' Guide
This section describes everything you need to know to develop your own modules for Companion. Below is an outline of the top-level pages and folders in this section. For pages, the main headings inside each file are listed as bulleted lines. Folders are shown preceded by '> ', and the immediate contents of that folder are shown below it using "└─ " to indicate pages (or subfolders) inside that folder.
Getting Started with Modules
- Prerequisites
- Install Companion
- Set up the Development Folder
- Clone or Copy a module from GitHub
- Install the dependencies
- Start working on your module
Setting up a Dev Folder
Module Development 101
Debugging Modules
> Module Setup
⠀⠀├── Essential Files
⠀⠀├── manifest.json file
⠀⠀├── Code Quality Configs
⠀⠀├── TypeScript Config
⠀⠀└── Unit Testing Config
> Connections: Basics
⠀⠀├── Overview
⠀⠀├── Logging
⠀⠀├── Connecting to the device
⠀⠀├── User-Config Definitions
⠀⠀├── Action Definitions
⠀⠀├── Feedback Definitions
⠀⠀├── Input Fields (Options)
⠀⠀├── Variables
⠀⠀├── Presets (API 2.x)
⠀⠀├── Presets (API 1.x)
⠀⠀└── Upgrade Scripts
> Connections: Advanced
⠀⠀├── Bonjour Device Discovery
⠀⠀├── OAuth Authentication
⠀⠀├── HTTP Handler
⠀⠀├── "Learn" function
⠀⠀├── Migrating to Boolean Feedbacks
⠀⠀├── Runtime Permissions
⠀⠀└── Setting Custom Variables
> Module Release and Maintenance
⠀⠀├── @companion-module Libraries
⠀⠀├── Package a module
⠀⠀├── Release a module
⠀⠀├── Rename a module
⠀⠀├── Updating Node.JS
⠀⠀├── Custom @companion-module/base
⠀⠀└── Upgrading from Companion 2.x
> API Changelog
⠀⠀├── API 2.0 (Companion 4.3+)
⠀⠀├── API 1.14 (Companion 4.2+)
⠀⠀├── API 1.13 (Companion 4.1+)
⠀⠀├── API 1.12 (Companion 4.0+)
⠀⠀├── API 1.11 (Companion 3.5+)
⠀⠀├── API 1.10 (Companion 3.4+)
⠀⠀├── API 1.8 (Companion 3.3+)
⠀⠀├── API 1.7 (Companion 3.2+)
⠀⠀└── API 1.5 (Companion 3.1+)