npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

logiclink-desk

v0.1.1

Published

CLI tooling for LOGIClink Bluetooth standing desks.

Readme

logiclink-desk

CLI tooling for controlling LOGIClink Bluetooth standing desks.

This project is a Rust command-line application with an optional npm wrapper. It can read the current desk height, send movement commands, move to a target height, and inspect or build the underlying protocol packets used by the desk.

Safety warning

Use this software at your own risk.

This tool sends Bluetooth commands that can make a motorised desk move up or down. Before running any movement command, make sure the area above, below, and around the desk is clear. Keep people, pets, cables, monitors, shelves, chairs, and other objects away from moving parts.

The software cannot guarantee that the desk will stop before hitting an obstruction, reaching a limit, or moving farther than expected. Stay near the desk while it is moving and be ready to stop it using the desk's physical controls or by cutting power if needed.

Do not use this tool unattended, remotely, or in any situation where unexpected desk movement could cause injury or damage.

Requirements

  • A LOGIClink Bluetooth standing desk.
  • Bluetooth enabled on the machine running the CLI.
  • Rust toolchain for local development and building from source.
  • Node.js 18 or newer if using the npm wrapper or packaging scripts.

Bluetooth permissions vary by operating system. You may need to allow terminal, shell, or Node/Rust processes to access Bluetooth.

Install dependencies

cargo fetch
npm install

npm install is only required for the npm packaging flow. The Rust CLI itself builds with Cargo.

Run from source

Read the current desk height:

cargo run -- height

Move to a target height in centimetres:

cargo run -- set-height 100

Raise or lower by a relative amount in centimetres:

cargo run -- raise 5
cargo run -- lower 2.5

If more than one compatible device is visible, pass a device name:

cargo run -- height --device-name "Your Desk Name"

Print all commands:

cargo run -- --help

Print help for a specific command:

cargo run -- set-height --help

Build

Build a debug binary:

cargo build

Build an optimised release binary:

cargo build --release

The release binary is written to:

target/release/logiclink-desk

Run it directly:

./target/release/logiclink-desk height

NPM usage

The npm package is intended to ship prebuilt Rust binaries, so users do not need a Rust toolchain installed.

npx logiclink-desk height
npx logiclink-desk set-height 100

The npm CLI entrypoint looks for binaries in prebuilt/<platform>-<arch>/logiclink-desk, for example:

prebuilt/darwin-arm64/logiclink-desk

Packaging

Build and stage the current platform binary before packing or publishing:

npm run prepare:binary
npm pack

The GitHub Actions workflow publishes to npm whenever changes are pushed to main. Add an npm automation token as the repository secret NPM_TOKEN before relying on the workflow.

Available npm scripts:

npm run build:release
npm run package:binary
npm run prepare:binary

Useful commands

Read-only commands:

logiclink-desk height
logiclink-desk query get-height
logiclink-desk decode <hex>
logiclink-desk build <command>

Movement commands:

logiclink-desk set-height 100
logiclink-desk adjust-height -2.5
logiclink-desk raise 5
logiclink-desk lower 5
logiclink-desk pulse up 5
logiclink-desk burst down 20

Profiling and diagnostics:

logiclink-desk watch-motion up 20
logiclink-desk profile-motion down 10
logiclink-desk bench-height-poll

Development

Run the test suite:

cargo test

Check formatting:

cargo fmt --check

Run Clippy:

cargo clippy --all-targets --all-features