Skip to content

Repository files navigation

FileTug – modern CLI file browser/picker with neat UI

Fast Open Source Cross Platform

Our approach to development

We build with our own tooling:

  • SpecScore — specify requirements as SpecScore.md artifacts
  • SpecStudio — author & manage specs across their lifecycle
  • inGitDB — store structured data in Git where applicable
  • DALgo — data access layer for Go
  • cover100.dev — drive toward 100% test coverage
  • DataTug — query & explore data

♺ Continuous Integration — Build and Test Go Report Card Coverage Status GoDoc

We currently have 100% test coverage!

While this is a strong baseline, there is always room to improve test quality and depth. We are committed to maintaining and strengthening our test suite to ensure FileTug remains reliable and stable. Pull requests that improve tests are very welcome and will be very much appreciated.

Why FileTug and not MC/ranger/etc.?

Other file managers show what files exist. Users want to know what those files are.

Key Differentiators

FileTug avatar
  • It is fast!
    • Non-blocking progressive UI (that pulls data in the background).
    • Predictive pre-fetching (to be implemented)
    • Caching of data for network resources (with in-background refresh - to be implemented)
  • Smart summarizer that provides a concise overview of directory contents
  • Smart previewers showing summary and key info for a file
  • Quick selection of files and directories by mask with a collection of named patterns
  • Quick navigation to favorite, frequently used, and recent directories
  • Build-in git client that provides git status and allows to stage/commit/rollback/etc.
  • Log viewer with milestones

Installation

Cross Platform

Mac OS

brew tap filetug/filetug
brew install filetug
ft

Linux

To be implemented.

Windows

To be implemented.

From source:

go install github.com/filetug/filetug@main
ln -s "$(go env GOPATH)/bin/filetug" "$(go env GOPATH)/bin/ft"
ft

Usage

To start in the current directory:

ft

To start at the specific directory or file:

ft <PATH_TO_DIRECTORY_OR_FILE>

Libraries used

  • tview - Modern, rich, and extensible Go UI library for terminal applications
  • chroma - Go syntax highlighting library

Contributing

Contributions are welcome!

Please read the CONTRIBUTING.md for details on how to contribute to this project.

All contributors and AI agents should follow our guidelines.

About

Modern CLI file browser/picker with neat UI (open source: go/tview)

Topics

Resources

Contributing

Stars

3 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages