Improving My Go CLI - Ehfolder - 01
Planning and implementing new features for my Go file/folder manager CLI.
Introduction
Have you ever thought about creating a folder containing folders and files for a project, be it an RPG worldbuilding setting or a desktop game, planned it out in a file, and then abandoned it because you were too lazy to create everything manually?
Have you ever created a folder with multiple folders and files following some sort of logic or structure, and then couldn't make sense of it after not touching it for a while?
These are the reasons why I created this simple Go CLI called Ehfolder some time ago. However, I only implemented folder and file creation, there are a lot of features still missing that I will try to finish. The next sections contain the missing features and some improvements I intend to implement.
Planning
Missing Features
- File and folder custom metadata: allow the user to create and manage custom metadata (on the planning file or on existing files/folders), like adding a description or tags to a file/folder.
- Folder info: allow the user to view information about the contents of a folder, including custom properties like how many files/folders have the tag "X", or what tags exist in there.
- Advanced search and filters: allow the user to search and filter based on custom metadata.
Improvements
Core package: since I plan to make a desktop GUI, I want to extract the core functionality into a package to decouple it from the CLI so I can easily reuse it.
- YAML file compatibility: currently, folder/file creation only accepts Markdown and text files, but since many people are used to writing configuration files in YAML, why not add a parser for it?
- TUI: maybe a cup of Bubbletea to make it look clean.
- Desktop GUI: some users aren't used to CLIs, and I want to try out the Wails project, so why not?