PRE-ALPHA

A better way to
“just FTP it.”

Map your local project once. Preview the diff. Push exactly what you intend to shared hosting over FTPS.

pip install hook-line-sync
See the workflow
transportFTPS / explicit TLS
runtimePython 3.10+
licenseMIT
~/sites/discovery — hlsync TLS:ON

hlsync diff -r

Checking differences for profile 'discovery'...

  assets/

l +   index.php

r -   legacy.php

  ~   site.css

l + icons/

hlsync push

Pushing changes...

  + index.php

  ~ site.css

  + icons/

  - legacy.php

Push complete: 4 changes.

41.8781° N SYNC_CHANNEL_01
MAP ONCEDIFF FIRST PUSH FILESPUSH EXACTLY MAP ONCEDIFF FIRST

01 // THE LOOP

Map it once. Check the diff. Push.

HLS remembers where the project lives locally and remotely, then shows what will change before any files move.

  1. 01

    Map the project

    Connect the current local directory to its remote root. HLS recognizes that project from any directory beneath it.

    hlsync create prod --host …
  2. 02

    Exclude what doesn’t belong

    Exclude files that should never leave your machine. Use an explicit pattern when future matching files should stay excluded too.

    hlsync rules -e --pattern '*.map'
  3. 03

    Read the diff

    Compare local and remote files before changing either side. Routine output stays focused on paths that differ; --all reveals the complete comparison.

    hlsync diff -r
  4. 04

    Push the changes

    Upload new and modified files, then remove remote-only files in the selected scope. Use -k when remote-only files should stay.

    hlsync push

02 // DESIGN SIGNAL

Safer than manual FTP.
Lighter than a deployment stack.

HLS keeps the familiar FTPS server you already have, while adding the project context, change preview, and deletion safeguards manual uploads are missing.

A

Local files drive the sync

The remote is treated as a deployment target. A file missing locally is reported instead of being copied back unexpectedly.

B

Push matches local state

Remote-only paths in the selected scope are deleted after uploads succeed. Use -k when they should be retained.

C

Path rules stay readable

Quoted and unquoted wildcards select the same existing files. --pattern clearly marks rules that should match future files.

D

Verified FTPS connections

HLS verifies certificates, protects the data channel, and uses structured server listings over explicit TLS.

03 // OPEN SOURCE

Free to use.
Worth supporting.

HLS is MIT licensed for personal and commercial work. A voluntary Business subscription is planned for teams that want help configuring HLS, reviewing a deployment setup, troubleshooting server compatibility, or triaging a reproducible defect.