v1.2.0 adds full Gitea and Forgejo support, completing coverage of the major open-source Git hosting platforms.
git issue import gitea:owner/repo- Import issues from Giteagit issue import forgejo:owner/repo- Import issues from Forgejogit issue export gitea:owner/repo- Export issues to Gitea/Forgejogit issue sync gitea:owner/repo- Bidirectional synchronization
Key Features:
- ✅ NO CLI tool required - uses direct API calls (curl + jq)
- ✅ Token authentication:
GITEA_TOKEN/FORGEJO_TOKENenv vars or config files - ✅ Auto-detect platform (Gitea vs Forgejo) via API
- ✅ Support for gitea.com, codeberg.org, and self-hosted instances
- ✅ Bidirectional comment sync with Provider-Comment-ID tracking
- ✅ Idempotent operations - re-syncing is safe, no duplicates
- ✅ Full unicode and markdown preservation
The killer feature - migrate issues between ANY supported platforms in 2 commands:
# GitHub → Gitea migration
git issue import github:oldorg/oldrepo --state all
git issue export gitea:neworg/newrepo --url https://gitea.company.com
# GitLab → Forgejo migration
git issue import gitlab:oldgroup/oldproject --state all
git issue export forgejo:username/project
# Forgejo → GitHub migration
git issue import forgejo:username/oldproject --state all
git issue export github:username/newrepoUse Cases:
- Platform independence (backup issues in Git, portable across any platform)
- Cost optimization (GitHub Teams → Gitea/Forgejo self-hosted)
- Open-source alignment (move to Codeberg.org/Forgejo for non-profit governance)
- Self-hosted for compliance (GDPR, data sovereignty)
| Platform | Status | Method | CLI Required? |
|---|---|---|---|
| GitHub | ✅ v1.0 | gh CLI | Yes |
| GitLab | ✅ v1.1 | glab CLI | Yes |
| Gitea | ✅ v1.2 | Direct API | No |
| Forgejo | ✅ v1.2 | Direct API | No |
Direct API Approach:
- Gitea/Forgejo bridges use curl + jq (NO CLI dependency)
- Simpler authentication (just set token env var or config file)
- Works everywhere POSIX shell is available
- No rate limiting concerns (unlike GitHub's 5000 req/hour)
Provider-Specific Scripts:
- bin/git-issue-import-gitea (467 lines)
- bin/git-issue-export-gitea (506 lines)
- Clean router pattern for extensibility
- Ready for future providers (Bitbucket, Azure DevOps)
- 40 comprehensive tests for Gitea/Forgejo bridge
- 30 mock tests with fixture-based API responses
- 10 integration tests with real instances
- All platform tests passing (GitHub, GitLab, Gitea/Forgejo)
- Cross-platform migration validated end-to-end
- Idempotency stress testing - multiple syncs produce identical results
- Unicode, emoji, markdown preservation verified
- docs/gitea-bridge.md - Comprehensive Gitea/Forgejo bridge guide (700+ lines)
- Authentication setup (Personal Access Tokens)
- Import/export/sync examples
- Self-hosted instance configuration
- API compatibility notes (Gitea 1.0+, Forgejo 1.18+)
- Troubleshooting guide
- Migration workflows
- docs/gitlab-bridge.md - Fixed to correctly reference glab CLI
- README.md - Updated with Gitea/Forgejo examples
- QUICKSTART.md - Added Gitea/Forgejo quickstart
No additional CLI tools needed! Just curl and jq (usually pre-installed).
# Verify you have the tools
command -v curl && command -v jq- Go to your Gitea instance → Settings → Applications → Manage Access Tokens
- Generate new token with
read:issueandwrite:issuescopes - Save token:
# Via environment variable
export GITEA_TOKEN="your-token-here"
# Or via config file (recommended)
mkdir -p ~/.config/git-native-issue
echo "your-token-here" > ~/.config/git-native-issue/gitea-token
chmod 600 ~/.config/git-native-issue/gitea-tokenSame process as Gitea, but use FORGEJO_TOKEN:
export FORGEJO_TOKEN="your-forgejo-token"
# Or config file
echo "your-forgejo-token" > ~/.config/git-native-issue/forgejo-token
chmod 600 ~/.config/git-native-issue/forgejo-token# Homebrew
brew upgrade remenoscodes/git-native-issue/git-native-issue
# Or from source
cd ~/source/remenoscodes.git-native-issue
git pull
make installVerify the version:
git issue version
# git-issue version 1.2.0None! This release is 100% backward compatible with v1.1.x.
Based on market research, the next bridges in priority order:
- Bitbucket (21-30% market share, Atlassian ecosystem)
- Azure DevOps (13.62% DevOps services, Fortune 500 presence)
- Forgejo Federation (ForgeFed) - Distributed issue tracking across federated instances
Other roadmap items:
- Shell completion (bash/zsh)
- Performance optimizations
- Additional QoL improvements
This release was developed using parallel team development with specialized agents:
- implementation-lead: Import/export bridge implementation
- test-specialist: Comprehensive 40-test suite
- doc-writer: 700+ line documentation and API research
Full Changelog: https://github.com/remenoscodes/git-native-issue/compare/v1.1.0...v1.2.0
Installation: https://github.com/remenoscodes/git-native-issue#installation
Documentation: https://github.com/remenoscodes/git-native-issue/tree/main/docs