Architect your project with Framed: effortless files and directories management.

Framed Logo

Efficient project management is vital for the success of any development activity. Ensuring that files and directories are organized in a logical and architectural manner can greatly enhance productivity and collaboration within a team. That’s where Framed CLI tool, comes into play. Framed simplifies the organization and management of files and directories, providing a reusable and architectural approach. In this blog post, we will explore the key features of Framed and discuss how it can change your project management workflows.

Streamlining Project Structure with YAML Templates

At the core of Framed lies its use of YAML templates to define project structures. YAML, a human-readable data serialization format, allows you to specify the desired organization of files and directories within your projects. The structured and declarative nature of YAML empowers you to create reusable templates that can be easily shared and applied across different projects.

By utilizing YAML templates, you can establish a consistent structure for your projects, ensuring that team members adhere to a standardized layout. This standardization minimizes confusion, reduces errors, and promotes efficient collaboration.

Achieving Consistency and Syncing with Ease

One of the features of Framed is its built-in test command. This command enables you to verify the project structure against the defined YAML template, ensuring that the two remain in sync. By integrating this test command into your CI/CD pipelines, you can automatically validate the project structure as part of your continuous integration process. This eliminates the need for manual checks and ensures that any deviations from the defined structure are caught early on. You can find out more about using Framed in CI/CD by exploring the official github action.

By maintaining consistency between the project structure and the YAML template, Framed provides a solid foundation for better project management. Changes to the template can be easily propagated to all projects, guaranteeing that modifications to the structure are applied uniformly.

Fine-Grained Control and Flexibility

Framed offers a range of configuration options to suit your specific project requirements. With the ability to define nested directories, file patterns, forbidden files, and minimum/maximum file counts, you have fine-grained control over the project structure.

File patterns allow you to specify matching criteria, making it easy to include or exclude files based on their extensions or naming conventions. This flexibility ensures that you can adapt the project structure to suit your unique needs without sacrificing consistency.

Seamless Integration and Ease of Use

Installing and using Framed is quite easy, it is distributed as a single binary. By following a few simple steps, you can quickly set up the CLI tool and start using it. The official documentation provides detailed installation instructions, along with alternative methods for installation.

Extensibility and Docker Support

Framed’s extensibility allows you to adapt the tool to your specific needs. You can import project structures from URLs, making it easy to integrate templates from external sources. Additionally, Framed provides example project structures for popular programming languages like Python and Go, allowing you to kickstart your projects with predefined templates.

If you prefer to work with Docker, Framed has you covered. The tool can be run as a Docker container, making it convenient to incorporate into your existing Docker-based workflows. This flexibility ensures that Framed can seamlessly integrate into your preferred development environment.

Conclusion

In a nutshell, Framed is a nifty tool that simplifies project management by organizing and managing files and directories effortlessly. With YAML templates and a built-in test command, it keeps your project structure in sync and consistent. It’s flexible, allowing you to customize the layout to fit your needs, and it plays well with Docker. Easy to install and use, Framed helps you stay focused on coding instead of file management. Give it a try and say goodbye to project organization headaches!

However, it’s worth noting that while Framed offers great benefits for larger projects with complex file structures, it might be overkill for smaller, simple projects. For smaller projects, manual organization may be more practical. But if you’re working on a larger-scale project, Framed can be a game-changer in terms of project management efficiency.

Usage

To import the project structure from the YAML template, run the following command:

framed import --example python

Following file (framed.yaml) will be downloaded:

Framed import

If you want to visualize the project structure, try:

Framed visualize

If you want to create files and directories based on the YAML template, run the following command:

Framed create

Note that you can also create just directories, running the command without --files flag.

Let’s remove a file to test the verify command:

rm README.md

Now if we run the verify command, we will get the following output:

Framed verify

Demo

Framed demo