Skip to content

tjsmart/elra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elra

Edit Local, Run Anywhere.

Elra lets you connect your local project directory to a remote machine over SSH. It automatically syncs files, watches for changes, and lets you run commands remotely — as if you were developing locally.

✨ Features

  • 🔄 Live file sync between your local and remote project directories
  • 🖥️ Run commands remotely as if they were local
  • 🧠 Persistent SSH connections managed by the Elra service
  • ⚙️ Simple CLI interface with add, run, ls, and rm

🚀 Installation

Using go install

If you have Go 1.24+ installed:

go install github.com/tjsmart/elra@latest

Make sure your GOPATH/bin is in your PATH:

export PATH=$PATH:$(go env GOPATH)/bin

🧩 Usage

elra [command]

Available Commands

Command Description
add Add a new ssh connection for a project directory.
completion Generate autocompletion script for your shell.
help Show help for any command.
ls List connections.
rm Remove an ssh connection for a project directory.
run Run a command over ssh.
serve Start the elra service.

Use:

elra [command] --help

for detailed help on a specific command.


🧠 Examples

Start the service:

elra serve

Connect the current working directory to a remote machine:

elra add user@hostname

Elra will sync the current project to a temporary directory on the remote machine. Elra watches the local project directory and will update the remote machine on any creation/modification/deletion of a project file.

To list active connections:

elra ls

Run a command in the remote working directory:

elra run user@host "ls -la"

Remove a connection:

elra rm user@host

🧪 Development

Elra is made of 49.5% fun, 49.5% education, and 1% for potential use cases. Doing this project has taught me a lot about Go, web sockets, ssh, and pseudo terminals!

About

Edit Local Run Anywhere

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages