diff --git a/skills/gitea/SKILL.md b/skills/gitea/SKILL.md new file mode 100644 index 0000000..10b3a17 --- /dev/null +++ b/skills/gitea/SKILL.md @@ -0,0 +1,80 @@ +--- +name: gitea +description: Gitea repository management via REST API. Use when user explicitly mentions "gitea" for: (1) Creating repositories, (2) Listing repositories, (3) Deleting repositories, (4) Pushing code to Gitea. Default server: https://gitea.server10086.icu, default account: admin. Requires GITEA_TOKEN environment variable. +--- + +# Gitea Repository Management + +## Configuration + +- **Server**: `https://gitea.server10086.icu` +- **API Base**: `https://gitea.server10086.icu/api/v1` +- **Default Account**: `admin` +- **Auth Header**: `Authorization: token $GITEA_TOKEN` + +**Always verify GITEA_TOKEN exists before any operation:** +```bash +if [ -z "$GITEA_TOKEN" ]; then + echo "Error: GITEA_TOKEN environment variable not set" + exit 1 +fi +``` + +## Repository Operations + +### List Repositories + +```bash +# List all repos for current user +curl -s -X GET "https://gitea.server10086.icu/api/v1/user/repos" \ + -H "Authorization: token $GITEA_TOKEN" +``` + +### Create Repository + +```bash +curl -X POST "https://gitea.server10086.icu/api/v1/admin/repos" \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{ + "name": "repo-name", + "description": "Repository description", + "private": false, + "auto_init": false + }' +``` + +### Delete Repository + +```bash +curl -X DELETE "https://gitea.server10086.icu/api/v1/repos/admin/repo-name" \ + -H "Authorization: token $GITEA_TOKEN" +``` + +### Create and Push Current Directory + +```bash +REPO_NAME=$(basename $(pwd)) + +# Create repo via API +curl -X POST "https://gitea.server10086.icu/api/v1/admin/repos" \ + -H "Authorization: token $GITEA_TOKEN" \ + -H "Content-Type: application/json" \ + -d "{\"name\":\"$REPO_NAME\",\"auto_init\":false}" + +# Initialize and push +git init +git add . +git commit -m "Initial commit" +git remote add origin "https://gitea.server10086.icu/admin/$REPO_NAME.git" +git push -u origin main +``` + +## Error Handling + +| Status | Meaning | +|--------|---------| +| 401 | Invalid or missing GITEA_TOKEN | +| 409 | Repository already exists | +| 404 | Repository not found | +| 204 | Successful deletion (expected) |