diff --git a/.opencode/skills/gitea-tea/SKILL.md b/.opencode/skills/gitea-tea/SKILL.md new file mode 100644 index 0000000..289a713 --- /dev/null +++ b/.opencode/skills/gitea-tea/SKILL.md @@ -0,0 +1,127 @@ +--- +name: gitea-tea +description: Use tea CLI to create, manage, and checkout Gitea pull requests. Use this when opening a PR, managing PRs, or checking out PRs on the gitea remote (gitea.story-basking.ts.net). +--- + +# Gitea Tea CLI Skill + +This skill covers using `tea` (Gitea's official CLI) for pull request workflows in this project. + +## When to Use This Skill + +Use this skill when you need to: +- Create a PR from a working branch to master on the gitea remote +- Open, list, or view PRs +- Checkout a PR locally for review or iteration +- Manage PR state (close, reopen, merge) + +## Project Setup + +The gitea remote is `gitea.story-basking.ts.net` with repo slug `notid/integreat`. The default push remote is **gitea**, NOT origin and NOT deploy. + +In this project's environment: +- Gitea login is pre-configured for `gitea.story-basking.ts.net` +- Repo slug: `notid/integreat` +- Target branch for PRs: `master` +- The git remote named `gitea` points to this instance + +## Creating a PR + +Use `tea pulls create` to open a PR from the current branch to master. Always specify `-r notid/integreat -b master`: + +```bash +tea pulls create -r notid/integreat -b master --title "Title" --description "Body" +``` + +Common flags: +- `-t, --title` - PR title +- `-d, --description` - PR body/description (use heredoc or file for long descriptions) +- `-a, --assignees` - Comma-separated usernames to assign +- `-L, --labels` - Comma-separated labels to apply +- `-m, --milestone` - Milestone to assign + +**Writing a multiline description:** + +```bash +tea pulls create -r notid/integreat -b master \ + -t "feat: add feature" \ + -d "$(cat <<'EOF' +## Summary +- Bullet point one +- Bullet point two +EOF +)" +``` + +Or write the body to a temp file first and reference it. + +## Listing PRs + +```bash +tea pulls list -r notid/integreat # List open PRs +tea pulls list -r notid/integreat --state all # All PRs +tea pulls list -r notid/integreat --limit 10 -o simple # Limit output, simple format +``` + +## Opening a PR in Browser + +```bash +tea open pr -r notid/integreat +tea open pr create -r notid/integreat # Open web UI to create a PR +``` + +## Checking Out a PR Locally + +```bash +tea pulls checkout -r notid/integreat +``` + +This fetches and checks out the PR branch locally. + +## Managing PR State + +**Close a PR:** +```bash +tea pulls close -r notid/integreat --confirm +``` + +**Reopen a closed PR:** +```bash +tea pulls reopen -r notid/integreat --confirm +``` + +**Merge a PR:** +```bash +tea pulls merge -r notid/integreat --confirm +``` + +**Edit a PR (title, description, etc.):** +```bash +tea pulls edit -r notid/integreat --title "New title" --description "New body" +``` + +## Full PR Creation Workflow + +1. Ensure the branch is pushed to gitea: + ```bash + git push gitea + ``` + +2. Create the PR with tea: + ```bash + tea pulls create -r notid/integreat -b master \ + --title "feat: description of change" \ + --description "Detailed PR body here" + ``` + +3. Open the PR in browser to verify: + ```bash + tea open pr -r notid/integreat + ``` + +## Tips + +- Always use `-r notid/integreat` to specify the repo explicitly +- Use `-b master` to set the target branch (default may differ) +- The `--confirm` flag is required for destructive actions (close, merge) +- Use `-o simple`, `-o json`, `-o table`, etc. to control output format