A code generator to reduce repetitive tasks and build high-quality Rust libraries.
Part of the Mini Functions family of libraries.
LibMake is a tool designed to quickly help creating high-quality
Rust libraries by generating a set of pre-filled and pre-defined
templated files. This opinionated boilerplate scaffolding tool aims
to greatly reduces development time and minimizes repetitive tasks,
allowing you to focus on your business logic while enforcing
standards, best practices, consistency, and providing style guides
for your library.
LibMake, you can easily generate a new Rust library code base
structure with all the necessary files, layouts, build
configurations, code, tests, benchmarks, documentation, and much
more in a matter of seconds.
LibMake offers the following features and benefits:
- Create your Rust library with ease using the command line interface or by providing a configuration file in CSV, JSON, or YAML format.
- Rapidly generate new library projects with a pre-defined structure and boilerplate code that you can customize with your own template.
- Automatically generate basic functions, methods, and macros to get you started with your Rust library.
- Enforce best practices and standards with starter documentation, test suites, and benchmark suites that are designed to help you get up and running quickly.
serde: Enable serialization/deserialization via serde
argsmodule contains functions for processing command-line arguments.
asciimodule contains functions for generating ASCII art.
climodule contains functions for processing command-line input.
generatormodule contains functions for generating the new library.
interfacemodule contains functions for displaying the interface.
loggersmodule contains the loggers for the library.
macrosmodule contains functions for generating macros. Macros for the
utilsmodule contains a function for reading a CSV file at the given file path and returns the value of the given field.
- Asserts that a directory is created at the given path.
- Asserts that file templates are generated from the given parameters.
- Asserts that file templates are generated from a configuration file.
- Asserts that file templates are generated from a CSV file.
- Asserts that file templates are generated from a JSON file.
- Asserts that file templates are generated from a YAML file.
- Executes a shell command and logs the start, completion, and any errors.
- Logs information with the specified level, component, and format.
- Initializes the logger with a file logger and a terminal logger and processes command-line arguments to generate the new library.