### Install Todoist using Snap on Linux Source: https://www.todoist.com/help/articles/install-todoist-for-linux-KgKaJa6H This snippet shows the terminal commands required to install Todoist using the Snap package manager on a Linux system. It includes the command to install the Todoist snap and a command to enable experimental features for app awareness during refreshes, which helps prevent disruptions. ```bash sudo snap install todoist sudo snap set core experimental.refresh-app-awareness=true ``` -------------------------------- ### Install Todoist UI Extension Packages (npm) Source: https://www.todoist.com/help/articles/build-your-first-todoist-ui-extension-Tu1aQhceS Installs necessary packages for building a Todoist UI Extension, including express for the server, nodemon for development, and TypeScript-related packages. It also installs development dependencies for type checking. ```bash npm init -y npm install express nodemon ts-node typescript @doist/ui-extensions-core npm install @types/express @types/node --save-dev ``` -------------------------------- ### Todoist Action Bridge Example Source: https://www.todoist.com/help/articles/build-your-first-todoist-ui-extension-Tu1aQhceS Example of a Todoist response containing client-side actions (bridges). This specific example instructs the client to append text to the composer and then finish the extension. ```json { "bridges": [ { "bridgeActionType": "composer.append", "args": { "text": "Some text to append" } }, { "bridgeActionType": "finished" } ] } ``` -------------------------------- ### Todoist UI Response Card Example Source: https://www.todoist.com/help/articles/build-your-first-todoist-ui-extension-Tu1aQhceS Example JSON structure for returning a UI element to the Todoist client, using an Adaptive Card format. This card displays a simple text block. ```json { "card": { "type": "AdaptiveCard", "body": [{ "text": "Welcome, my friend!", "type": "TextBlock" }], "...": "..." } } ```