Migrate from Forgejo to Gitea
- Replace fj CLI with tea CLI across all commands - Create new gitea skill, remove forgejo skill - Update all agents to use gitea skill - Update commands to use skill-based approach (reference skills instead of embedding CLI commands) - Update all documentation (README, ARCHITECTURE, VISION, writing guides) - Swap git remotes: origin now points to git.flowmade.one (Gitea) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -60,11 +60,13 @@ If issue covers multiple features, split into separate issues.
|
||||
|
||||
## Grooming Workflow
|
||||
|
||||
1. **Fetch open issues**: `fj issue search -s open`
|
||||
Use the gitea skill for issue operations.
|
||||
|
||||
1. **Fetch open issues**
|
||||
2. **Review each issue** against checklist
|
||||
3. **Improve or flag** issues that need work
|
||||
4. **Update issue** with improvements: `fj issue edit <n> --body "..."`
|
||||
5. **Add labels** as needed: `fj issue label add <n> <label>`
|
||||
4. **Update issue** with improvements
|
||||
5. **Add labels** as needed
|
||||
|
||||
## Questions to Ask
|
||||
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
# Forgejo CLI (fj)
|
||||
|
||||
Command-line interface for interacting with Forgejo repositories.
|
||||
|
||||
## Authentication
|
||||
|
||||
The `fj` CLI authenticates via `fj auth login`. Credentials are stored locally by fj.
|
||||
|
||||
## Repository Detection
|
||||
|
||||
`fj` automatically detects the repository from git remotes when run inside a git repository.
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Issues
|
||||
|
||||
```bash
|
||||
# List issues
|
||||
fj issue search -s open # Open issues
|
||||
fj issue search -s closed # Closed issues
|
||||
fj issue search # All issues
|
||||
|
||||
# View issue details
|
||||
fj issue view <number> # Full issue details
|
||||
|
||||
# Create issue
|
||||
fj issue create "<title>" --body "<body>"
|
||||
|
||||
# Edit issue
|
||||
fj issue edit <number> --title "<new-title>"
|
||||
fj issue edit <number> --body "<new-body>"
|
||||
|
||||
# Close/reopen
|
||||
fj issue close <number>
|
||||
fj issue reopen <number>
|
||||
|
||||
# Labels
|
||||
fj issue label add <number> <label>
|
||||
fj issue label remove <number> <label>
|
||||
```
|
||||
|
||||
### Pull Requests
|
||||
|
||||
```bash
|
||||
# List PRs
|
||||
fj pr search -s open # Open PRs
|
||||
fj pr search -s closed # Closed/merged PRs
|
||||
|
||||
# View PR
|
||||
fj pr view <number> # PR details
|
||||
fj pr view <number> diff # PR diff
|
||||
|
||||
# Create PR
|
||||
fj pr create "<title>" --body "<body>"
|
||||
fj pr create "<title>" --body "Closes #<issue>"
|
||||
|
||||
# Comment on PR
|
||||
fj pr comment <number> "<comment>"
|
||||
|
||||
# Merge
|
||||
fj pr merge <number> # Default merge
|
||||
fj pr merge <number> -d # Delete branch after merge
|
||||
fj pr merge <number> -M squash # Squash commits
|
||||
fj pr merge <number> -M rebase # Rebase commits
|
||||
fj pr merge <number> -M rebase-merge # Rebase then merge commit
|
||||
```
|
||||
|
||||
### Repository
|
||||
|
||||
```bash
|
||||
fj repo view # Repository info
|
||||
fj repo clone <owner>/<repo> # Clone repository
|
||||
```
|
||||
|
||||
## Output Formatting
|
||||
|
||||
Most commands support `--output` flag:
|
||||
- `--output json` - Machine-readable JSON
|
||||
- `--output table` - Tabular format (default for lists)
|
||||
- `--output simple` - Plain text
|
||||
|
||||
## Tips
|
||||
|
||||
- Always verify you're in the correct repository before running commands
|
||||
- Use `fj issue search` to find issue numbers before viewing/editing
|
||||
- Reference issues in PR bodies with `Closes #N` for auto-linking
|
||||
159
skills/gitea/SKILL.md
Normal file
159
skills/gitea/SKILL.md
Normal file
@@ -0,0 +1,159 @@
|
||||
# Gitea CLI (tea)
|
||||
|
||||
Command-line interface for interacting with Gitea repositories.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
brew install tea
|
||||
```
|
||||
|
||||
## Authentication
|
||||
|
||||
The `tea` CLI authenticates via `tea logins add`. Credentials are stored locally by tea.
|
||||
|
||||
```bash
|
||||
tea logins add # Interactive login
|
||||
tea logins add --url <url> --token <token> --name <name> # Non-interactive
|
||||
tea logins list # Show configured logins
|
||||
tea logins default <name> # Set default login
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Config is stored at `~/Library/Application Support/tea/config.yml` (macOS).
|
||||
|
||||
To avoid needing `--login` on every command, set defaults:
|
||||
|
||||
```yaml
|
||||
preferences:
|
||||
editor: false
|
||||
flag_defaults:
|
||||
remote: origin
|
||||
login: git.flowmade.one
|
||||
```
|
||||
|
||||
## Repository Detection
|
||||
|
||||
`tea` automatically detects the repository from git remotes when run inside a git repository. Use `--remote <name>` to specify which remote to use.
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Issues
|
||||
|
||||
```bash
|
||||
# List issues
|
||||
tea issues # Open issues (default)
|
||||
tea issues --state all # All issues
|
||||
tea issues --state closed # Closed issues
|
||||
|
||||
# View issue details
|
||||
tea issues <number> # Full issue details
|
||||
tea issues <number> --comments # Include comments
|
||||
|
||||
# Create issue
|
||||
tea issues create --title "<title>" --description "<body>"
|
||||
tea issues create -t "<title>" -d "<body>"
|
||||
|
||||
# Edit issue
|
||||
tea issues edit <number> --title "<new-title>"
|
||||
tea issues edit <number> --description "<new-body>"
|
||||
|
||||
# Close/reopen
|
||||
tea issues close <number>
|
||||
tea issues reopen <number>
|
||||
|
||||
# Labels
|
||||
tea issues edit <number> --labels "bug,help wanted"
|
||||
```
|
||||
|
||||
### Pull Requests
|
||||
|
||||
```bash
|
||||
# List PRs
|
||||
tea pulls # Open PRs (default)
|
||||
tea pulls --state all # All PRs
|
||||
tea pulls --state closed # Closed/merged PRs
|
||||
|
||||
# View PR
|
||||
tea pulls <number> # PR details
|
||||
tea pulls <number> --comments # Include comments
|
||||
tea pulls <number> -f diff # PR diff
|
||||
|
||||
# Create PR
|
||||
tea pulls create --title "<title>" --description "<body>"
|
||||
tea pulls create -t "<title>" -d "<body>"
|
||||
tea pulls create -t "<title>" -d "Closes #<issue>"
|
||||
tea pulls create --head <branch> --base main -t "<title>"
|
||||
|
||||
# Checkout PR locally
|
||||
tea pulls checkout <number>
|
||||
|
||||
# Review/Approve
|
||||
tea pulls approve <number> # Approve PR (LGTM)
|
||||
tea pulls reject <number> # Request changes
|
||||
tea pulls review <number> # Interactive review
|
||||
|
||||
# Merge
|
||||
tea pulls merge <number> # Default merge
|
||||
tea pulls merge <number> --style squash # Squash commits
|
||||
tea pulls merge <number> --style rebase # Rebase commits
|
||||
tea pulls merge <number> --style rebase-merge # Rebase then merge
|
||||
|
||||
# Clean up after merge
|
||||
tea pulls clean <number> # Delete local & remote branch
|
||||
```
|
||||
|
||||
### Repository
|
||||
|
||||
```bash
|
||||
tea repos # List repos
|
||||
tea repos <owner>/<repo> # Repository info
|
||||
tea clone <owner>/<repo> # Clone repository
|
||||
```
|
||||
|
||||
### Notifications
|
||||
|
||||
```bash
|
||||
tea notifications # List notifications
|
||||
tea notifications --mine # Only participating
|
||||
```
|
||||
|
||||
## Output Formatting
|
||||
|
||||
Most commands support `--output` or `-o` flag:
|
||||
- `-o simple` - Plain text
|
||||
- `-o table` - Tabular format (default)
|
||||
- `-o json` - Machine-readable JSON
|
||||
- `-o yaml` - YAML format
|
||||
- `-o csv` - CSV format
|
||||
|
||||
## Specifying Remote/Login
|
||||
|
||||
```bash
|
||||
tea issues --remote gitea # Use specific git remote
|
||||
tea issues --login myserver # Use specific login
|
||||
tea issues -r owner/repo # Specify repo directly
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
- Always verify you're in the correct repository before running commands
|
||||
- Use `tea issues` to find issue numbers before viewing/editing
|
||||
- Reference issues in PR bodies with `Closes #N` for auto-linking
|
||||
- Use `--remote gitea` when you have multiple remotes (e.g., origin + gitea)
|
||||
- The `tea pulls checkout` command is handy for reviewing PRs locally
|
||||
|
||||
## Actions (API only)
|
||||
|
||||
Note: `tea` CLI does not yet support actions/CI commands. Use the Gitea API directly:
|
||||
|
||||
```bash
|
||||
# List workflow runs
|
||||
curl -H "Authorization: token $TOKEN" \
|
||||
"https://git.flowmade.one/api/v1/repos/{owner}/{repo}/actions/runs"
|
||||
|
||||
# Get job logs
|
||||
curl -H "Authorization: token $TOKEN" \
|
||||
"https://git.flowmade.one/api/v1/repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
|
||||
```
|
||||
@@ -75,25 +75,15 @@ In issue descriptions:
|
||||
- Depends on #13 (API setup)
|
||||
```
|
||||
|
||||
## Creating Issues with fj
|
||||
## Creating Issues
|
||||
|
||||
Use the gitea skill for issue operations.
|
||||
|
||||
### Single Issue
|
||||
```bash
|
||||
fj issue create "Add user authentication endpoint" --body "$(cat <<'EOF'
|
||||
## Summary
|
||||
Create POST /api/auth/login endpoint for user authentication.
|
||||
|
||||
## Acceptance Criteria
|
||||
- [ ] Endpoint accepts email and password
|
||||
- [ ] Returns JWT token on success
|
||||
- [ ] Returns 401 on invalid credentials
|
||||
- [ ] Rate limits login attempts
|
||||
|
||||
## Dependencies
|
||||
- Depends on #5 (user model)
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
Create with a descriptive title and structured body:
|
||||
- Summary section
|
||||
- Acceptance criteria (testable checkboxes)
|
||||
- Dependencies section referencing blocking issues
|
||||
|
||||
### Batch Creation
|
||||
When creating multiple related issues:
|
||||
@@ -104,7 +94,7 @@ When creating multiple related issues:
|
||||
## Roadmap View
|
||||
|
||||
To see current roadmap:
|
||||
1. List open issues: `fj issue search -s open`
|
||||
1. List open issues using the gitea skill
|
||||
2. Group by labels/milestones
|
||||
3. Identify blocked vs ready issues
|
||||
4. Prioritize based on dependencies and value
|
||||
|
||||
Reference in New Issue
Block a user