git-release
Manage Git releases by creating, listing, updating, deleting, publishing, and downloading releases with support for tags, release notes, assets, and GitHub/Gitea providers.
Instructions
Git release management tool for release operations. Supports create, list, get, update, delete, publish, and download operations. Local operations work with tags, remote operations require a provider.
Input Schema
| Name | Required | Description | Default | 
|---|---|---|---|
| action | Yes | The release operation to perform | |
| assetName | No | Specific asset name to download (for download) | |
| assets | No | File paths to upload as release assets (for create/update) | |
| body | No | Detailed release notes/body (for create/update) | |
| commitish | No | Commit or branch to create release from (default: HEAD, for create) | |
| description | No | Short description of the release (for create/update) | |
| downloadPath | No | Path to save downloaded assets (for download) | |
| draft | No | Create as draft release (for create/update) | |
| force | No | Force operation (for delete, update) | |
| generateNotes | No | Auto-generate release notes (for create) | |
| includeDrafts | No | Include draft releases in list (for list) | |
| includePrerelease | No | Include pre-releases in list (for list) | |
| limit | No | Maximum number of releases to return (for list) | |
| owner | No | Repository owner (for remote operations) | |
| prerelease | No | Mark as pre-release (for create/update) | |
| projectPath | Yes | Absolute path to the project directory | |
| provider | No | Provider for remote operations (required for update, delete, publish, download) | |
| releaseName | No | Name of the release (defaults to tagName, for create/update) | |
| repo | No | Repository name (for remote operations) | |
| tagName | No | Tag name for the release (required for most operations) | 
Input Schema (JSON Schema)
{
  "properties": {
    "action": {
      "description": "The release operation to perform",
      "enum": [
        "create",
        "list",
        "get",
        "update",
        "delete",
        "publish",
        "download"
      ],
      "type": "string"
    },
    "assetName": {
      "description": "Specific asset name to download (for download)",
      "type": "string"
    },
    "assets": {
      "description": "File paths to upload as release assets (for create/update)",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "body": {
      "description": "Detailed release notes/body (for create/update)",
      "type": "string"
    },
    "commitish": {
      "description": "Commit or branch to create release from (default: HEAD, for create)",
      "type": "string"
    },
    "description": {
      "description": "Short description of the release (for create/update)",
      "type": "string"
    },
    "downloadPath": {
      "description": "Path to save downloaded assets (for download)",
      "type": "string"
    },
    "draft": {
      "description": "Create as draft release (for create/update)",
      "type": "boolean"
    },
    "force": {
      "description": "Force operation (for delete, update)",
      "type": "boolean"
    },
    "generateNotes": {
      "description": "Auto-generate release notes (for create)",
      "type": "boolean"
    },
    "includeDrafts": {
      "description": "Include draft releases in list (for list)",
      "type": "boolean"
    },
    "includePrerelease": {
      "description": "Include pre-releases in list (for list)",
      "type": "boolean"
    },
    "limit": {
      "description": "Maximum number of releases to return (for list)",
      "type": "number"
    },
    "owner": {
      "description": "Repository owner (for remote operations)",
      "type": "string"
    },
    "prerelease": {
      "description": "Mark as pre-release (for create/update)",
      "type": "boolean"
    },
    "projectPath": {
      "description": "Absolute path to the project directory",
      "type": "string"
    },
    "provider": {
      "description": "Provider for remote operations (required for update, delete, publish, download)",
      "enum": [
        "github",
        "gitea",
        "both"
      ],
      "type": "string"
    },
    "releaseName": {
      "description": "Name of the release (defaults to tagName, for create/update)",
      "type": "string"
    },
    "repo": {
      "description": "Repository name (for remote operations)",
      "type": "string"
    },
    "tagName": {
      "description": "Tag name for the release (required for most operations)",
      "type": "string"
    }
  },
  "required": [
    "action",
    "projectPath"
  ],
  "type": "object"
}