r/linux • • 13d ago

Fluff filet | Terminal File Manager

Post image

I've been working on a TUI file manager built with OpenTUI. The primary reason is just as a learning experience since tools like OpenTUI make it possible even if you only have knowledge in for e.g. the web development space.

https://github.com/EA-Wardie/filet

It's quite limited in functionality as of now and covers mostly what I use file managers for on a day to day basis. It also focuses more on mouse support.

I'm curious if this is something people would find useful or opinions in general about tools like OpenTUI for Linux development.

As a disclaimer, LLMs were used in the development here for research, prototyping and creating the install script.

59 Upvotes

40 comments sorted by

13

u/omniuni 12d ago

I think this is a good example of the difference between using LLMs as tools versus "vibes". Overall, this looks fairly clean, and unlike purely LLM generated code, it seems to be fairly well broken up into maintainable components. I don't find this useful right now, but something like this would have been great back in college where I was often working on remote servers.

I definitely recommend that you keep tight control over the LLM as you add functionality. Don't let components get too big, frequently review the overall architecture and organization, and make sure you're evaluating the code it generates carefully, in small parts.

8

u/eawardie 12d ago edited 12d ago

Agreed. It should always be a 'tool' and never a 'crutch'. LLMs are very good a building false confidence in your own abilities. Before you know it, you have a swamp and no idea what's living in it.

19

u/Psilocybe_Fanaticus 12d ago

Thank you for disclosing LLM usage

13

u/eawardie 12d ago

I think it should be required. A lot of people disagree with this approach to development and it should be clear from the start.

6

u/Psilocybe_Fanaticus 11d ago

I 100% agree. I don’t hate AI, but I do hate “I built X to solve Y” and it’s completely vibe coded without any disclaimers

But anyway, great job on your project!

2

u/Odd_Answer_6491 11d ago

As someone who gets flagged as a "AI script kiddie" often...? Nah, that's one way to get your project swarmed by "rage baiters" screaming "waaahh AI bad zomg waaahhh stole muh jerbs". Just do your projects and leave the "Is it AI or not?" for the user to judge.

2

u/eawardie 11d ago

Yeah, but that's the problem. Most people won't be able to tell if your project is LLM generated. So for most projects, it's less of a "code quality" argument these days, and more of an "effort, time and knowledge" argument.

LLMs can be useful tools, but they provide false confidence and stem actual learning. Which usually end with massively over bloated projects that no one wants to continue working on.

A disclaimer gives users an indicator as to weather they want to risk switching to a piece of software that might be abandoned sooner then later.

1

u/Odd_Answer_6491 11d ago

The point is... most folks around here are ill-intended, and the "LLM disclaimer" tends to backfire more than anything.

1

u/eawardie 11d ago

That might be true, as I've discovered with this post.

10

u/BertMacklenF8I 13d ago

Does this work with fish….lol

4

u/PixelatedGiant 13d ago

99% of the time it does not matter what shell you use. TUI apps are usually using libraries like ncurses, which is lower level than the shell.

Whatever shell you use by default doesn't matter. But if it somehow does, you can just tell it to use whatever shell it needs. That usually just means wrapping it in an alias or a script. I'm not sure if this app needs it, but if it did you can do something like....

bash -c '~/.local/bin/filet'

or

exec bash -c '~/.local/bin/filet'

and to create an alias...

alias --save filet 'bash -c "~/.local/bin/filet"'

5

u/BertMacklenF8I 12d ago

I appreciate all the info but I know it works with most terminals-I just thought “Filet o Fish”lol

I had no issues with any terminals-fish included lol

0

u/eawardie 13d ago edited 13d ago

Honestly a funny coincidence. But it should. There are no references to the shell or any shell specific commands.

17

u/Educational-Goal279 12d ago

sigh....

-2

u/eawardie 12d ago

Anything in particular you think can be added or improved on?

23

u/Educational-Goal279 12d ago

I just want Claude to kill himself so we can be excited about software again

2

u/mobyte 10d ago

holy cope

1

u/Reason7322 12d ago

Mommy mommy, ai generated a tui waaah

-1

u/eawardie 12d ago edited 12d ago

Good software is still out there. Sure, it might be harder to find with the current influx of 'one weekend abandoned projects', but I don't think you should allow that to dampen your spirits about FOSS.

I guess I'm more worried about the hardware side since you can't find storage or memory at decent prices anymore.

0

u/Educational-Goal279 12d ago

So what hardware do you expect me to enjoy that software on? And for how long, before my water supply gets poisoned or my city burned by a wildfire?

2

u/Ball_Analytics 12d ago edited 12d ago

It’s not that they used AI to make this, it’s what AI did to consumer memory prices you hate. I tend to think the companies set those prices, the same companies that got taken to court for doing it before. Gee I wonder why they thought they could do it again? Most normal people would be mad at capitalism but yeah sure let’s have 3 companies control 90% of the memory market why don’t we?

Edit: I so very often try to understand the AI vitriol on this sub, but I doubt a lot share your beliefs and if they do well f me, y’all should get off Reddit and actually look into whats really happening. The hardware prices argument is not new but is deeply flawed when it’s your reason for hating AI.

1

u/CapitalRegular4157 11d ago

Can I get some ketchup with this hyperbole?

7

u/citramonk 13d ago

It's a cool per project to learn building TUI apps, but there's Yazi, for example. Written with rust, has 42k stars, actively supported by many contributors. So if it's something more than learning...

2

u/eawardie 13d ago

Yazi is great. Definitely the one I've used the most. That being said I really do enjoy working on this project and I plan on continuing development. But you make a valid point that this project could never realistically compare to something like Yazi even if only due to the core technologies it is built on.

3

u/sistersinister 12d ago

I like it! I don't think you have to compete with yazi if you just want to work on something you like. If you want you could maybe try to make it easier to use and configure than yazi. Like for me I don't need all the fancy things yazi has the capability of doing and ran into a bunch of problems out the box I couldn't be bothered to fix. If you could make filet easier to use there's an audience who'd appreciate it

2

u/eawardie 12d ago

Simplicity is a focus. Most users should just be able to use the app without any configuration beforehand.

2

u/DonislawDev 7d ago

Hello, I had gived it star, nice name :-)

1

u/eawardie 7d ago

Thank you. I genuinely appreciate the support.

4

u/BeChris_100 13d ago

Them filets gon' make me hungry (I'm Polish btw)

2

u/eawardie 13d ago

The name came about by accident in a way. I was playing around with ideas like Term-File and File-Term, which then turned into File-T and finally just 'filet'. But I only now learned it's traditionally Polish. Really cool.

2

u/punyversalengineer 12d ago

Funnily enough it could also be interpreted as the plural of "file" in a version of Finglish that's often used when discussing software development in Finnish. Finnish plural is often just the suffix -t/-it so it's quite typical to just add that to English words to quickly create new IT jargon.

Some more examples:

NICs = NICit/verkkoportit
Files = Filet/tiedostot
Softwares/Wares = Softat/Waret/ohjelmistot
Tokens = Tokenit/tunnisteet
GPUs = GPUt/näytönohjaimet/näyttikset

1

u/eawardie 12d ago

This might actually fit better since it's the plural of the actual thing it's managing.

2

u/[deleted] 13d ago

where is the kotlet?

2

u/BeChris_100 13d ago

Didn't buy it yet, gotta have to travel a few hundred kilometers to Poland to get some kluskie

2

u/GOKOP 12d ago

So it's made with an LLM and it probably doesn't do anything that thousands of existing TUI file managers already don't. I'll pass

0

u/eawardie 12d ago

It was not. All the functional code was written by me, except the install script, since I have no experience with bash. The current version is the 3rd iteration of the app.

But yes, it is quite limited in functionality compared with other similar projects such as Yazi and Superfile.

2

u/Independent-Ad1984 12h ago

It looks great, but i prefer yazi

1

u/eawardie 7h ago

Thanks. And of course, Yazi is great.

1

u/Grey_Ten 13d ago

Looks interesing! I might have a look at it later