150 lines
4.4 KiB
Markdown
150 lines
4.4 KiB
Markdown
# Gemini / AI Studio — Gitea Agent Onboarding
|
|
|
|
## Identity
|
|
|
|
| Field | Value |
|
|
|:------|:------|
|
|
| Gitea Username | `gemini` |
|
|
| Gitea User ID | `12` |
|
|
| Full Name | Google AI Agent |
|
|
| Email | gemini@hermes.local |
|
|
| Org | Timmy_Foundation |
|
|
| Team | Workers (write: code, issues, pulls, actions) |
|
|
| Token Name | `aistudio-agent` |
|
|
| Token Scopes | `write:issue`, `write:repository`, `read:organization`, `read:user`, `write:notification` |
|
|
|
|
## Auth Token
|
|
|
|
```
|
|
e76f5628771eecc3843df5ab4c27ffd6eac3a77e
|
|
```
|
|
|
|
Token file on Mac: `~/.timmy/gemini_gitea_token`
|
|
|
|
## API Base URL
|
|
|
|
Use Tailscale when available (tokens stay private):
|
|
```
|
|
http://100.126.61.75:3000/api/v1
|
|
```
|
|
|
|
Fallback (public):
|
|
```
|
|
http://143.198.27.163:3000/api/v1
|
|
```
|
|
|
|
## Quick Start — Paste This Into AI Studio
|
|
|
|
```
|
|
You are "gemini", an AI agent with write access to Gitea repositories.
|
|
|
|
GITEA API: http://143.198.27.163:3000/api/v1
|
|
AUTH HEADER: Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e
|
|
|
|
REPOS YOU CAN ACCESS (Timmy_Foundation org):
|
|
- timmy-home — Timmy's workspace, issues, uniwizard
|
|
- timmy-config — Configuration sidecar
|
|
- the-nexus — 3D world, frontend
|
|
- hermes-agent — Hermes harness fork
|
|
|
|
WHAT YOU CAN DO:
|
|
- Read/write issues and comments
|
|
- Create branches and push code
|
|
- Create and review pull requests
|
|
- Read org structure and notifications
|
|
|
|
IDENTITY RULES:
|
|
- Always authenticate as "gemini" — never use another user's token
|
|
- Sign your comments so humans know it's you
|
|
- Attribute your work honestly in commit messages
|
|
```
|
|
|
|
## Example API Calls
|
|
|
|
### List open issues
|
|
```bash
|
|
curl -s -H "Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e" \
|
|
"http://143.198.27.163:3000/api/v1/repos/Timmy_Foundation/timmy-home/issues?state=open&limit=10"
|
|
```
|
|
|
|
### Post a comment on an issue
|
|
```bash
|
|
curl -s -X POST \
|
|
-H "Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"body":"Hello from Gemini! 🔮"}' \
|
|
"http://143.198.27.163:3000/api/v1/repos/Timmy_Foundation/timmy-home/issues/112/comments"
|
|
```
|
|
|
|
### Create a branch
|
|
```bash
|
|
curl -s -X POST \
|
|
-H "Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"new_branch_name":"gemini/my-feature","old_branch_name":"main"}' \
|
|
"http://143.198.27.163:3000/api/v1/repos/Timmy_Foundation/timmy-home/branches"
|
|
```
|
|
|
|
### Create a file (commit directly)
|
|
```bash
|
|
curl -s -X POST \
|
|
-H "Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"content": "'$(echo -n "file content here" | base64)'",
|
|
"message": "feat: add my-file.md",
|
|
"branch": "gemini/my-feature"
|
|
}' \
|
|
"http://143.198.27.163:3000/api/v1/repos/Timmy_Foundation/timmy-home/contents/path/to/my-file.md"
|
|
```
|
|
|
|
### Create a pull request
|
|
```bash
|
|
curl -s -X POST \
|
|
-H "Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"title": "feat: description of change",
|
|
"body": "## Summary\n\nWhat this PR does.",
|
|
"head": "gemini/my-feature",
|
|
"base": "main"
|
|
}' \
|
|
"http://143.198.27.163:3000/api/v1/repos/Timmy_Foundation/timmy-home/pulls"
|
|
```
|
|
|
|
### Read a file from repo
|
|
```bash
|
|
curl -s -H "Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e" \
|
|
"http://143.198.27.163:3000/api/v1/repos/Timmy_Foundation/timmy-home/contents/SOUL.md" \
|
|
| python3 -c "import json,sys,base64; print(base64.b64decode(json.load(sys.stdin)['content']).decode())"
|
|
```
|
|
|
|
## Workflow Patterns
|
|
|
|
### Pattern 1: Research & Report (comment on existing issue)
|
|
1. Read the issue body
|
|
2. Do the research/analysis
|
|
3. Post results as a comment
|
|
|
|
### Pattern 2: Code Contribution (branch + PR)
|
|
1. Create a branch: `gemini/<feature-name>`
|
|
2. Create/update files on that branch
|
|
3. Open a PR against `main`
|
|
4. Wait for review
|
|
|
|
### Pattern 3: Issue Triage (create new issues)
|
|
```bash
|
|
curl -s -X POST \
|
|
-H "Authorization: token e76f5628771eecc3843df5ab4c27ffd6eac3a77e" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"title":"[RESEARCH] Topic","body":"## Context\n\n..."}' \
|
|
"http://143.198.27.163:3000/api/v1/repos/Timmy_Foundation/timmy-home/issues"
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Token was created 2026-03-30 via `gitea admin user generate-access-token`
|
|
- Gemini is in the **Workers** team — write access to all Timmy_Foundation repos
|
|
- The token does NOT have admin scope — cannot create users or manage the org
|
|
- Commits via the API will be attributed to `gemini <gemini@hermes.local>`
|