4 ms·
Framed is a CLI tool that simplifies the organization and management of files and directories in a reusable and architectural manner. It provides YAML templates
by mactat 3y ago
Framed is a CLI tool that simplifies the organization and management of files and directories in a reusable and architectural manner. It provides YAML templates for defining project structures and enables workflows based on those.
To always be in sync with the YAML template, Framed provides a built-in test command that can be used in CI/CD pipelines to verify the project structure.
It was just a project to learn some golang, but i think that the idea is quite nice. Let me know what do you think.
- dlisboa 3y agoHey, congrats on shipping it. Let me run this by you: I was just thinking of building a CLI tool that I can say “start me a X lang project”, with my preferred dir layout, files and default dependencies. Basically a “react-create-app” or “bundle init” for any language. Is Framed a solution for that? From what I saw there’s no default file contents and ability to run commands?
- mactat 3y agoThere is Framed import command, where you can import framed file from specific url/examples. Then if you would execute Framed create it will create dirs and file structure. In the future I would imagine that there will be more examples files in the repo so you would be able to do f.e framed import —examples react.
- thiagoeh 3y agoI believe that Cookie Cutter premise is exactly that https://www.cookiecutter.io/ https://www.cookiecutter.io/
- dlisboa 3y agoThis seems to be precisely what I wanted, although a bit more features than I needed. Thanks!
- usrme 3y agoThere's also Copier (https://copier.readthedocs.io/en/stable/comparisons/ https://copier.readthedocs.io/en/stable/comparisons/) that is worth a look at. I especially love the how you can bring a template up-to-date based on a new changes.
- linsomniac 3y agoCookieCutter is the typical solution for for this. An alternative is "uPlaybook": https://github.com/linsomniac/uplaybook https://github.com/linsomniac/uplaybook (disclaimer, I'm the author). It is a YAML-based simple scripting that is focused on simple CLI-based automation, in particular file templating and secrets decryption. uPlaybook is a small Ansible+CookieCutter combination. In the uPlaybook you can do simple shell-like operations, create files based on jinja2 templates, decrypt secrets, and do some looping/conditionals. You can define parameters that the user needs to supply (for your "react-create-app" that might be app name, features you might optionally want), which uPlaybook turns into CLI arguments, or it can prompt the user to fill them out.