Codeberg

Full-featured Gitea API integration for managing Codeberg repositories, releases, and multi-file commits.

Install
cmdop skills install agensi-codeberg

The Codeberg skill gives an AI agent full programmatic access to Codeberg.org and any self-hosted Gitea or Forgejo instance through the Gitea REST API v1. It is designed for agents that need to do more than generate text — they can create and update repository files, manage branches, push multiple files in a single atomic commit using the Git Trees API workflow, fetch and apply object SHAs to avoid conflicts, create releases, manage tags, and upload binary release assets.

Authentication works in two modes. In single-account mode the agent uses a Personal Access Token configured directly in the skill. In multi-account mode, a locally run Tunnel-Proxy routes requests between accounts, keeping each token on the local machine and out of the skill configuration file. The skill detects which mode is active and adjusts routing accordingly.

Required token scopes are repository and user; issue, notification, misc, and activitypub scopes are optional depending on which operations are needed. Organization and package scopes are not used.

The skill targets Claude specifically — domain allowlisting in Claude settings is required before outbound requests to codeberg.org (and an ngrok domain if using the proxy) will succeed. It is not a generic MCP server and does not connect to GitHub, GitLab, or other Git hosting platforms. Developers already working in the Forgejo/Gitea ecosystem who want agent-driven repository automation are the primary audience.

Use cases

  • Automate multi-file commits to a Codeberg repository in a single atomic operation
  • Create and publish versioned releases with binary asset uploads programmatically
  • Manage branches and file updates with automatic SHA resolution to prevent conflicts
  • Route agent actions across multiple Codeberg accounts using a local Tunnel-Proxy
  • Search repositories and read file contents through the Gitea REST API from an agent
  • Create new repositories and manage identity via the user API scope

When to use it

  • The target Git host is Codeberg.org or a self-hosted Gitea/Forgejo instance
  • An agent needs to push multiple files in one commit rather than one file at a time
  • Release orchestration (tags, assets) needs to happen without manual steps
  • API tokens must stay on the local machine and not be embedded in a shared skill file
  • The agent runtime is Claude with domain allowlisting available in settings

When not to use it

  • The target platform is GitHub, GitLab, Bitbucket, or any non-Gitea host
  • Organization-level administration or package registry operations are required — those scopes are not supported
  • A proxy or direct token configuration cannot be provided — one of the two auth modes is required
  • The agent runtime does not support outbound HTTP requests or domain allowlisting
  • A skill with a listed package registry entry is needed — this skill has no package registry