Scaffold a new Bazel workspace
Blog post from Aspect Build
Bazel is often criticized for its complexity, particularly due to its lack of reasonable default behaviors, requiring a minimum of six files in the root folder of a Bazel workspace to be considered well-formed. This complexity increases as more languages are added to a monorepo, necessitating additional boilerplate code. To address these challenges, the Aspect CLI tool provides an 'init' command to simplify setup, with recent improvements enhancing its convenience. This tool utilizes a separate GitHub repository for scaffolding, allowing dependencies to remain current and templates to be updated independently from CLI releases. While monorepos are infrequently created, the Aspect CLI tool is beneficial for initializing a minimal reproduction of Bazel issues, offering a valuable resource for new developers and providing a comprehensive example of a functional Bazel setup. The tool relies on the scaffold library, highlighting the importance of supporting open-source developers who contribute to these projects.