module
Lapis::Docs::B_LAPIS_CLI_AND_TOOLCHAIN::G_ADDON_AND_SHARD_MANAGEMENT
Overview
Addon & Shard Dependency Management
Comprehensive guide to adding, updating, and removing community GDExtension addons and Crystal shard packages in your Godot project.
Executive Summary & Key Topics
| Topic | Method / Anchor | Description |
|---|---|---|
| The Two Dependency Types | .topic_00_package_types |
Godot GDExtension Addons (in addons/) vs Crystal Shards (in shard.yml). |
| lapis addon: Installing GDExtensions | .topic_01_addon_installation |
Installing precompiled addons or compiling from GitHub repositories. |
| lapis addon uninstall: Clean Removal | .topic_02_addon_uninstallation |
Disabling and removing an addon cleanly from project configuration. |
| lapis shard: Managing Crystal Dependencies | .topic_03_shard_management |
Adding, updating, and removing Crystal shard dependencies. |
Related Guides & Source References
- Addon Installer:
tools/lapis/src/commands/install_addon.cr - Shard Manager:
tools/lapis/src/commands/shard_manager.cr - Live Specs:
spec/lapis_install_addon_spec.cr
Defined in:
libgodot/docs/b_lapis_cli_and_toolchain/g_addon_and_shard_management.crClass Method Summary
-
.topic_00_package_types : Nil
The Two Dependency Types: Godot GDExtension Addons (in addons/) vs Crystal Shards (in shard.yml).
-
.topic_01_addon_installation : Nil
lapis addon: Installing GDExtensions: Installing precompiled addons or compiling from GitHub repositories.
-
.topic_02_addon_uninstallation : Nil
lapis addon uninstall: Clean Removal: Disabling and removing an addon cleanly from project configuration.
-
.topic_03_shard_management : Nil
lapis shard: Managing Crystal Dependencies: Adding, updating, and removing Crystal shard dependencies.
Class Method Detail
The Two Dependency Types: Godot GDExtension Addons (in addons/) vs Crystal Shards (in shard.yml).
Key Topics & Information
- GDExtension Addons: Binary plugins loaded by Godot Engine (managed via lapis addon)
- Crystal Shards: Compiled language libraries & dependencies (managed via lapis shard)
lapis addon: Installing GDExtensions: Installing precompiled addons or compiling from GitHub repositories.
To install a GDExtension addon into your Godot project:
# Install from GitHub repository:
lapis addon install github:owner/repo
# Install specific release tag:
lapis addon install github:owner/repo@v1.2.0
# Install from local archive:
lapis addon install path/to/addon.zip
What Happens Automatically:
- Downloads and extracts the addon into
addons/<name>. - Validates GDExtension manifests (
<name>.gdextension). - Stages required runtime libraries (
gc.dll,pcre2-8.dll,iconv-2.dll). - Registers and enables the plugin in
project.godot. - Tracks the addon in
shard.ymlunderaddons:.
lapis addon uninstall: Clean Removal: Disabling and removing an addon cleanly from project configuration.
To remove an installed addon:
lapis addon uninstall <name>
Lapis cleanly disables the plugin in project.godot, removes the directory from addons/, and untracks it from shard.yml.
lapis shard: Managing Crystal Dependencies: Adding, updating, and removing Crystal shard dependencies.
To manage standard Crystal packages in shard.yml:
# Add a GitHub dependency:
lapis shard add github:crystal-community/compress
# Add with version constraint:
lapis shard add crystal-community/compress@~>1.0.0
# Remove a dependency:
lapis shard remove compress