Branches & Tags

Generated automatically at build time from the madtea repository - do not edit here. Source: docs/reference/branches-tags.md.

CLI Commands

madtea branches-remote create

Create branch via API

FlagTypeDefaultDescription
--fromstringBranch or ref to create from

madtea branches-remote delete

Delete remote branch

madtea branches-remote get

Get branch details

madtea branches-remote list

List remote branches

FlagTypeDefaultDescription
--limitint0Maximum number of items to return (0 = server default)
--pageint0Page number for pagination (0 = first page)

madtea branches-remote protect

Get branch protection rules

madtea branches-remote rename

Rename a branch

madtea tags create

Create tag via API

FlagTypeDefaultDescription
--messagestringTag message (for annotated tag)
--targetstringTarget ref (branch, sha) to tag (required)

madtea tags delete

Delete a remote tag (refused — use the forge web UI)

madtea tags get

Get tag details

madtea tags list

List tags

FlagTypeDefaultDescription
--limitint0Maximum number of items to return (0 = server default)
--pageint0Page number for pagination (0 = first page)

MCP Tools

madt_branches_remote

Manage remote branches and branch protection rules via the server API — these do NOT touch your local checkout: list, CRUD, rename, protection rule CRUD + priority. To create AND check out a local working branch (the start of feature work), use madt_issues action=develop (or git checkout -b) instead.

Output schema: declared

One tool, action-dispatched. Set action to one of:

action="create"

Create a branch on the REMOTE from a source ref (from_branch defaults to the repo default branch). Does NOT create or check out a LOCAL branch — to start local feature work use madt_issues action=develop (or git checkout -b).

Required: name

Optional: from_branch

action="delete"

Delete branch(es) on the REMOTE (local branches untouched; no merged check). Batch multiple via names in one call (never loop). For bulk cleanup of branches already merged into the default branch — local and remote — use madt_prune instead.

One of: name | names

action="get"

Get a branch’s details.

Required: name

action="list"

List branches in the repository.

Optional: limit, page

action="protect_create"

Create a branch protection rule. name is the branch name or pattern to protect. enable_force_push / force_push_whitelist fields are Forgejo only.

Required: name

Optional: required_approvals, dismiss_stale_approvals, require_signed_commits, enable_push, enable_push_whitelist, push_whitelist_usernames, enable_merge_whitelist, merge_whitelist_usernames, enable_status_check, status_check_contexts, block_on_official_review_requests, block_on_outdated_branch, enable_force_push, enable_force_push_whitelist, force_push_whitelist_usernames, block_admin_merge_override

action="protect_delete"

Delete branch protection rule(s). Batch multiple via names in one call (never loop).

One of: name | names

action="protect_get"

Get a branch protection rule by name (the branch pattern).

Required: name

action="protect_list"

List branch protection rules.

action="protect_priority"

Reorder branch protection rules by providing an ordered list of rule names.

Required: names

action="protect_update"

Update a branch protection rule. Pass at least one protection field.

Required: name

Optional: required_approvals, dismiss_stale_approvals, require_signed_commits, enable_push, enable_push_whitelist, push_whitelist_usernames, enable_merge_whitelist, merge_whitelist_usernames, enable_status_check, status_check_contexts, block_on_official_review_requests, block_on_outdated_branch, enable_force_push, enable_force_push_whitelist, force_push_whitelist_usernames, block_admin_merge_override

action="rename"

Rename a branch.

Required: name, new_name

madt_tags

Remote tag operations via API (current repo by default; requires madt_enable(domains=[“tags”])): list, get, create. Irreversible tag deletion is not a madtea operation on any surface — delete a tag in the forge web UI.

Output schema: declared

One tool, action-dispatched. Set action to one of:

action="create"

Create a tag on the remote.

Required: name, target

Optional: message

action="get"

Get tag details.

Required: name

action="list"

List tags in the repository.

Optional: limit, page

Canonical source: docs/reference/branches-tags.md in the madtea repo.