Skip to content

Getting Started

Caido allows users to develop custom features in the form of plugins.

Plugin development is done in JavaScript and consists of many parts:

  • A caido.config.ts/manifest.json file
  • A frontend plugin
  • A backend plugin

These parts are packaged together in a single entity known as a plugin package.

For more information on the structure of a plugin package, see Plugin Architecture.

Creating a Plugin Package

Requirements

Plugins are developed in JavaScript and require the following to be installed on your device:

To get started with plugin development, run the following command:

bash
pnpm create @caido-community/plugin

Then follow the prompts! This will create a new directory containing a template plugin package.

From inside the package directory, run the following command to install the project dependencies:

bash
pnpm install

Finally, run the following command to build your plugin into a dist/plugin_package.zip file:

bash
pnpm build

You can then install this plugin package directly from the Caido application.

Hot Reload

Instead of uninstalling, rebuilding, and installing your plugin to view the changes you make during development, Caido offers the Devtools plugin that will auto-update the plugin whenever code changes are detected.

To use the Devtools plugin:

  1. First navigate to the Plugins interface, select Community Store, and click + Install.

  2. Next, run the following command from the root directory of the plugin to both build and watch for file changes:

bash
pnpm watch
Output of pnpm watch command.
  1. Then, input the development server URL in the Devtools plugin and click the Connect button.
Development server URL input.

What's next?

Now that you've created your first package, you can start building out your own frontend and backend plugins.

We highly recommend looking at existing plugins in the Community Store to get an idea of what's possible. All plugins are open-sourced and available for you to review and learn from.

There are also a few guides available on this site to help you get started.