Caio Prado
Voltar ao blog
Publicado em por Caio Prado inglês

Improving My Go CLI - Ehfolder - 01

Planning and implementing new features for my Go file/folder manager CLI.

CLIPlanningProgrammingGoEhfolder

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?