Files
stef-openclaw-skills/skills/gitea-api/SKILL.md

81 lines
1.9 KiB
Markdown

---
name: gitea-api
description: Interact with Gitea via REST API (no tea CLI). Use for repo creation, issues, PRs, releases, branches, user info, and cloning on any Gitea instance.
---
# Gitea API Skill
REST-based Gitea control without `tea`.
## Setup
Create config file at:
`~/.clawdbot/credentials/gitea/config.json`
```json
{
"url": "https://git.fiorinis.com",
"token": "your-personal-access-token"
}
```
You can override with env vars:
```bash
export GITEA_URL="https://git.fiorinis.com"
export GITEA_TOKEN="your-token"
```
Token scope should include at least `repo`.
## Use
Run via wrapper (works in bash chat commands):
```bash
bash scripts/gitea.sh <command> [args]
```
## Commands
```bash
# list repos
bash scripts/gitea.sh repos
# create repo
bash scripts/gitea.sh create --name my-repo --description "My repo"
bash scripts/gitea.sh create --name my-repo --private
bash scripts/gitea.sh create --org Home --name my-repo
# issues
bash scripts/gitea.sh issues --owner Home --repo my-repo
bash scripts/gitea.sh issue --owner Home --repo my-repo --title "Bug" --body "Details"
# pull requests
bash scripts/gitea.sh pulls --owner Home --repo my-repo
bash scripts/gitea.sh pr --owner Home --repo my-repo --head feat-1 --base main --title "Add feat"
# releases
bash scripts/gitea.sh release --owner Home --repo my-repo --tag v1.0.0 --name "Release 1.0.0"
# branches
bash scripts/gitea.sh branches --owner Home --repo my-repo
# user info
bash scripts/gitea.sh user # current user
bash scripts/gitea.sh user luke # specific user
# clone
bash scripts/gitea.sh clone Home/my-repo
bash scripts/gitea.sh clone Home/my-repo ./my-repo
```
## Notes
- Works with Gitea/Forgejo-compatible APIs.
- Config lookup order:
1. `/home/node/.openclaw/workspace/.clawdbot/credentials/gitea/config.json`
2. `~/.clawdbot/credentials/gitea/config.json`
3. env var overrides (`GITEA_URL`, `GITEA_TOKEN`)
- Do not commit tokens.