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
| Flag | Type | Default | Description |
|---|---|---|---|
--from | string | Branch 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
| Flag | Type | Default | Description |
|---|---|---|---|
--limit | int | 0 | Maximum number of items to return (0 = server default) |
--page | int | 0 | Page 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
| Flag | Type | Default | Description |
|---|---|---|---|
--message | string | Tag message (for annotated tag) | |
--target | string | Target 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
| Flag | Type | Default | Description |
|---|---|---|---|
--limit | int | 0 | Maximum number of items to return (0 = server default) |
--page | int | 0 | Page 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.