gong-fu-cha/skills/SKILL.md
Adam Jeniski 42d7b43705 Initial commit: Gong Fu Cha - Tea CLI skills for Claude Code
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>
2026-01-05 18:52:02 -05:00

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
```