krabby

A tiny project manager! :crab:


Build Status License: MIT/Apache-2.0


What is krabby

Or should I say what it aims to be?

Well, krabby is my take on what project management should be. I was never a huge fan of make and the only thing I like about npm/yarn is their way of handling script stuff. I also am a spoiled programmer and want to access my projects easily without setting every alias on my shell. I missed things in the Rust ecosystem so I thought "Why not handle this myself?". So here it goes!

Installation

You can build the project locally or get the binary at the releases page.

After placing the binary somewhere in your PATH, you should add the following to your .bashrc or .zshrc file:

bash eval "$(krabby shell bash)"

Currently it only supports bash and zsh.

Features

Project database

Register all your projects and teleport yourself to them whenever you feel like!

Check krabby.example.db to see what it's like.

Some metadata might be useful here, but I have no idea right now.

Project scripts

Language-agnostic project scripts: create, delete and remove scripts to project file.

You cannot compose scripts yet.

You can see an example at krabby.example.toml.

Project hook

Create a hook so it runs automatically after entering the project with kb command! A hook can be a plain command or a sequence of scripts.

```toml name = "krabby" hook = ["hello", "world"]

[scripts] hello = "echo hello" world = "echo world" ```

and

toml name = "krabby" hook = "echo hello; echo world"

are equivalent!

The project hook must be defined before the script session. See this issue for more info!

Examples

Roadmap