{"repo":"mkaramuk/tohum","free":true,"listed":false,"github":"https://github.com/mkaramuk/tohum","clone":"git clone https://github.com/mkaramuk/tohum.git","description":"🌱 tohum - CLI tool to provison new projects from templates","language":"Rust","stars":22,"topics":["project","rust","template","template-engine","tool"],"license":"MIT","category":"cli-tools","readme_excerpt":"tohum A CLI tool for planting project seeds \"tohum\" (/toˈhuːm/, meaning \"seed\" in Turkish) is a CLI tool for initializing new projects from pre-defined seeds (aka templates). ⚠️ WARNING ⚠️ tohum is in its early stage of development, so expect breaking changes. Installation Dependencies - git - openssl cargo Currently, tohum is only published on the cargo registry, which means you can simply use cargo to install it: Build from source Another option (which is not very different from installing via cargo) is building from source. For this option you must have a Rust toolchain. You can install it by simply using rustup. Quickstart Let's list all the seeds in the default silo: Now we know what are the available seeds that we can use. Pick one and initialize a new project. For example: Congratulations! You've planted your first tohum (seed)! Building seeds A seed is a representation of your template project. It includes all the project files regardless of the framework or programming language in tera templating format and a special file called .tohumrc . This file includes all the necessary metadata information for the seed definition that is read by tohum. Structure A typical seed directory looks like this: Here is an example .tohumrc file: Some of the variables are auto defined by tohum and always available in your template context: Name Description Type ------------ --------------------------------------------- --------------------------------------------------------------------","default_branch":null,"files":null,"tree":[],"storefront":"/r/mkaramuk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mkaramuk/tohum/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."}