Skip to main content

lib/pi/skill/executable.ex

defmodule Pi.Skill.Executable do
  @moduledoc "Trusted executable Elixir skill metadata."

  alias Pi.Plugin.API

  @type t :: %__MODULE__{
          name: String.t(),
          path: String.t(),
          module: module(),
          metadata: map(),
          markdown: String.t(),
          apis: [API.t()]
        }

  @enforce_keys [:name, :path, :module]
  defstruct [:name, :path, :module, metadata: %{}, markdown: "", apis: []]
end