I don't think the level of reliability necessary for a file manager is achievable with vibe coding. This is an area where small bugs can cause immediate and catastrophic data loss.
If you're shopping for a file manager, I recommend avoiding any project that incorporates a significant amount of LLM-generated code. Maybe in theory it could be reviewed as thoroughly as handwritten code; in practice that never happens.
And I think human written tests at that. If the LLM is blind to the failure mode X, does it know to reliably write a test to evaluate the behavior of X?
I think it is interesting that these pieces of software are now being inspired by Midnight Commander and are being built by people who never worked with or experiences the original, Norton Commander.
Author here. Haha, thanks for all the feedback! I don't even want to pretend this is production-ready. When I vibe-coded this, the only user I had in mind was me. And I have to live with the consequence of unreliability.
I recently found that writing personal software through a coding agent is a fairly interesting endeavour. It's like I'm paying to get the software I need in the form of tokens.
Tried yazi this week and it indeed feels nice, currently trying to maybe move over from Total Commander to yet to have same file manager across OSes.
Some aspects are still not completely ironed out, though. For example, today I discovered that there's no reliable exit hook and plugins have to override hotkeys and resort to various hacks. I had to patch a session saving extension so it kills mpv-based music preview plugin after yazi quits with "q". Kinda rough experience, but at least manageable with plugins in Lua.
Norton Commander always had a permanent command prompt at the bottom. The active pane mandates the CWD. It was not just for browsing and copying some dir structure. Viewing, editing, unzipping, shell.
> Isn't this the point if TUI/GUI that you don't have to?
No TUI/GUI can do everything a unix command prompt can do, can they?
I don't know what your usage pattern is, but I keep mc open in a few terminals all the time, and just run commands in mc's shell when I need them. I suppose that if you only run the file manager when you need to manage files, your point of view makes sense.
Yeah, I don't generally live in MC to the same extent I do in DC when I'm on Windows.
I rarely do anything besides the basics (F5/F6) when managing files in MC, and for advanced stuff, like using rsync/rclone for moving files, I mostly use the usermenu.
I actually thought about this when I was doing iterations. So I do almost all my work in tmux, so I have no shortage of terminal windows. Therefore, to me, it makes more sense that the command palette here should be used to trigger some additional commands beyond keybindings.
I also hate to use function keys and having a menu bar in the TUI app. Therefore, I chose this design.
Midnight Commander has always been my favorite terminal file manager. It's feature-rich, fast, and actually tries to be a file manager compared to modern alternatives. However, there are quite some features that I never used, and I couldn't configure a Vim bindings that works well for me.
With OpenCode, I can finally make my own terminal file manager. I borrowed the main design concepts from Midnight Commander and some behavior from NVim-Tree file explorer.
I hope you would like it, at least I do. Since this project is entirely vibe-coded, so I'm not going to accept PR from the community, but feel free to open issues and fork it.
still haven't found anything that replaces mc for me. the 2-pane layout is basically muscle memory at this point. everything modern just feels way too bloated or slow. mc is great but customizing the bindings is a total headache tbh. really like the idea of better vim integration here. curious how it handles performance on large directories with 10k+ files? giving it a spin...
I don't think the level of reliability necessary for a file manager is achievable with vibe coding. This is an area where small bugs can cause immediate and catastrophic data loss.
If you're shopping for a file manager, I recommend avoiding any project that incorporates a significant amount of LLM-generated code. Maybe in theory it could be reviewed as thoroughly as handwritten code; in practice that never happens.
It's not the vibe coding, it's the lack of tests
And I think human written tests at that. If the LLM is blind to the failure mode X, does it know to reliably write a test to evaluate the behavior of X?
wow. there are actually no tests here.
I think it is interesting that these pieces of software are now being inspired by Midnight Commander and are being built by people who never worked with or experiences the original, Norton Commander.
I have never known this part of the history while using Midnight Commander for so many years.
Author here. Haha, thanks for all the feedback! I don't even want to pretend this is production-ready. When I vibe-coded this, the only user I had in mind was me. And I have to live with the consequence of unreliability.
I recently found that writing personal software through a coding agent is a fairly interesting endeavour. It's like I'm paying to get the software I need in the form of tokens.
If you're shopping for a file manager, I'd recommend "yazi", which was a new, yet practical experience for me.
Tried yazi this week and it indeed feels nice, currently trying to maybe move over from Total Commander to yet to have same file manager across OSes.
Some aspects are still not completely ironed out, though. For example, today I discovered that there's no reliable exit hook and plugins have to override hotkeys and resort to various hacks. I had to patch a session saving extension so it kills mpv-based music preview plugin after yazi quits with "q". Kinda rough experience, but at least manageable with plugins in Lua.
yazi is great, I’ve had it around for a while… integrates well with neovim and other shell tools.
“With opencode I can” closes tab
Is anti-AI sentiment somehow exempt from the "shallow dismissals" rule?
I was mildly excited clicking the link and then I saw that ... I guess this is the shape of things to come.
> Inspired by Midnight Commander
Norton Commander.
Know and respect your elders.
It's perfectly valid to be second- and further-level inspired and even dislike/reject some aspects of the predecessors.
The AGENTS.md is hilarious! I like the caveman mode and classical mode seems.. interesting!
Interesting that in Chinese, classical writing is associated with terseness. That definitely wouldn't work that way in other languages I know.
Newspaper headlines?
Just saying, I simply copied from https://github.com/JuliusBrussee/caveman
Beyond the cost of tokens, I found it's very good at doing more with a limited context window before OpenCode hits context compaction.
> : opens a command prompt for power-user actions
Vibe coded or not, that's what puts me off from most nc/dn/mc reimplementations.
If you can't reach the command line by just typing the command, what's the point?
At least on this one you don't have to mouse click somewhere...
Norton Commander always had a permanent command prompt at the bottom. The active pane mandates the CWD. It was not just for browsing and copying some dir structure. Viewing, editing, unzipping, shell.
Isn't this the point if TUI/GUI that you don't have to? Common things should be shortcutted, some accessible from menus for discoverability.
Command entering is just one if the "modes", and not necessarily the default one.
If shortcuts are limited to special keys and combos, this frees plane input for commands, but I personally prefer list filtering by default.
> Isn't this the point if TUI/GUI that you don't have to?
No TUI/GUI can do everything a unix command prompt can do, can they?
I don't know what your usage pattern is, but I keep mc open in a few terminals all the time, and just run commands in mc's shell when I need them. I suppose that if you only run the file manager when you need to manage files, your point of view makes sense.
Yeah, I don't generally live in MC to the same extent I do in DC when I'm on Windows.
I rarely do anything besides the basics (F5/F6) when managing files in MC, and for advanced stuff, like using rsync/rclone for moving files, I mostly use the usermenu.
I am aware of the usermenu's existence, but it feels faster to just type. Most of my use cases are just one file though.
I actually thought about this when I was doing iterations. So I do almost all my work in tmux, so I have no shortage of terminal windows. Therefore, to me, it makes more sense that the command palette here should be used to trigger some additional commands beyond keybindings.
I also hate to use function keys and having a menu bar in the TUI app. Therefore, I chose this design.
cool let me try it. and 'ill give you my feedback
Midnight Commander has always been my favorite terminal file manager. It's feature-rich, fast, and actually tries to be a file manager compared to modern alternatives. However, there are quite some features that I never used, and I couldn't configure a Vim bindings that works well for me.
With OpenCode, I can finally make my own terminal file manager. I borrowed the main design concepts from Midnight Commander and some behavior from NVim-Tree file explorer.
I hope you would like it, at least I do. Since this project is entirely vibe-coded, so I'm not going to accept PR from the community, but feel free to open issues and fork it.
still haven't found anything that replaces mc for me. the 2-pane layout is basically muscle memory at this point. everything modern just feels way too bloated or slow. mc is great but customizing the bindings is a total headache tbh. really like the idea of better vim integration here. curious how it handles performance on large directories with 10k+ files? giving it a spin...
I'm using fman, which is like a lightweight graphical alternative to mc.