Project Lifecycle ================= Creating a New Project ---------------------- To start a new Blender extension project: 1. Go to **File** > **New Project...**. 2. Select **Blender Extension** from the left-hand list. 3. **Project Name**: As you type, the project location and **Addon ID** are automatically synchronized. The Addon ID is formatted to snake_case as required by Blender. 4. **Blender Manifest Wizard**: - **Addon ID**: Unique identifier (e.g., ``my-cool-extension``). - **Metadata**: Set the Tagline, Maintainer name, and optional Website/Tags. - **Blender Versions**: Define the minimum (and optional maximum) supported Blender versions. - **Platforms**: Specify supported platforms (e.g., ``windows-x64, macos-arm64``). - **Permissions**: If your extension needs special access (Network, Filesystem, etc.), check the relevant box and provide a mandatory reason (max 64 characters, no trailing period). Bootstrapping Options --------------------- - **Add automatic module/class registration script**: Includes ``auto_load.py`` and an autoload-ready ``__init__.py`` to simplify complex project structures. - **Append pre-made agent guidelines**: Adds a premade ``.agent-guidelines.md`` document to help AI coding agents understand your project structure. - **Create Git repository**: Automatically initializes a Git repository in the project folder. Creating a Simple (Legacy) Add-on or Module ------------------------------------------- If you don't need the full extension structure and manifest, you can create a single-script add-on or a boilerplate module: 1. Right-click on a directory in the **Project** view. 2. Select **New** > **Blender File**. 3. Choose either **Blender Add-on** or **Blender Module**. 4. Enter a filename. 5. The plugin generates the boilerplate: - **Add-on**: Standard ``bl_info`` dictionary, sample operator, and registration logic. - **Module**: Standard imports (``bpy``, ``T``, ``P``, ``O``, ``U``), empty ``register``/``unregister``, and ``if __name__ == "__main__":`` block.