Add comprehensive Claude Code skills for Gitea's tea CLI tool. Includes: - Complete skill documentation (skills/SKILL.md) - Detailed examples (skills/examples.md) - User-facing README with installation and usage - Claude Code instructions (CLAUDE.md) - Git ignore file 🍵 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
335 lines
5.9 KiB
Markdown
335 lines
5.9 KiB
Markdown
---
|
|
name: tea
|
|
description: Use Gitea's tea CLI to manage issues, PRs, releases, and other repository operations. Works with git.ajet.fyi and other Gitea instances.
|
|
---
|
|
|
|
# Gitea Tea CLI
|
|
|
|
## When to Use This Skill
|
|
|
|
Use this skill when you need to:
|
|
- **Create or manage pull requests** without leaving the terminal
|
|
- **Create, update, or close issues**
|
|
- **Review pull requests** and approve/reject changes
|
|
- **Create releases** and manage release assets
|
|
- **Manage labels and milestones**
|
|
- **Check notifications** from Gitea
|
|
- **Clone repositories** from Gitea instances
|
|
|
|
## How It Works
|
|
|
|
The `tea` CLI tool interacts directly with Gitea instances via their API. It automatically detects repository context from your current directory and uses stored login credentials.
|
|
|
|
## Setup
|
|
|
|
### Check if logged in
|
|
|
|
```bash
|
|
tea whoami
|
|
```
|
|
|
|
### Login to a Gitea instance
|
|
|
|
```bash
|
|
tea login add --url https://git.ajet.fyi --token YOUR_TOKEN
|
|
```
|
|
|
|
Or use interactive OAuth:
|
|
```bash
|
|
tea login add --url https://git.ajet.fyi --oauth
|
|
```
|
|
|
|
### List configured logins
|
|
|
|
```bash
|
|
tea login ls
|
|
```
|
|
|
|
## Common Operations
|
|
|
|
### Pull Requests
|
|
|
|
**List PRs:**
|
|
```bash
|
|
tea pr ls
|
|
tea pr ls --state open
|
|
tea pr ls --state closed
|
|
```
|
|
|
|
**Create a PR:**
|
|
```bash
|
|
tea pr create --title "Feature: Add new capability" --description "Detailed description"
|
|
tea pr create -t "Title" -d "Description" --base main --head feature-branch
|
|
```
|
|
|
|
**View PR details:**
|
|
```bash
|
|
tea pr <number>
|
|
tea pr 42 --comments
|
|
```
|
|
|
|
**Checkout a PR locally:**
|
|
```bash
|
|
tea pr checkout 42
|
|
tea pr co 42 --branch # Create local branch
|
|
```
|
|
|
|
**Review a PR:**
|
|
```bash
|
|
tea pr review 42
|
|
tea pr approve 42
|
|
tea pr reject 42
|
|
```
|
|
|
|
**Merge a PR:**
|
|
```bash
|
|
tea pr merge 42
|
|
tea pr merge 42 --style squash
|
|
tea pr merge 42 --style rebase
|
|
```
|
|
|
|
**Close a PR:**
|
|
```bash
|
|
tea pr close 42
|
|
```
|
|
|
|
### Issues
|
|
|
|
**List issues:**
|
|
```bash
|
|
tea issues ls
|
|
tea issues ls --state open
|
|
tea issues ls --labels bug,urgent
|
|
tea issues ls --milestone v1.0
|
|
```
|
|
|
|
**Create an issue:**
|
|
```bash
|
|
tea issues create --title "Bug: Something broken" --description "Details here"
|
|
tea issues create -t "Title" -d "Description" --labels bug,priority
|
|
```
|
|
|
|
**Edit an issue:**
|
|
```bash
|
|
tea issues edit 42 --title "New title"
|
|
tea issues edit 42 --add-labels bug,urgent
|
|
tea issues edit 42 --milestone v1.0
|
|
```
|
|
|
|
**Close/Reopen issues:**
|
|
```bash
|
|
tea issues close 42
|
|
tea issues reopen 42
|
|
```
|
|
|
|
### Comments
|
|
|
|
**Add a comment to an issue or PR:**
|
|
```bash
|
|
tea comment 42 "This is my comment"
|
|
```
|
|
|
|
### Releases
|
|
|
|
**List releases:**
|
|
```bash
|
|
tea releases ls
|
|
```
|
|
|
|
**Create a release:**
|
|
```bash
|
|
tea releases create --tag v1.0.0 --title "Version 1.0.0" --note "Release notes here"
|
|
tea releases create --tag v1.0.0 -t "v1.0.0" -n "Notes" --asset ./binary
|
|
```
|
|
|
|
**Delete a release:**
|
|
```bash
|
|
tea releases delete v1.0.0 --confirm
|
|
```
|
|
|
|
### Labels
|
|
|
|
**List labels:**
|
|
```bash
|
|
tea labels ls
|
|
```
|
|
|
|
**Create a label:**
|
|
```bash
|
|
tea labels create --name bug --color "#ff0000" --description "Bug reports"
|
|
```
|
|
|
|
### Milestones
|
|
|
|
**List milestones:**
|
|
```bash
|
|
tea milestones ls
|
|
tea milestones ls --state open
|
|
```
|
|
|
|
**Create a milestone:**
|
|
```bash
|
|
tea milestones create --title "v1.0" --description "First release"
|
|
tea milestones create -t "v1.0" -d "Description" --deadline 2026-12-31
|
|
```
|
|
|
|
**Add issue to milestone:**
|
|
```bash
|
|
tea milestones issues add v1.0 42
|
|
```
|
|
|
|
### Repositories
|
|
|
|
**Show repo details:**
|
|
```bash
|
|
tea repo
|
|
```
|
|
|
|
**Clone a repository:**
|
|
```bash
|
|
tea clone owner/repo
|
|
tea clone owner/repo --depth 1
|
|
```
|
|
|
|
### Branches
|
|
|
|
**List branches:**
|
|
```bash
|
|
tea branches ls
|
|
```
|
|
|
|
### Notifications
|
|
|
|
**Check notifications:**
|
|
```bash
|
|
tea notifications
|
|
tea notifications --mine
|
|
```
|
|
|
|
### Open in Browser
|
|
|
|
**Open repo in browser:**
|
|
```bash
|
|
tea open
|
|
tea open 42 # Open issue/PR #42
|
|
```
|
|
|
|
## Context and Options
|
|
|
|
### Repository Context
|
|
|
|
Tea automatically detects the repository from your current directory. Override with:
|
|
|
|
```bash
|
|
tea pr ls --repo owner/repo
|
|
tea issues create --repo owner/repo -t "Title"
|
|
```
|
|
|
|
### Login Selection
|
|
|
|
Use a specific Gitea login:
|
|
|
|
```bash
|
|
tea pr ls --login my-gitea
|
|
```
|
|
|
|
### Output Formats
|
|
|
|
Control output format:
|
|
|
|
```bash
|
|
tea pr ls --output json
|
|
tea pr ls --output yaml
|
|
tea pr ls --output csv
|
|
tea issues ls -o table # Default
|
|
```
|
|
|
|
## Advanced Usage
|
|
|
|
### Filtering and Searching
|
|
|
|
**Filter PRs by author:**
|
|
```bash
|
|
tea pr ls --author username
|
|
```
|
|
|
|
**Search issues by keyword:**
|
|
```bash
|
|
tea issues ls --keyword "search term"
|
|
```
|
|
|
|
**Filter by labels:**
|
|
```bash
|
|
tea issues ls --labels bug,urgent
|
|
```
|
|
|
|
**Filter by milestone:**
|
|
```bash
|
|
tea issues ls --milestone v1.0
|
|
```
|
|
|
|
**Filter by assignee:**
|
|
```bash
|
|
tea issues ls --assignee username
|
|
```
|
|
|
|
### Pagination
|
|
|
|
```bash
|
|
tea pr ls --page 2
|
|
tea pr ls --limit 50
|
|
```
|
|
|
|
## Important Notes
|
|
|
|
- **Repository context**: Tea works best when run from within a git repository directory
|
|
- **Multiple logins**: You can configure multiple Gitea instances
|
|
- **Default login**: Set a default login with `tea login default`
|
|
- **Token permissions**: Ensure your access token has appropriate scopes
|
|
- **Help available**: Run `tea <command> --help` for detailed options
|
|
- **Manual pages**: Use `tea man` for comprehensive documentation
|
|
|
|
## Typical Workflows
|
|
|
|
### Creating a PR from a feature branch
|
|
|
|
1. Make changes and commit
|
|
2. Push to remote
|
|
3. Create PR:
|
|
```bash
|
|
tea pr create -t "Feature: New capability" -d "Description of changes"
|
|
```
|
|
4. Wait for review or review yourself
|
|
|
|
### Reviewing and merging a PR
|
|
|
|
1. List PRs: `tea pr ls`
|
|
2. Checkout locally: `tea pr checkout 42`
|
|
3. Test the changes
|
|
4. Approve: `tea pr approve 42`
|
|
5. Merge: `tea pr merge 42 --style squash`
|
|
|
|
### Creating a release
|
|
|
|
1. Ensure you're on the right branch/commit
|
|
2. Create release:
|
|
```bash
|
|
tea releases create --tag v1.0.0 --title "Version 1.0.0" \
|
|
--note "Release notes" --asset ./binary
|
|
```
|
|
|
|
### Managing issues
|
|
|
|
1. List open issues: `tea issues ls --state open`
|
|
2. View specific issue: `tea issues 42`
|
|
3. Add comment: `tea comment 42 "Working on this"`
|
|
4. Close when done: `tea issues close 42`
|
|
|
|
## Getting Help
|
|
|
|
```bash
|
|
tea --help
|
|
tea <command> --help
|
|
tea man
|
|
```
|