How lsfp was created - reimagining the 'ls' command

How lsfp was created - reimagining the 'ls' command

Β·

3 min read

ls is arguably one of the most important Unix commands, listing information about files and directories.

The Problem

I use cmd on Windows, and personally do not like the dir command. I often work on Linux servers, making me constantly switch between the two commands which is not preferable.

The Idea

Why not create a cross-platform, better ls command, one specifically designed for programmers with helpful built-in features? So, I did!

The Plan

Build an awesome replacement for the ls command with a bunch of helpful tools for developers.

Here where some of my ideas:

  • Show git information without having to run it
  • Clean up old projects to save space
  • See useful information without having to open any files

The Solutuion - Introducing, lsfp! πŸ₯³

Cross-platform alternative to ls, specifically designed for programmers.

Created with πŸ’– by developers, for developers

Open source (MIT license), with contributions welcome and very appreciated πŸ€—

Features

  • βœ… License detection πŸ”Ž
  • βœ… Colored output based on file extension 🎨
  • βœ… Collapsed build directories so they don't take up unwanted vertical space β˜„
  • Git integration 🀯
    • βœ… File modified indication
    • File added indication
    • File moved indication
    • Directory indicator for contents
    • Use the .gitignore file like a smart person
  • Project cleanup 🧼
    • Automatically detect project type (Node, Rust, etc.) and delete build intermediate and build directories.
    • Parse .gitignore for best results
      • But keep some files like .env
  • βœ… No external dependencies ✨ (this was a mistake)

Development

We currently have two active developers. We'd love to have you contribute!

You can see the currently open issues on GitHub if you'd like a place to start.

lsfp is still in beta, it is not feature complete. We are working hard to get it to a point where we are happy to release v1.0

Huge thanks to Unknown for his help with this project ❀