ogito ๐Ÿธ

About ogito

What is it?

A simple and efficient CLI tool for managing Git repositories. `ogito` helps you quickly clone repositories to start clean projects. It's built with Rust for performance.

Core Philosophy

The vision for `ogito` is not to replace comprehensive scaffolders like `vite` or `create-react-app`. Instead, it aims to provide a more flexible and lightweight solution for developers to quickly start new projects based on their own curated set of templates. The core principle is user freedom and control over their own project boilerplates.


Features


Installation

You can install `ogito` using either Cargo or npm. Make sure you have the required package manager installed.

Cargo

Run the following command in your terminal:

cargo install ogito

NPM

Run the following command in your terminal:

npm install -g ogito

Usage

Here are examples of how to use `ogito` from the command line.

ogito new

Create a new project from a specified template or Git repository.

By default, `ogito new` uses Git mode. If you specify -m tar, it will use tar mode which automatically caches the downloaded archives.

Command Description
ogito new <repository URL | template name>
Basic usage to clone a repository using Git mode or create a project from a locally cached template.
ogito new https://github.com/user/repo -d dirname
Clone into a specific directory named `dirname`.
ogito new https://github.com/user/repo -f
Force clone, overwriting the destination if it exists.
ogito new https://github.com/user/repo --branch=dev
Clone a specific branch, in this case `dev`.
ogito new https://github.com/user/repo -m tar
Use tar mode to clone (automatically cached).
ogito new https://github.com/user/repo --keep-history
Keep the git history of the repository.
ogito new my-template
Create a new project from a locally cached template named `my-template`.
ogito add

Add a new template from a Git repository to the local cache.

Command Description
ogito add <repository URL>
Add a template from a Git repository. The template name will be derived from the URL (e.g., owner/repo).
ogito add <repository URL> --name <name>
Add a template with a custom name.
ogito add <repository URL> --description <description>
Add a template with a description.
ogito add <repository URL> --alias <alias>
Add a template with an alias.
ogito add <repository URL> --force
Overwrite an existing template with the same name.
ogito clear

Clear the local template cache.

Command Description
ogito clear
Clear the cache after confirmation.
ogito clear -f
Force clear the cache without confirmation.
ogito clear --dry-run
Show what would be removed without deleting anything.
ogito clear -v
Show detailed output for each item removed.