Repository

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

CLI Commands

madtea project disable

Disable projects for the current repository

madtea project enable

Enable projects for the current repository

FlagTypeDefaultDescription
--modestringProjects mode: repo, owner, or all

madtea project status

Show project settings for the current repository

madtea repo activity

Get activity feed

madtea repo archive

Download a repository archive

FlagTypeDefaultDescription
--formatstringtar.gzArchive format: tar.gz or zip
--outputstringOutput file path (defaults to -.)

madtea repo assignees

List available assignees

madtea repo avatar delete

Delete repository avatar

madtea repo avatar upload

Upload repository avatar

madtea repo collaborators

Collaborator operations

madtea repo collaborators add

Add a collaborator

FlagTypeDefaultDescription
--permissionstringPermission level: read, write, admin (default: write)

madtea repo collaborators check

Check collaborator permission

madtea repo collaborators list

List collaborators

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

madtea repo collaborators remove

Remove a collaborator

madtea repo convert

Convert fork to regular repo

madtea repo create

Create a new repository

FlagTypeDefaultDescription
--auto-initboolfalseInitialize repository with README, .gitignore, and license
--default-branchstringSet default branch name
--descriptionstringRepository description
--gitignoresstringGitignore template (e.g. Go, Python, Node)
--licensestringLicense template (e.g. MIT, Apache-2.0, GPL-3.0)
--object-formatstringObject format: sha1 or sha256 (Forgejo)
--orgstringOrganization to create the repository under
--privateboolfalseMake repository private
--readmestringREADME template
--templateboolfalseCreate as a template repository
--trust-modelstringTrust model for signing (default, collaborator, committer, collaboratorcommitter)

madtea repo delete

Delete a repository (refused — use the forge web UI)

madtea repo edit

Edit repository settings

FlagTypeDefaultDescription
--allow-ff-onlystringAllow fast-forward-only merging (true/false)
--allow-mergestringAllow merge commits (true/false)
--allow-rebasestringAllow rebase merging (true/false)
--allow-squashstringAllow squash merging (true/false)
--archivedstringArchive or unarchive repository (true/false)
--default-branchstringDefault branch name
--default-merge-stylestringDefault merge style (merge, rebase, squash, rebase-merge)
--descriptionstringRepository description
--namestringRepository name
--no-actionsboolfalseDisable actions
--no-issuesboolfalseDisable issues
--no-packagesboolfalseDisable packages
--no-pull-requestsboolfalseDisable pull requests
--no-releasesboolfalseDisable releases
--no-wikiboolfalseDisable wiki
--privatestringMake repository private (true/false)
--websitestringRepository website URL

madtea repo editorconfig

Get editorconfig for a file

madtea repo flags add

Add a flag to a repository

madtea repo flags get

Check if a flag is set

madtea repo flags list

List repository flags

madtea repo flags remove

Remove a flag from a repository

madtea repo fork

Fork a repository

madtea repo forks

List repository forks

FlagTypeDefaultDescription
--limitint30Max items per page
--pageint1Page number

madtea repo generate

Generate repo from template

FlagTypeDefaultDescription
--descriptionstringDescription for the new repository
--namestringName for the new repository
--orgstringOrganization to create the new repository under (defaults to the authenticated user)
--privateboolfalseMake the new repository private

madtea repo get

Get repository details

madtea repo git-hooks delete

Delete a git hook

madtea repo git-hooks edit

Edit a git hook

FlagTypeDefaultDescription
--contentstringHook script content

madtea repo git-hooks get

Get a git hook

madtea repo git-hooks list

List server-side git hooks

madtea repo hooks

Webhook operations

madtea repo hooks create

Create a webhook

FlagTypeDefaultDescription
--authorization-headerstringAuthorization header value sent with webhook requests
--branch-filterstringBranch filter glob pattern (e.g. main, release/*)
--content-typestringContent type: json or form (default: json)
--eventsstringSlice[]Events to trigger on (can be repeated or comma-separated; default: push)
--secretstringWebhook secret
--urlstringWebhook target URL (required)

madtea repo hooks delete

Delete a webhook

madtea repo hooks get

Get webhook details

madtea repo hooks list

List webhooks

madtea repo hooks test

Test a webhook

madtea repo issue-config

Get issue config

madtea repo issue-config validate

Validate issue config

madtea repo keys

Deploy key operations

madtea repo keys add

Add a deploy key

FlagTypeDefaultDescription
--keystringPublic key content (required)
--read-onlyboolfalseMake the key read-only
--titlestringKey title/name (required)

madtea repo keys delete

Delete a deploy key

madtea repo keys get

Get deploy key details

madtea repo keys list

List deploy keys

madtea repo languages

Get language breakdown

madtea repo licenses

Get detected licenses

madtea repo list

List your repositories

FlagTypeDefaultDescription
--check-metadataboolfalseAudit repos for missing description, topics, or website
--limitint0Maximum number of repositories to return
--orgstringList repositories for this organization

madtea repo media

Get media file content

FlagTypeDefaultDescription
--refstringGit ref (branch, tag, or SHA)

madtea repo merge-upstream

Merge upstream into fork (Gitea)

FlagTypeDefaultDescription
--branchstringBranch to merge upstream into

madtea repo mirror create

Create a mirror repository

FlagTypeDefaultDescription
--namestringRepository name (defaults to URL base name)
--orgstringOrganization to create the mirror under (defaults to authenticated user)

madtea repo mirror sync

Trigger mirror sync

FlagTypeDefaultDescription
--repostringRepository in owner/repo format (defaults to current repo)

madtea repo notifications

List repo notifications

FlagTypeDefaultDescription
--limitint30Max notifications

madtea repo notifications-read

Mark all repo notifications as read

madtea repo protect

Manage branch protection rules

madtea repo protect create

Create a branch protection rule

FlagTypeDefaultDescription
--block-admin-merge-overrideboolfalseBlock admin merge override (Forgejo)
--block-on-official-review-requestsboolfalseBlock merge on official review requests
--block-on-outdated-branchboolfalseBlock merge if branch is outdated
--dismiss-staleboolfalseDismiss stale approvals on push
--enable-force-pushboolfalseEnable force push (Forgejo)
--enable-force-push-whitelistboolfalseEnable force push whitelist (Forgejo)
--enable-merge-whitelistboolfalseEnable merge whitelist
--enable-pushboolfalseEnable push to protected branch
--enable-push-whitelistboolfalseEnable push whitelist
--enable-status-checkboolfalseEnable required status checks
--force-push-whitelist-usernamesstringSlice[]Usernames allowed to force push (Forgejo, comma-separated or repeated)
--merge-whitelist-usernamesstringSlice[]Usernames allowed to merge (comma-separated or repeated)
--push-whitelist-usernamesstringSlice[]Usernames allowed to push (comma-separated or repeated)
--require-signedboolfalseRequire signed commits
--required-approvalsint0Number of required approvals
--status-check-contextsstringSlice[]Required status check contexts (comma-separated or repeated)

madtea repo protect delete

Delete a branch protection rule

madtea repo protect get

Get branch protection rule details

madtea repo protect update

Update a branch protection rule

FlagTypeDefaultDescription
--block-admin-merge-overrideboolfalseBlock admin merge override (Forgejo)
--block-on-official-review-requestsboolfalseBlock merge on official review requests
--block-on-outdated-branchboolfalseBlock merge if branch is outdated
--dismiss-staleboolfalseDismiss stale approvals on push
--enable-force-pushboolfalseEnable force push (Forgejo)
--enable-force-push-whitelistboolfalseEnable force push whitelist (Forgejo)
--enable-merge-whitelistboolfalseEnable merge whitelist
--enable-pushboolfalseEnable push to protected branch
--enable-push-whitelistboolfalseEnable push whitelist
--enable-status-checkboolfalseEnable required status checks
--force-push-whitelist-usernamesstringSlice[]Usernames allowed to force push (Forgejo, comma-separated or repeated)
--merge-whitelist-usernamesstringSlice[]Usernames allowed to merge (comma-separated or repeated)
--push-whitelist-usernamesstringSlice[]Usernames allowed to push (comma-separated or repeated)
--require-signedboolfalseRequire signed commits
--required-approvalsint0Number of required approvals
--status-check-contextsstringSlice[]Required status check contexts (comma-separated or repeated)

madtea repo protect-priority

Reorder branch protection rules

madtea repo push-mirrors create

Create a push mirror

FlagTypeDefaultDescription
--intervalstringSync interval (e.g. 8h0m0s)
--remote-addressstringURL of the remote to push to
--remote-passwordstringPassword/token for authentication
--remote-usernamestringUsername for authentication
--sync-on-commitboolfalseSync on every commit

madtea repo push-mirrors delete

Delete a push mirror

madtea repo push-mirrors get

Get push mirror details

madtea repo push-mirrors list

List push mirrors

madtea repo push-mirrors sync

Trigger push mirror sync

madtea repo raw

Get raw file content

FlagTypeDefaultDescription
--refstringGit ref (branch, tag, or SHA)

madtea repo reviewers

List available reviewers

Search repositories

FlagTypeDefaultDescription
--archivedstringFilter archived repos: true or false
--check-metadataboolfalseAudit repos for missing description, topics, or website
--exclusivestringMatch only given conditions: true or false
--include-descstringInclude description in search: true or false
--limitint0Maximum number of results
--modestringFilter by mode: source, fork, mirror, collaborative
--orderstringSort order: asc or desc
--orgstringFilter by organization (resolves org name to UID)
--pageint0Page number for pagination
--privatestringFilter private repos: true or false
--sortstringSort field: alpha, created, updated, size, id, etc.
--starred-byint0Filter repos starred by this user ID
--templatestringFilter template repos: true or false
--topicstringLimit search to topics: true or false

madtea repo stargazers

List repository stargazers

FlagTypeDefaultDescription
--limitint30Max items per page
--pageint1Page number

madtea repo subscribers

List repository subscribers

FlagTypeDefaultDescription
--limitint30Max items per page
--pageint1Page number

madtea repo sync-fork

Sync fork with upstream

FlagTypeDefaultDescription
--branchstringBranch to sync

madtea repo tag-protect create

Create a tag protection rule

FlagTypeDefaultDescription
--whitelist-teamsstringSlice[]Teams allowed to create matching tags
--whitelist-usersstringSlice[]Users allowed to create matching tags

madtea repo tag-protect delete

Delete a tag protection rule

madtea repo tag-protect edit

Edit a tag protection rule

madtea repo tag-protect get

Get tag protection rule details

madtea repo tag-protect list

List tag protection rules

madtea repo teams add

Add team access

madtea repo teams check

Check if a team has access

madtea repo teams list

List teams with access

madtea repo teams remove

Remove team access

madtea repo templates

List issue templates

madtea repo templates list

List issue templates

madtea repo times

List tracked time for the repo

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

madtea repo topics get

Get repository topics

madtea repo topics set

Set repository topics

madtea repo transfer

Transfer a repository to a new owner

FlagTypeDefaultDescription
--repostringRepository to transfer in owner/repo format (defaults to current repo)

madtea repo transfer-accept

Accept pending transfer

madtea repo transfer-reject

Reject pending transfer

madtea repo unwatch

Unwatch the repository

madtea repo watch

Watch the repository

madtea repo watch-status

Check watch status

MCP Tools

madt_hooks

Manage repository webhooks (current repo by default; requires madt_enable(domains=[“hooks”])): list, get, create, delete, test deliveries.

Output schema: declared

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

action="create"

Create a webhook on the current repository.

Required: url

Optional: events, secret, content_type, branch_filter, authorization_header

action="delete"

Delete one or more webhooks. Pass id for a single hook or ids for a batch.

One of: id | ids

action="get"

Get webhook details by ID. Formatted output omits branch_filter (and the server-redacted authorization_header); set raw_json=true to verify branch_filter.

Required: id

action="list"

List webhooks for the current repository.

action="test"

Trigger a test delivery for a webhook.

Required: id

madt_project

Toggle the repository projects feature (current repo by default; requires madt_enable(domains=[“project”])): status, enable, disable. Project board CONTENT — boards, columns, cards — has no Forgejo/Gitea REST API and can only be managed in the web UI; do not look for it here or via madt_api_call.

Output schema: declared

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

action="disable"

Disable projects on the current repository.

action="enable"

Enable projects on the current repository.

Optional: mode

action="status"

Show current project settings (enabled flag and mode).

madt_repos

Manage repositories: list/search, create/get/edit, fork, transfer, mirror, archive, topics, teams, social (watch/star), avatar, flags, raw file content, languages, activity, forks, licenses, issue templates, generate from template, fork sync/upstream merge, collaborators, deploy keys, tag protection rules, and push mirrors. Irreversible repo deletion is not a madtea operation on any surface — delete a repository in the forge web UI.

Output schema: declared

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

action="activity"

Get the activity feed for the repository.

Optional: owner_repo

action="archive"

Download a repository archive for a given ref; returns the downloaded file path. To archive/unarchive the repo itself, use action=edit archived=true|false.

Required: ref

Optional: owner_repo, format, output

action="assignees"

List users available as issue assignees.

Optional: owner_repo

action="avatar_delete"

Delete the repository’s avatar.

Optional: owner_repo

action="avatar_upload"

Upload an avatar image for the repository.

Required: file

Optional: owner_repo

action="collaborators_add"

Add a user as a collaborator. Default permission is write.

Required: collaborator

Optional: owner_repo, collaborator_permission

action="collaborators_check"

Check a user’s permission level on the repository.

Required: collaborator

Optional: owner_repo

action="collaborators_list"

List collaborators on the repository.

Optional: owner_repo, limit, page

action="collaborators_remove"

Remove collaborator(s) from the repository.

Required: collaborators

Optional: owner_repo

action="convert"

Convert a forked repository to a regular repository.

Optional: owner_repo

action="create"

Create a new repository. Creates under the authenticated user by default, or under an organization when org is set. name may be “org/name” as a shortcut.

Required: name

Optional: org, description, private, auto_init, default_branch, gitignores, license, readme, template, trust_model, object_format

action="deploy_keys_add"

Add a deploy key to the repository.

Required: deploy_key_title, deploy_key_content

Optional: owner_repo, deploy_key_readonly

action="deploy_keys_delete"

Delete deploy key(s) by ID.

Required: deploy_key_ids

Optional: owner_repo

action="deploy_keys_get"

Get a deploy key by ID.

Required: deploy_key_id

Optional: owner_repo

action="deploy_keys_list"

List deploy keys for the repository.

Optional: owner_repo

action="edit"

Update repository settings, including rename (set name) and archive/unarchive (set archived). Pass at least one field.

Optional: owner_repo, description, name, private, default_branch, website, has_wiki, has_issues, has_pull_requests, has_packages, has_actions, has_releases, allow_merge_commits, allow_rebase, allow_squash_merge, allow_rebase_update, default_merge_style, archived

action="flags_add"

Add a flag to a repository (Forgejo admin only).

Required: owner_repo, flag

action="flags_get"

Check if a flag is set on a repository (Forgejo admin only).

Required: owner_repo, flag

action="flags_list"

List flags on a repository (Forgejo admin only).

Required: owner_repo

action="flags_remove"

Remove a flag from a repository (Forgejo admin only).

Required: owner_repo, flag

action="fork"

Fork a repository to the authenticated user.

Required: owner_repo

action="forks"

List forks of the repository.

Optional: owner_repo, limit, page

action="generate"

Create a new repository from a template repository. Creates under the authenticated user by default, or under an organization when org is set.

Required: template_owner, template_repo, name

Optional: owner_repo, org, description, private

action="get"

Get repository details. Defaults to the current repo; set owner_repo to target another.

Optional: owner_repo

action="git_hooks_delete"

Delete a server-side git hook. Requires admin access.

Required: git_hook_id

Optional: owner_repo

action="git_hooks_edit"

Update the content of a server-side git hook. Requires admin access.

Required: git_hook_id, git_hook_content

Optional: owner_repo

action="git_hooks_get"

Get a server-side git hook by ID (pre-receive, update, post-receive). Requires admin access.

Required: git_hook_id

Optional: owner_repo

action="git_hooks_list"

List server-side git hooks (pre-receive, update, post-receive). Requires admin access.

Optional: owner_repo

action="issue_config"

Get or validate the issue config (contact links, blank issue settings).

Optional: owner_repo, validate

action="languages"

Get language breakdown (byte counts) for the repository.

Optional: owner_repo

action="licenses"

Get detected licenses for the repository.

Optional: owner_repo

action="list"

List repositories. Lists the authenticated user’s repos by default, or an organization’s repos when org is set. Paginated: limit default 30 (max 200), page is 1-based. Set check_metadata=true to audit repos for missing description, topics, or website.

Optional: org, limit, page, check_metadata

action="merge_upstream"

Merge upstream changes into a fork branch via the Gitea /merge-upstream endpoint. On Forgejo, or when unsure of the platform, use sync_fork instead.

Optional: owner_repo, branch

action="mirror_create"

Create a mirror repository from an external URL.

Required: clone_addr

Optional: name, org

action="mirror_sync"

Trigger a sync on a mirror repository. Defaults to the current repo.

Optional: owner_repo

action="push_mirrors_create"

Create a push mirror to replicate the repository to another remote.

Required: push_mirror_address

Optional: owner_repo, push_mirror_remote_username, push_mirror_remote_password, push_mirror_interval, push_mirror_sync_on_commit

action="push_mirrors_delete"

Delete a push mirror by name.

Required: push_mirror_id

Optional: owner_repo

action="push_mirrors_get"

Get a push mirror by name.

Required: push_mirror_id

Optional: owner_repo

action="push_mirrors_list"

List push mirrors configured for the repository.

Optional: owner_repo

action="push_mirrors_sync"

Trigger a sync of all push mirrors for the repository.

Optional: owner_repo

action="raw"

Get raw file content from the repository.

Required: path

Optional: owner_repo, ref

action="reviewers"

List users available as PR reviewers.

Optional: owner_repo

action="search"

Search repositories. sort: alpha|created|updated|size|id|stars|forks. Filter by org, mode, archived/private status. Paginated: limit default 30 (max 200), page is 1-based. Set check_metadata=true to audit repos for missing description, topics, or website.

Required: q

Optional: sort, order, limit, page, org, topic, include_desc, archived, private, mode, template, starred_by, exclusive, check_metadata

action="stargazers"

List users who starred the repository. Defaults to the current repo; set owner_repo to target another.

Optional: owner_repo, limit, page

action="subscribers"

List users who watch the repository. Defaults to the current repo; set owner_repo to target another.

Optional: owner_repo, limit, page

action="sync_fork"

Sync a forked repository with its upstream. Platform-aware (uses /sync_fork on Forgejo, /merge-upstream on Gitea) — works on both; prefer this.

Optional: owner_repo, branch

action="tag_protect_create"

Create a tag protection rule with a glob pattern and optional whitelists.

Required: name_pattern

Optional: owner_repo, whitelist_usernames, whitelist_teams

action="tag_protect_delete"

Delete a tag protection rule by ID.

Required: tag_protect_id

Optional: owner_repo

action="tag_protect_get"

Get a tag protection rule by ID.

Required: tag_protect_id

Optional: owner_repo

action="tag_protect_list"

List tag protection rules for the repository.

Optional: owner_repo

action="tag_protect_update"

Update a tag protection rule. Pass any of name_pattern, whitelist_usernames, whitelist_teams.

Required: tag_protect_id

Optional: owner_repo, name_pattern, whitelist_usernames, whitelist_teams

action="teams_add"

Add a team to the repository.

Required: team

Optional: owner_repo

action="teams_check"

Check whether a team has access to the repository. Returns the team if access exists, otherwise an API error.

Required: team

Optional: owner_repo

action="teams_list"

List teams with access to the repository.

Optional: owner_repo

action="teams_remove"

Remove a team from the repository.

Required: team

Optional: owner_repo

action="templates"

List issue templates configured for the repository.

Optional: owner_repo

action="templates_list"

List issue templates configured for the repository. Mirrors madtea repo templates list.

Optional: owner_repo

action="topics_get"

Get repository topics.

Optional: owner_repo

Search topics globally. Mirrors madtea topics search.

Required: q

Optional: limit, page

action="topics_set"

Replace the full topic list (overwrites all existing topics). To add or remove a single topic, call topics_get first and pass the merged list.

Required: topics

Optional: owner_repo

action="transfer"

Transfer a repository to a new owner (user or organization). If you do not control new_owner, the transfer stays pending until the recipient accepts.

Required: owner_repo, new_owner

Optional: team_ids

action="transfer_accept"

Accept a pending repository transfer. Must be run with the receiving owner’s credentials.

Optional: owner_repo

action="transfer_reject"

Reject a pending repository transfer. Must be run with the receiving owner’s credentials.

Optional: owner_repo

action="unwatch"

Unwatch the repository. Defaults to the current repo; set owner_repo to target another.

Optional: owner_repo

action="watch"

Watch the repository. Defaults to the current repo; set owner_repo to target another.

Optional: owner_repo

action="watch_status"

Check if the current user watches the repository. Defaults to the current repo; set owner_repo to target another.

Optional: owner_repo

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