Skip to main content

How lsfp was created - reimagining the 'ls' command

Updated 3 min readMarkdown
How lsfp was created - reimagining the 'ls' command

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 ❤

About the author

  • I’m a full-stack developer who loves learning and building various websites and tools, especially related to real-time data. I’ve been teaching myself to code for the past 10 years while homeschooled my entire life. I'm highly motivated to learn new skills while bringing my all to everything I do.

SSamson14y ago

😼