Open source ยท Multilingual ยท Zero config
One command.
Every language.
Ship together.

Add ContribBridge to any GitHub repo in 30 seconds. Every issue filed in any language is instantly translated for your team โ€” powered by Lingo.dev's context-aware engine.

terminal
$ npx contribbridge init
npx contribbridge init
๐Ÿ“ฆ 3.5KB gzipped โšก 30s setup ๐ŸŒ 87 languages ๐Ÿ”“ Apache 2.0
// live issue feed ajitpal/ContribBridge
LIVE
Issues translated today 1,247
Languages active 87
Avg translation time 340ms
Confidence score avg 94%
Repos connected 2,108
Contributors unlocked 18,440
Powered by Lingo.dev SDK
Issues translated today 1,247
Languages active 87
Avg translation time 340ms
Confidence score avg 94%
Repos connected 2,108
Contributors unlocked 18,440
Powered by Lingo.dev SDK
// get started

Three commands.
Zero friction.

No config files. No YAML hell. No language expertise needed. ContribBridge wires into your existing GitHub workflow in under a minute.

01
๐Ÿ“ฆ
Install & Init
One npx command scaffolds the full project โ€” Lingo.dev SDK, Express webhook server, WebSocket dashboard, SQLite cache, and .env template.
# Scaffold everything in one shot npx contribbridge@latest init โœ“ lingo.dev/sdk installed โœ“ @octokit/rest installed โœ“ Webhook secret generated โœ“ Dashboard at :4000
02
๐Ÿ”‘
Set Your Keys
Configure your environment. The init wizard will prompt for your Lingo.dev and GitHub credentials to secure the connection.
# .env โ€” required connection keys LINGODOTDEV_API_KEY=lingo_xxx GITHUB_TOKEN=ghp_xxx CONTRIBBRIDGE_LICENSE_KEY=jwt_xxx
03
๐Ÿš€
Connect & Watch
Connect any repo โ€” auto-registers the GitHub webhook via Octokit. Every new issue flows through the Lingo.dev pipeline in under 600ms.
# Link and watch repo contribbridge connect --repo org/repo contribbridge watch โ†’ detectLocale() ~40ms โ†’ localizeHtml() ~300ms โ†’ postComment() ~120ms โœ“ Total: <600ms

The live feed.

This is exactly what you see when you run contribbridge watch. Simulate incoming issues, try your own text.

contribbridge watch โ€” ajitpal/ContribBridge
LIVE
ajitpal/ContribBridge 0
vercel/next.js 11
vuejs/vue 8
๐Ÿ‡จ๐Ÿ‡ณ Mandarin 1.2k
๐Ÿ‡ง๐Ÿ‡ท Portuguese 891
๐Ÿ‡ฏ๐Ÿ‡ต Japanese 743
๐Ÿ‡ฎ๐Ÿ‡ณ Hindi 534
๐Ÿ‡ฉ๐Ÿ‡ช German 412
+ 78 more โ†’
Translation Health
Confidence
94%
Context
88%
Lingo.dev translating...
โ†’ via Lingo.dev SDK
// how it works

Five steps.
Infinite scale.

ContribBridge is a thin orchestration layer on Lingo.dev's battle-tested engine. Each step is independently observable โ€” plug in Redis, Kafka, or Lambda as you grow.

๐Ÿ™
GitHub Event
issue_opened webhook โ†’ HMAC-SHA256 verified โ†’ 200 ACK in <2ms
@octokit/rest
๐Ÿ”
Language Detect
lingo.detectLocale() โ€” 83 locales, ~40ms. English? Skip. Non-English? Continue.
lingo.dev SDK
โšก
Translate
localizeText() for titles ยท localizeHtml() for bodies โ€” preserves code blocks, stack traces, URLs
lingo.dev SDK
๐Ÿง 
AI Enrich
Auto-labels, severity score, duplicate detection added to translated issue
enrichment
โœ…
Post Back
Octokit posts translation as comment. Maintainer replies โ†’ localizeChat() back to contributor
bidirectional
SDK METHOD
detectLocale()
Language ID
SDK METHOD
localizeText()
Titles & strings
SDK METHOD
localizeHtml()
Bodies + code safe
SDK METHOD
localizeChat()
Thread replies
SDK METHOD
localizeObject()
Metadata bulk
โšก Done