leaps

A pair programming service using operational transforms

Github星跟蹤圖

Leaps

godoc for jeffail/leaps
goreportcard for jeffail/leaps

Leaps is a service for collaboratively editing your local files over a web UI,
using operational transforms to ensure zero-collision synchronization across any
number of editing clients.

WARNING: This project is no longer actively maintained.

Screenshot

Run

Simply navigate to a directory you want to share, run leaps, open the hosted
page (default http://localhost:8080) in your browser and direct any friends on
your LAN to the same page. You can now collaboratively edit any documents in
that directory.

Your files will be written to in the background as you edit. If you aren't using
version control, or simply want extra protection, you can run leaps in safe mode
with the --safe flag. In safe mode any changes you make will be placed in a
.leaps_cot.json file, which you can then apply to your files once you are
happy by running with the --commit flag.

Build/test commands from the UI

When writing code it sucks to have to leave the editor for running tests,
linters or builds. However, allowing the internet to run arbitrary commands on
the host machine is a recipe for disaster.

Instead, leaps allows you to specify pre-written commands using the -cmd flag,
which are then available for clients to trigger asynchronously while they edit.
Results are broadcast to all connected users, so you can all see the outcome as
a team.

For example, leaps -cmd "golint ./..." -cmd "go build ./cmd/leaps" gives
users both a linter and a build command that they can trigger on your machine.

API

Leaps can also be used as a library, with implementations of accessors for
various document hosting solutions and plugable authentication layers, allowing
you to build your own services to suit many service architectures.

Leaps server components are implemented in Golang, and has a client implemented
in JavaScript that can currently be used with ACE, CodeMirror and Textarea
editors.

To read more about the service library components and find examples check out
the godocs.

To read about the JavaScript client check out the README.

Install

Leaps is a single binary, with no runtime dependencies. Just download a package
for your OS from the latest releases page.

From homebrew

brew install leaps
leaps -h

Build with Go

go get github.com/Jeffail/leaps/cmd/...
leaps -h

System compatibility

OS, Status
------------------, ------
OSX x86_64, Supported, tested
Linux x86, Supported
Linux x86_64, Supported, tested
Linux ARMv5, Builds
Linux ARMv7, Supported, tested
Windows x86, Builds
Windows x86_64, Builds

Contributing and customizing

Contributions are very welcome, just fork and submit a pull request.

Contact

Ashley Jeffs

主要指標

概覽
名稱與所有者Jeffail/leaps
主編程語言Go
編程語言JavaScript (語言數: 4)
平台
許可證MIT License
所有者活动
創建於2014-06-19 20:33:05
推送於2023-03-07 00:44:14
最后一次提交2021-02-22 08:51:19
發布數27
最新版本名稱v0.9.1 (發布於 )
第一版名稱v0.0.1 (發布於 )
用户参与
星數756
關注者數29
派生數55
提交數290
已啟用問題?
問題數44
打開的問題數13
拉請求數9
打開的拉請求數1
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?