---
dimensions:
  type:
    primary: implementation
    detail: standard
  level: beginner
standard_title: Initialize Development Tools
language: en
title: Initializing Development Tools
description: This document details the necessary preparations before developing Dify
  plugins, including complete steps for installing the Dify plugin scaffold tool (dify-plugin-daemon)
  and configuring a Python environment (version requirement ≥3.12). The document also
  provides reference links for developing various types of plugins.
---

Before start to develop Dify plugins please prepare the following prerequisites:

* Dify plugin scaffolding tool
* Python environment, version ≥ 3.12

> The Dify plugin development scaffolding tool, also known as `dify-plugin-daemon`, can be regarded as a plugin development SDK.

### **1. Installing the Dify Plugin Development Scaffolding Tool**

Visit the [Dify plugin GitHub page](https://github.com/langgenius/dify-plugin-daemon/releases) and select and download the version suitable for your operating system.

Using **macOS with M-series chips** as an example: Download the `dify-plugin-darwin-arm64` file from the project address mentioned above. Then, in the terminal, navigate to the file's location and grant it execution permissions:

```
chmod +x dify-plugin-darwin-arm64
```

Run the following command to verify successful installation.

```
./dify-plugin-darwin-arm64 version
```

> If the system shows an "Apple cannot verify" error, go to **Settings → Privacy & Security → Security**, and click the "Open Anyway" button.

After running the command, the installation is successful, if the terminal returns version information like `v0.0.1-beta.15`.

<Info>
**Tips:**

If you want to use the `dify` command globally in your system to run the scaffolding tool, it's recommended to rename the binary file to `dify` and copy it to the `/usr/local/bin` system path.

After configuration, entering the `dify version` command in the terminal will output the version number.

<img
src="https://assets-docs.dify.ai/2025/01/74e57a57c1ae1cc70f4a45084cbbb37e.png"
className="mx-auto"
alt=""
/>
</Info>

### **2. Initialize Python Environment**

For detailed instructions, please refer to the [Python installation](https://pythontest.com/python/installing-python-3-11/) tutorial. Python version 3.12 or higher is required.

### 3. **Develop plugins**

Please refer to the following content for examples of different types of plugin development:

- [Tool Plugin Development Guide](/plugin-dev-en/0211-getting-started-dify-tool) - Hello World introductory tutorial
- [Model Plugin Development Guide](/plugin-dev-en/0211-getting-started-new-model) - Quickly integrate a new model
- [Agent Strategy Plugin Development Guide](/plugin-dev-en/9433-agent-strategy-plugin) - Create custom reasoning strategies
- [Extension Plugin Development Guide](/plugin-dev-en/9231-extension-plugin) - Implement external service integration via Webhook
- [Plugin Packaging and Publishing](/plugin-dev-en/0321-release-overview) - Publish your plugin

## Next Learning Steps

- [Dify Plugin Development: Hello World Guide](/plugin-dev-en/0211-getting-started-dify-tool) - Start your first plugin development
- [Developer Cheatsheet](/plugin-dev-en/0131-cheatsheet) - Learn common commands and concepts
- [General Specification Definitions](/plugin-dev-en/0411-general-specifications) - Learn about plugin metadata configuration

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[Edit this page](https://github.com/langgenius/dify-docs/edit/main/plugin-dev-en/0221-initialize-development-tools.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?title=Documentation%20Issue%3A%20initialize-development-to&body=%23%23%20Issue%20Description%0A%3C%21--%20Please%20briefly%20describe%20the%20issue%20you%20found%20--%3E%0A%0A%23%23%20Page%20Link%0Ahttps%3A%2F%2Fgithub.com%2Flanggenius%2Fdify-docs%2Fblob%2Fmain%2Fplugin-dev-en%2F0221-initialize-development-tools.mdx%0A%0A%23%23%20Suggested%20Changes%0A%3C%21--%20If%20you%20have%20specific%20suggestions%20for%20changes%2C%20please%20describe%20them%20here%20--%3E%0A%0A%3C%21--%20Thank%20you%20for%20helping%20improve%20our%20documentation%21%20--%3E)

