# Codebase



Manage efficiently your codebase organisation & configuration across your computers.
## What is it
Codebase is a CLI tool to organize your codebase efficiently across your computers.
In a nutshell, it use a Git repository to store metadata about your current Codebase folder, and allow you to replicate
the installation / structure / configuration across several computers. No more time spend on configuring Git, creation the
folders, etc... Everything is done by running one command!
Restoring a existing configured codebase is easy as running
```sh
codebase clone <git-repository>
```
this will install the projects in their respecting folders, configure their Git repositories, re-install the Git hooks, etc...
You can try it by restoring my own codebase:
```sh
codebase clone https://github.com/creekorful/dot-codebase.git
```
Or if you are ready, you can import your existing codebase:
```sh
codebase init --import --remote <your-remote> <directory>
codebase push
```
And you'll be ready to go!
## What's included
### Persistent Git configuration
Codebase can restore your git configuration automatically. You can configure your Git username/email, enable GPG sign,
etc...
View more at: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
### Persistent Git hooks
Codebase can restore your Git hooks automatically. You can list the available hooks by running:
```sh
codebase --list-hooks
```
And you can add missing ones by submitting a PR here: https://github.com/codebase-rs/hooks
## How to install
Codebase is available on Unix based computer as well as a Docker image.
### Using Homebrew
You can install the latest version of codebase by using [Homebrew](https://brew.sh).
```sh
brew install codebase-rs/tap/codebase
```
### Using Snap
You can install the latest version of codebase by using [Snapcraft](https://snapcraft.io).
```sh
snap install codebase
```
### Using Cargo
You can install the latest version of codebase from [crates.io](https://crates.io).
```sh
cargo install codebase
```
### Using Docker
The codebase executable is available as a Docker image.
```sh
docker pull docker.pkg.github.com/codebase-rs/codebase/codebase:0.11.0
```
### Others ways
You can install & compile the latest (HEAD) version of codebase by using Cargo.
```sh
cargo install --git https://github.com/codebase-rs/codebase.git
```