Skip to main content

Folder structure

After you install the create-plugin tool and have answered the prompts, your project should look similar to this:

myorg-myplugin-datasource/
├── .config/
├── .eslintrc
├── .github
│   └── workflows
├── .gitignore
├── .nvmrc
├── .prettierrc.js
├── CHANGELOG.md
├── LICENSE
├── Magefile.go
├── README.md
│   └── integration
├── docker-compose.yaml
├── go.mod
├── go.sum
├── jest-setup.js
├── jest.config.js
├── node_modules
├── package.json
├── pkg
│   ├── main.go
│   └── plugin
├── playwright.config.ts
├── src
│   ├── README.md
│   ├── components
│   ├── datasource.ts
│   ├── img
│   ├── module.ts
│   ├── plugin.json
│   └── types.ts
├── tsconfig.json
└── tests

Required files

You must have files with these exact filenames:

FilenameDescription
./go.modGo modules dependencies. Refer to Golang documentation
./src/plugin.jsonA JSON file describing the plugin.
./src/module.tsThe entry point of the frontend plugin.
./pkg/main.goThe entry point of the backend plugin.

Optional files

These files in your project are optional:

FilenameDescription
./Magefile.goWe strongly recommend using mage build files so that you can use the build targets provided by the backend plugin SDK.