{"repo":"numtide/treefmt","free":true,"listed":false,"github":"https://github.com/numtide/treefmt","clone":"git clone https://github.com/numtide/treefmt.git","description":"the formatter multiplexer [maintainers=@zimbatm,@brianmcgee]","language":"Go","stars":1042,"topics":["formatter","cli","unifies","buildbot-numtide","treefmt"],"license":"MIT","category":"cli-tools","readme_excerpt":"treefmt The formatter multiplexer A numtide project. treefmt streamlines the process of applying formatters to your project, making it a breeze with just one command line. Motivation Modern code repositories are rarely written in a single language. They often contain a mix of languages, each with its own formatting requirements. While working for our customers, we noticed that projects each tended to re-implement the same formatter multiplexing logic. A script that invokes all the formatters. What if that script was a single command? What if that single command would handle all the formatters in parallel? And only format files that have changed since the previous run? That's what treefmt is about. About treefmt treefmt runs all your formatters with one command. It’s easy to configure and fast to execute. Its main features are: - Providing a unified CLI and output - You don’t need to remember which formatters are necessary for each project. - Once you specify the formatters in the config file, you can trigger all of them with one command and get a standardized output. - Running all the formatters in parallel - A standard script loops over your folders and runs each formatter sequentially. - In contrast, treefmt runs formatters in parallel. This way, the formatting job takes less time. - Tracking file changes - When formatters are run in a script, they process all the files they encounter, regardless of whether or not they have changed. - treefmt tracks file changes, and only a","default_branch":null,"files":null,"tree":[],"storefront":"/r/numtide","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/numtide/treefmt/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}