cdf

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2025 License: MIT Imports: 2 Imported by: 0

README

CDF - 📁 OS path bookmarks manager

CDF is a fast and efficient terminal-based CLI tool, written in Go, designed to perform a single task with precision and simplicity. Following the Unix philosophy of "do one thing, but do it well," cdf has zero dependencies and provides a minimalistic solution to a specific problem. Its lightweight nature ensures that it integrates seamlessly into any Unix-like environment, delivering a reliable and focused user experience.

Install

Using Go:

go install github.com/cl1ckname/cdf@latest

Right now there is no way to get a prebuilt binary, but work is actively underway on this. For now, you can compile and install the utility yourself.

Get the binary

Clone repository using git command

git clone https://github.com/cl1ckname/cdf

Cd to it

cd cdf

Install binary to $GOBIN

make install
Integrate it to shell

The process of integrating SDF into different shells varies slightly. But in general, the point is to add the appropriate line to the end of your shell configuration file.

Bash Add this to end of your .bashrc file
eval "$(cdf shell bash)"
Fish Add this to end of your .config/fish/config.fish file
cdf shell fish | source
Zsh

Coming soon...

Usage

The CDF should be treated as a list of bookmarks in the browser, not as a search bar, unlike similar projects the CDF does not collect any data on its own, so the user himself must add points for quick navigation.

Add mark

The first step in using the program is to add a mark at cwd

cdf add home

You can specify mark directory

cdf add home /home/username

Both absolute and relative paths can be used for this

cdf add projects ./projects # in /home/username/projects
List marks

The list of brands can be easily retrieved by the list command

cdf list

The next text will be printed

home		/home/username
projects 	/home/username/projects
Jump to mark

To move to the defined mark, use a shortened version of the command with the path alias

f home # we're in /home/username now

Why not just use Z or Jump?

The short answer - it is different.

The long answer is - well, that's really something else entirely. CDF uses only precisely marked points. The user does not need to heuristically evaluate how this or that incomplete path will resolve for him. Fuzzy Search is wonderful and is definitely comfortable to use. But there is such a way to guarantee yourself a quick result, even if only for a couple of symbols. Use them both to achieve unprecedented productivity!

Inspired by

This project is inspired by these. Try them too!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
app
Package app builds default application with dependencies
Package app builds default application with dependencies
cli
config
Package config contains struct for persistent state data storing
Package config contains struct for persistent state data storing
pkg/commands
Package commands contains command handlers
Package commands contains command handlers
store/filesystem
Package filesystem contains store.FS interface implementation
Package filesystem contains store.FS interface implementation

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL