Skip to content

Repository files navigation

logo

The command-line client for Tefter.

Installation

Via brew:

brew tap tefter/homebrew-cli
brew install tefter

Alternatively download a compatible release for your system from releases.

Extract and run tefter_cli.

The first time you run it, it'll try to open a browser window to authenticate your Tefter account. This method of of authentication works if you've already signed up via the browser and are logged in. A fallback auth mechanism is to create a ~/.tefter file with your API token.

{
  "token": "your_token_here"
}

You will find your token here.

Running on a current system (2026 notes)

This app and its published releases are from 2020; two things have shifted underneath them since.

Run with start_iex, not start. On current Linux, plain start boots the VM with -noshell and termbox then opens the alternate screen and never draws a cell — a black, dead TUI with no error anywhere. If you extracted a release, run:

./bin/tefter_cli start_iex

(The bundled tefter launcher script still calls start.) Quit with Ctrl+qCtrl+c opens the BEAM break menu instead.

The 2020 Linux release needs two old libraries current distributions no longer ship: libtinfo5 and libssl1.1. Extract them from archive.debian.org into a directory (no root needed) and point LD_LIBRARY_PATH at it.

Or build with Docker, which is the easiest path now — Erlang 21 / Elixir 1.9 are hard to install natively:

docker build -t tefter-cli .
touch ~/.tefter ~/.tefter_cache
docker run -it --rm --network host \
  -v ~/.tefter:/root/.tefter -v ~/.tefter_cache:/root/.tefter_cache tefter-cli

Opening links with Enter does not work from inside the container (there is no browser in there); the native release does that fine.

Inside tmux, set TERM=screen-256color — termbox only knows the xterm/screen/rxvt terminal families, and tmux's default tmux-256color makes it fail silently.

For development against a local server, TEFTER_URL=http://localhost:3010 overrides the API host.

Features

Search

search

Use enter to open a browser window with a result.

Aliases

aliases

Commands

Create an alias.

:c <alias> <url>

Delete an alias.

:d

Bookmarks

bookmarks

Filtering

filtering

Use / to start filtering.

Commands

commands

Add a bookmark.

:c <url>

Delete a bookmark.

:d

Modals

Use the :s command to display more details about the bookmark under the cursor.

modals

Usage

usage

Shortcuts

Key Action
Ctrl+s Jump to Search tab
Ctrl+a Jump to Aliases tab
Ctrl+b Jump to Bookmarks tab
Ctrl+h Jump to Help tab
Tab Jump to the next tab
Home Jump to the first tab
Move up
Ctrl+k Move up
Move down
Ctrl+j Move down
Ctrl+d Scroll down
Ctrl+u Scroll up
Enter Open browser window with item under cursor
Esc Cancel command / Quit modal
Ctrl+r Force refresh resources
Ctrl+q Quit
/ Enter filtering mode
: Enter command mode

Running Locally

First, ensure you have the following versions of Elixir and OTP installed on your machine:

erlang 21.3.2
elixir 1.9

Then, run:

git clone git@github.com:tefter/cli.git
mix deps.get
mix run --no-halt

Releasing

You can build portable releases per platform, which include the Erlang VM and don't require installing Erlang / Elixir on the target system.

Linux

Run:

./bin/release_linux

MacOS

Run:

./bin/release_macos

License

Copyright (c) 2020 Tefter, GPLv3 License. See LICENSE.txt for further details.

About

The command-line app for Tefter

Topics

Resources

Stars

68 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages