Quokka

screenshot of Quokka

Project boilerplate engine

Overview

Quokka is a powerful boilerplate engine designed to streamline the process of creating and managing project templates. It allows developers to generate configuration files and application skeletons effortlessly, ensuring that best practices are integrated from the start. The convenience it offers is particularly beneficial for those who repeatedly work on similar projects, making it an essential tool in any developer's arsenal.

With Quokka, you can customize templates to fit your specific needs while maintaining clean and readable configuration files. Its user-friendly interface combined with the flexibility to handle both local and remote templates makes it a standout choice for anyone looking to optimize their development workflows.

Features

  • No External Dependencies: Quokka is compiled into a static binary, meaning you can run it anywhere without worrying about additional libraries or packages.

  • Local or Distant Templates: Whether you prefer using templates from local files or pulling them from git repositories, Quokka has you covered.

  • Sweet Output and Prompts: The integration with the survey library ensures a consistent and user-friendly experience when prompting for input, including helpful guidance and validation options.

  • Clean Configuration Files: Utilizing YAML for its configuration files, Quokka ensures that all settings are easy to read and understand.

  • Powerful Templating System: Leverage Go's template system to create dynamic boilerplate code that adapts to your project requirements.

  • Configuration Override: Customize behavior per directory by adding specific .quokka.yml files to override root configurations seamlessly.

  • Conditional Prompts (Sub-Variables): Enhance user interaction by setting up prompts that only appear based on prior user selections, allowing for a more tailored experience.

  • Customizable Templates: Take control of the rendering process with options to ignore files, add conditionals, and change template delimiters according to user input.