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

Defined in:

libgodot/docs/b_lapis_cli_and_toolchain/g_addon_and_shard_management.cr

Class Method Summary

Class Method Detail

def self.topic_00_package_types : Nil #

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)

def self.topic_01_addon_installation : Nil #

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:

  1. Downloads and extracts the addon into addons/<name>.
  2. Validates GDExtension manifests (<name>.gdextension).
  3. Stages required runtime libraries (gc.dll, pcre2-8.dll, iconv-2.dll).
  4. Registers and enables the plugin in project.godot.
  5. Tracks the addon in shard.yml under addons:.

def self.topic_02_addon_uninstallation : Nil #

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.


def self.topic_03_shard_management : Nil #

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