DevLink is a peer-to-peer CLI toolkit that removes development and staging friction. It enables secure, direct sharing of environments, databases, repositories, services, and containers between developers, without staging servers, cloud costs, or insecure workarounds.
Modern development suffers from collaboration bottlenecks: pushing half-done commits just to unblock teammates, leaking secrets over chat apps, or waiting on staging to test a two-line change. DevLink replaces these with direct, ephemeral, encrypted connections - making collaboration as fast as running a command.
____ _ _ _ | _ \ _____ _| | (_)_ __ | | __ | | | |/ _ \ \ / / | | | '_ \| |/ / | |_| | __/\ V /| |___| | | | | < |____/ \___| \_/ |_____|_|_| |_|_|\_\
Stop Configuring. Start Collaborating.
- Ephemeral Staging Environments (
hive) – Combine multiple developers’ local services into a shared, temporary test environment. - Secure Environment & Secret Sharing (
env) – Send.envfiles and secrets over one-time, encrypted transfers. - Peer-to-Peer Git (
git) – Serve your local repo directly for cloning/fetching. No WIP pushes required. - Live Database Access (
db) – Share a local database instantly, without dumps or imports. - Instant Localhost Streaming (
pair) – Exposelocalhostapps securely for demos and pair programming. - Direct Docker Image Transfer (
registry) – Push/pull Docker images between machines without registries.
- Go
1.18+
git clone https://github.com/your-org/devlink.git
cd devlink
go build -o devlink ./cmd/devlinkgo install github.com/your-org/devlink/cmd/devlink@latestdevlink --helpPackage manager releases (
brew,apt,winget) are on the roadmap.
Create a shared integration space across local machines.
devlink hive create <name>– create a new hive, returns invite tokendevlink hive connect <token>– join an existing hivedevlink hive contribute --service <name> --port <port>– expose a local service into the hive
# Example
devlink hive create feature-x
devlink hive contribute --service api --port 5000
devlink hive connect hx_abc123One-time, encrypted file transfers for secrets.
devlink env send <file>– send file, returns codedevlink env receive <code> <output>– receive file
devlink env send .env.local
devlink env receive 7-blue-river .env.localServe your repo directly, no remote push required.
devlink git serve– start temporary Git servergit clone devlink://<code> <dir>– clone via DevLink transport
devlink git serve
git clone devlink://git_abc123 my-featureExpose local databases for live queries.
devlink db share --type <postgres|mysql> --port <port>– share DBdevlink db connect <code>– connect to peer DB
devlink db share --type postgres --port 5432Securely share a local app over HTTPS.
devlink pair --port <port>– stream local app
devlink pair --port 3000Skip Docker Hub; transfer images directly.
devlink registry send <image:tag>– send imagedevlink registry receive <code>– receive image
devlink registry send myapp:latest
devlink registry receive 12-green-cometDevLink is secure by design:
- Zero-Trust – every session uses explicit, short-lived tokens
- Peer-to-Peer First – connections are direct when possible, no relays
- End-to-End Encrypted – no plaintext traffic, strong crypto by default
- Ephemeral – sessions vanish when stopped, no persistence
- No Inbound Ports – safe behind firewalls/NAT
- Multi-hop relays for restrictive networks
- GUI dashboard for hives
- Native packages (
brew,apt,winget) - IDE extensions (VS Code, JetBrains)
- Optional persistent hives for long-lived staging
- Fork the repo
- Create a feature branch (
git checkout -b feature/foo) - Commit changes (
git commit -m "feat: add foo") - Push (
git push origin feature/foo) - Open a pull request
Please open issues for major design changes before contributing.
Licensed under the MIT License.