Files
Kimiko 3382ede9cf Initial commit: Gitea skill for OpenClaw
- SKILL.md with tea CLI integration guide
- README.md with installation instructions
- LICENSE (MIT)

This skill enables OpenClaw agents to interact with Gitea servers
using the tea CLI tool for git operations, PRs, issues, and more.
2026-02-23 20:00:33 +08:00

143 lines
3.3 KiB
Markdown

---
name: gitea
description: Interact with Gitea git forge servers using the tea CLI tool. Use for pushing commits, creating pull requests, managing issues, and working with repositories on Gitea instances. Requires tea CLI to be installed and configured.
---
# Gitea Skill
Interact with Gitea servers using the tea CLI tool.
## Prerequisites
1. **tea CLI must be installed:**
```bash
go install code.gitea.io/tea@latest
```
2. **tea must be configured with a Gitea login:**
```bash
tea login add --name <login-name> --url <gitea-url> --token <access-token>
```
To get an access token:
- Log in to your Gitea web interface
- Go to Settings → Applications → Generate New Token
- Or use the API: `POST /api/v1/users/{username}/tokens`
## Quick Start
### Check Logins
```bash
tea login ls
```
### Push to Gitea
```bash
# Using git with tea-configured remote
git push <remote-name> <branch>
# Or configure git remote with token embedded
git remote set-url <remote-name> https://<username>:<token>@<gitea-host>/<owner>/<repo>.git
git push <remote-name> <branch>
```
### Create Pull Request
```bash
tea pr create --title "PR Title" --body "Description" --base main --head feature-branch
```
### List Issues
```bash
tea issues list --repo <owner>/<repo>
```
## Common Operations
### Repository Operations
```bash
# Clone a repository
git clone https://<gitea-host>/<owner>/<repo>.git
# View repository info
tea repos view --repo <owner>/<repo>
# List repositories
tea repos list
```
### Issue Management
```bash
# List issues
tea issues list --repo <owner>/<repo>
# Create issue
tea issues create --repo <owner>/<repo> --title "Issue Title" --body "Description"
# Close issue
tea issues close --repo <owner>/<repo> <issue-number>
```
### Pull Request Management
```bash
# List PRs
tea pulls list --repo <owner>/<repo>
# View PR
tea pulls view --repo <owner>/<repo> <pr-number>
# Checkout PR locally
tea pr checkout <pr-number>
```
### Labels
```bash
# List labels
tea labels list --repo <owner>/<repo>
# Create label
tea labels create --repo <owner>/<repo> --name "bug" --color "ff0000"
```
## Configuration
### Environment Variables
```bash
export GITEA_SERVER_URL=https://git.example.com
export GITEA_SERVER_TOKEN=your-access-token
```
### Multiple Gitea Instances
```bash
# Add multiple logins
tea login add --name work --url https://git.company.com --token <work-token>
tea login add --name personal --url https://git.example.com --token <personal-token>
# Switch between them by specifying --login flag
tea issues list --login work --repo company/project
```
## Security Notes
- **Never commit access tokens to git repositories**
- **Use environment variables or secure credential stores for tokens**
- **Rotate tokens periodically**
- **Use minimal scope tokens** (only permissions needed)
## Troubleshooting
### "No help topic for 'push'"
tea doesn't have a direct push command. Use standard `git push` with a properly configured remote.
### Authentication failures
- Verify token hasn't expired
- Check tea login is configured: `tea login ls`
- Ensure correct permissions on token
### "could not read Username"
Configure git remote with embedded credentials or use SSH keys instead of HTTPS.
## References
- tea CLI documentation: https://gitea.com/gitea/tea
- Gitea API documentation: https://<your-gitea-host>/api/swagger