All Projects → lostintangent → kyte

lostintangent / kyte

Licence: MIT license
A single-command CLI for sharing and collaboratively editing a file in real-time

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to kyte

nvim
Repository for the Tandem NeoVim Plugin
Stars: ✭ 23 (-30.3%)
Mutual labels:  collaboration, collaborative-editing
Text
📑 Collaborative document editing using Markdown
Stars: ✭ 282 (+754.55%)
Mutual labels:  collaboration, collaborative-editing
mesh-code-editor
✒️ A sleek, real-time & collaborative online code editor for HTML, CSS, and JavaScript
Stars: ✭ 26 (-21.21%)
Mutual labels:  collaboration, collaborative-editing
Yjs
Shared data types for building collaborative software
Stars: ✭ 5,894 (+17760.61%)
Mutual labels:  collaboration, collaborative-editing
Subethaedit
General purpose plain text editor for macOS. Widely known for its live collaboration feature.
Stars: ✭ 1,183 (+3484.85%)
Mutual labels:  collaboration, collaborative-editing
Etherpad Lite
Etherpad: A modern really-real-time collaborative document editor.
Stars: ✭ 11,937 (+36072.73%)
Mutual labels:  collaboration, collaborative-editing
textbus
Textbus 是一个组件化的、数据驱动的富文本框架,支持在线协同编辑,同时也可以作为一个开箱即用的富文本编辑器,拥有非常好的扩展性和可定制性,是构建复杂富文本的不二之选!
Stars: ✭ 642 (+1845.45%)
Mutual labels:  collaboration, collaborative-editing
How To Collaborate On Github
A mini book about collaborating on GitHub
Stars: ✭ 346 (+948.48%)
Mutual labels:  collaboration, collaborative-editing
Tandem
Typing in Tandem. Decentralized, cross-editor, collaborative text-editing!
Stars: ✭ 678 (+1954.55%)
Mutual labels:  collaboration, collaborative-editing
Quill Sharedb Cursors
Collaborative editing with multi cursors sync using Quill and ShareDB.
Stars: ✭ 121 (+266.67%)
Mutual labels:  collaboration, collaborative-editing
Slate Collaborative
slatejs collaborative plugin & microservice https://slate-collaborative.herokuapp.com/
Stars: ✭ 236 (+615.15%)
Mutual labels:  collaboration, collaborative-editing
Nibriboard
🖼 An infinite whiteboard for those big ideas. Currently unstable and in alpha.
Stars: ✭ 15 (-54.55%)
Mutual labels:  collaboration
Operational-Transformation
A collection of Algorithms to Synchronise changes across multiple clients using Operational Transformation
Stars: ✭ 25 (-24.24%)
Mutual labels:  collaborative-editing
context-sketch-plugin
Count character, words, and paragraphs from a text layer easily inside Sketch!
Stars: ✭ 13 (-60.61%)
Mutual labels:  collaboration
estimator-elixir
Elixir side-project: Collaboratively estimate Jira stories (for remote teams)
Stars: ✭ 44 (+33.33%)
Mutual labels:  collaboration
counter-interview.dev
a collaborative collection of interview questions collected from both sides of the game: Interviewer(s) and Interviewee.
Stars: ✭ 102 (+209.09%)
Mutual labels:  collaborative-editing
42EXP
Find teams to work together with on projects
Stars: ✭ 21 (-36.36%)
Mutual labels:  collaboration
crisiscleanup-2
This version of the codebase was retired on March 27, 2020. Open Source Collaborative Disaster Recovery and Cleanup
Stars: ✭ 42 (+27.27%)
Mutual labels:  collaboration
GitHubDropBox
A tutorial for how to combine GitHub and DropBox in a research project
Stars: ✭ 28 (-15.15%)
Mutual labels:  collaboration
fuse-med-ml
A python framework accelerating ML based discovery in the medical field by encouraging code reuse. Batteries included :)
Stars: ✭ 66 (+100%)
Mutual labels:  collaboration

Kyte

Build Status Greenkeeper badge Commitizen friendly Maintainability Codacy Badge code style: prettier

Kyte is a single-command Node.js CLI that allows easily sharing a local file with other developers, and then collaboratively editing it in real-time, directly from your browser (Google Docs style!).

Getting Started

Note: Kyte requires that you have Node.js v8.0.0+ installed, so if you're using an older version, you'll need to upgrade. I'd recommend using the awesome nvs project for Node.js version management.

  1. Install the Kyte CLI on your development machine, using your preferred NPM client

    npm install -g kyte
    yarn global add kyte
  2. CD into the directory that contains the file you'd like to share

  3. Start sharing it with Kyte, which will launch a new browser-based editor, containing the contents of the specified file

    kyte <filePath>

    Note: You can omit the filePath argument in order to start a collaborative editing session on an empty file.

  4. Send the share URL (that has been copied to your clipboard) to all of the developers that you'd like to collaborate with, and then begin editing the file in real-time!

As an alternative, if you'd prefer not to install the kyte CLI globally, you could use npx to share your file with a single command:

npx kyte <filePath>

How does it work?

Under the covers, Kyte spins up an express-based server on your local machine, with a ShareDB server on top of it in order to provide the concurrent editing (OT) back-end for the specified file.

The web front-end uses the Monaco editor, and includes "bindings" to translate all of the editor actions into ShareDB operations, in order to keep all participating developers in sync.

In order to expose the server over the internet (and available to developers outside of your local subnet), it uses ngrok to create a public tunnel. This means that anyone with access to your share URL can access it, but the URL itself is "unguessable", and the tunnel will be immediately closed as soon as you terminate the kyte CLI process.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].