[{"data":1,"prerenderedAt":133},["ShallowReactive",2],{"\u002Fblog\u002Fimproving-my-go-cli-ehfolder-01":3},{"id":4,"title":5,"author":6,"body":7,"date":117,"description":118,"draft":119,"extension":120,"image":121,"language":122,"meta":123,"navigation":124,"path":125,"seo":126,"stem":127,"tags":128,"__hash__":132},"blog\u002Fblog\u002FImproving My Go CLI - Ehfolder - 01.md","Improving My Go CLI - Ehfolder - 01","Caio Prado",{"type":8,"value":9,"toc":107},"minimark",[10,15,19,22,33,37,42,65,69,75],[11,12,14],"h2",{"id":13},"introduction","Introduction",[16,17,18],"p",{},"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?",[16,20,21],{},"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?",[16,23,24,25,32],{},"These are the reasons why I created this simple Go CLI called ",[26,27,31],"a",{"href":28,"rel":29},"https:\u002F\u002Fgithub.com\u002Fcaioopr\u002Fehfolder",[30],"nofollow","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.",[11,34,36],{"id":35},"planning","Planning",[38,39,41],"h3",{"id":40},"missing-features","Missing Features",[43,44,45,53,59],"ul",{},[46,47,48,52],"li",{},[49,50,51],"strong",{},"File and folder custom metadata",": allow the user to create and manage custom metadata (on the planning file or on existing files\u002Ffolders), like adding a description or tags to a file\u002Ffolder.",[46,54,55,58],{},[49,56,57],{},"Folder info",": allow the user to view information about the contents of a folder, including custom properties like how many files\u002Ffolders have the tag \"X\", or what tags exist in there.",[46,60,61,64],{},[49,62,63],{},"Advanced search and filters",": allow the user to search and filter based on custom metadata.",[38,66,68],{"id":67},"improvements","Improvements",[16,70,71,74],{},[49,72,73],{},"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.",[43,76,77,83,95],{},[46,78,79,82],{},[49,80,81],{},"YAML file compatibility",": currently, folder\u002Ffile 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?",[46,84,85,88,89,94],{},[49,86,87],{},"TUI",": maybe a cup of ",[26,90,93],{"href":91,"rel":92},"https:\u002F\u002Fgithub.com\u002Fcharmbracelet\u002Fbubbletea",[30],"Bubbletea"," to make it look clean.",[46,96,97,100,101,106],{},[49,98,99],{},"Desktop GUI",": some users aren't used to CLIs, and I want to try out the ",[26,102,105],{"href":103,"rel":104},"https:\u002F\u002Fgithub.com\u002Fwailsapp\u002Fwails",[30],"Wails"," project, so why not?",{"title":108,"searchDepth":109,"depth":109,"links":110},"",2,[111,112],{"id":13,"depth":109,"text":14},{"id":35,"depth":109,"text":36,"children":113},[114,116],{"id":40,"depth":115,"text":41},3,{"id":67,"depth":115,"text":68},"2026-08-20","Planning and implementing new features for my Go file\u002Ffolder manager CLI.",false,"md",null,"en",{},true,"\u002Fblog\u002Fimproving-my-go-cli-ehfolder-01",{"title":5,"description":118},"blog\u002FImproving My Go CLI - Ehfolder - 01",[129,36,130,131,31],"CLI","Programming","Go","WzRz5ixpUPPEgw3Pa8sAg7Mccra_Ebd-Dhto8cNxqqo",1788808313685]