bot-forge 1.0.2

Rust CLI for installing agent skills and developer tools from configurable forms.
Documentation
{
  "$defs": {
    "BackendKind": {
      "description": "Typed installation backend selected by a component definition.",
      "oneOf": [
        {
          "const": "apt",
          "description": "Debian-family APT package manager.",
          "type": "string"
        },
        {
          "const": "brew",
          "description": "Homebrew package manager.",
          "type": "string"
        },
        {
          "const": "cargo",
          "description": "Cargo package installer.",
          "type": "string"
        },
        {
          "const": "rustup",
          "description": "Rustup toolchain manager.",
          "type": "string"
        },
        {
          "const": "npm",
          "description": "npm package installer.",
          "type": "string"
        },
        {
          "const": "pip",
          "description": "Python pip package installer.",
          "type": "string"
        },
        {
          "const": "uv-tool",
          "description": "uv isolated tool installer.",
          "type": "string"
        },
        {
          "const": "winget",
          "description": "Windows Package Manager.",
          "type": "string"
        },
        {
          "const": "archive",
          "description": "Verified downloadable archive or file.",
          "type": "string"
        },
        {
          "const": "git",
          "description": "Pinned Git source build.",
          "type": "string"
        },
        {
          "const": "shell",
          "description": "Policy-gated shell operation.",
          "type": "string"
        }
      ]
    },
    "InstallKind": {
      "description": "Whether a registry entry represents a tool or a skill.",
      "oneOf": [
        {
          "const": "tool",
          "description": "Executable or development tool.",
          "type": "string"
        },
        {
          "const": "skill",
          "description": "Agent skill payload.",
          "type": "string"
        }
      ]
    },
    "RegistryEntry": {
      "additionalProperties": false,
      "description": "Persisted record of a managed installation and its activation targets.",
      "properties": {
        "artifact_id": {
          "description": "Immutable artifact currently activated for the entry, when applicable.",
          "type": [
            "string",
            "null"
          ]
        },
        "backend": {
          "anyOf": [
            {
              "$ref": "#/$defs/BackendKind"
            },
            {
              "type": "null"
            }
          ],
          "description": "Typed backend responsible for the managed tool lifecycle."
        },
        "config_hash": {
          "description": "Canonical configuration hash associated with the installation run.",
          "type": [
            "string",
            "null"
          ]
        },
        "installed_at": {
          "description": "Unix timestamp at which the entry was committed.",
          "format": "uint64",
          "minimum": 0,
          "type": "integer"
        },
        "kind": {
          "$ref": "#/$defs/InstallKind",
          "description": "Whether the entry represents a tool or a skill."
        },
        "name": {
          "description": "Canonical component or skill name.",
          "type": "string"
        },
        "plan_hash": {
          "description": "Immutable execution-plan hash associated with the installation run.",
          "type": [
            "string",
            "null"
          ]
        },
        "previous_artifact_id": {
          "description": "Artifact that can be restored when the current activation is removed.",
          "type": [
            "string",
            "null"
          ]
        },
        "profile": {
          "description": "Profile that requested the installation.",
          "type": "string"
        },
        "source": {
          "description": "Canonical source identity recorded for status and recovery.",
          "type": "string"
        },
        "source_revision": {
          "description": "Resolved upstream revision, when the backend has one.",
          "type": [
            "string",
            "null"
          ]
        },
        "targets": {
          "description": "Managed filesystem targets owned by this entry.",
          "items": {
            "$ref": "#/$defs/RegistryTarget"
          },
          "type": "array"
        }
      },
      "required": [
        "name",
        "kind",
        "source",
        "profile",
        "targets",
        "installed_at",
        "artifact_id",
        "previous_artifact_id",
        "config_hash",
        "plan_hash",
        "source_revision",
        "backend"
      ],
      "type": "object"
    },
    "RegistryTarget": {
      "additionalProperties": false,
      "description": "One filesystem target associated with a registry entry.",
      "properties": {
        "binary": {
          "description": "Logical executable name for activation restoration, when this target is a binary.",
          "type": [
            "string",
            "null"
          ]
        },
        "path": {
          "description": "Managed filesystem path owned by the registry entry.",
          "type": "string"
        }
      },
      "required": [
        "path",
        "binary"
      ],
      "type": "object"
    }
  },
  "$id": "https://bot-forge.local/schema/registry.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Versioned persistent record of managed installations.",
  "properties": {
    "entries": {
      "description": "Managed installation entries.",
      "items": {
        "$ref": "#/$defs/RegistryEntry"
      },
      "type": "array"
    },
    "revision": {
      "description": "Monotonically increasing revision used for optimistic concurrency checks.",
      "format": "uint64",
      "minimum": 0,
      "type": "integer"
    },
    "updated_at": {
      "description": "Unix timestamp of the last committed update.",
      "format": "uint64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "revision",
    "updated_at",
    "entries"
  ],
  "title": "bot-forge registry",
  "type": "object"
}