diff --git a/README.md b/README.md
index c28f494..188e3c5 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,10 @@
-
${\normalsize \textbf{kurv}}$ is a process manager, mainly for Node.js and Python applications. It's written in Rust
. It daemonizes your apps so that they can run in the background. It also restarts them if they crash.
+๐ค๐ฎ๐ซ๐ฏ is a process manager, mainly for Node.js and Python applications. It's written in Rust
. It daemonizes your apps so that they can run in the background. It also restarts them if they crash.
+
+
+
@@ -20,24 +23,38 @@
> - Using it for my own projects, but not on a grand scale
-## Why ${\normalsize \textbf{kurv}}$?
+## Why ๐ค๐ฎ๐ซ๐ฏ?
-So, why the name ${\normalsize \textbf{kurv}}$? Well, it means "basket" in many languages I don't speak, like Norwegian (but it sounded cool ๐). Think of ${\normalsize \textbf{kurv}}$ as a basket for your apps. In kurv, we call each deployed app as an `egg`. So, let's go and collect some eggs ๐ฅ in your basket ๐งบ.
-## Installation
-Download the latest release from GitHub.
+So, why the name ๐ค๐ฎ๐ซ๐ฏ? Well, it means "basket" in many languages I don't speak, like Norwegian (but it sounded cool ๐). Think of ๐ค๐ฎ๐ซ๐ฏ as a basket for your apps. In kurv, we call each deployed app as an `egg`. So, let's go and collect some eggs ๐ฅ in your basket ๐งบ.
+
+
+## Installation
> [!NOTE]
-> ${\normalsize \textbf{kurv}}$ can run either as a server or as a CLI client, using the same binary.
+> ๐ค๐ฎ๐ซ๐ฏ can run either as a server or as a CLI client, using the same binary.
>
> The server is responsible for managing the eggs, while the client is used to interact with the server and tell it what to do or ask it for information.
+### Download binaries
+
+Download the latest release [from GitHub](https://github.com/lucas-labs/kurv/releases).
+
+### crates.io
+
+You can also install it from [crates.io](https://crates.io/crates/kurv) using `cargo`:
+
+```bash
+cargo install kurv
+```
+
+## Usage
![kurv usage](.github/kurv.gif)
-## Start the server
+### Start the server
To get the server rolling, type:
@@ -46,18 +63,18 @@ kurv server
```
> [!IMPORTANT]
-> - ${\normalsize \textbf{kurv}}$ will create a file called `.kurv` where it will store the current
+> - ๐ค๐ฎ๐ซ๐ฏ will create a file called `.kurv` where it will store the current
> state of the server. The file will be created in the same directory where
> the binary is located or in the path specified by the `KURV_HOME_KEY`
> environment variable.
>
-> - since ${\normalsize \textbf{kurv}}$ can be used both as a server and as a client, if you want
+> - since ๐ค๐ฎ๐ซ๐ฏ can be used both as a server and as a client, if you want
> to run it as a server, you need to set the `KURV_SERVER` environment
> to `true`. This is just a safety measure to prevent you from running
> the server when you actually want to run the client.
> To bypass this, you can use the `--force` flag (`kurv server --force`)
-## Collect some ๐ฅ
+### Collect some ๐ฅ
To deploy/start/daemonize an app (collect an egg), do:
```bash
@@ -81,9 +98,9 @@ env: # the environment variables to pass to the command
This will run the command `poetry run serve` in `/home/user/my-fastapi-app` with the environment variable `FASTAPI_PORT` set to `8080`.
-If for some reason, the command/program crashes or exits, ${\normalsize \textbf{kurv}}$ will revive it!
+If for some reason, the command/program crashes or exits, ๐ค๐ฎ๐ซ๐ฏ will revive it!
-## Show me my eggs
+### Show me my eggs
If you want a summary of the current state of your eggs, run:
@@ -108,7 +125,7 @@ $ kurv egg
This will show you the egg's configuration, process details, etc.
-## Stop an egg
+### Stop an egg
To halt an egg without removing it:
@@ -119,7 +136,7 @@ $ kurv stop
This will stop the process but keep its configuration in the basket in case
you want to start it again later.
-## Remove an egg
+### Remove an egg
To actually remove an egg, run:
@@ -129,7 +146,7 @@ $ kurv remove
It will stop the process and remove the egg from the basket.
-## Restart
+### Restart
If you need the process to be restarted, run:
@@ -137,15 +154,15 @@ If you need the process to be restarted, run:
$ kurv restart
```
-## Inspiration
+### Inspiration
-### pm2
-Inspired by the robust process manager, [pm2](https://pm2.keymetrics.io/), my goal with ${\normalsize \textbf{kurv}}$ was to create a lightweight alternative. Not that pm2 is a resource hog, but I found myself in a server with extremely limited resources. Plus, I was itching for an excuse to dive into Rust, and voila, ${\normalsize \textbf{kurv}}$ was born.
+#### pm2
+Inspired by the robust process manager, [pm2](https://pm2.keymetrics.io/), my goal with ๐ค๐ฎ๐ซ๐ฏ was to create a lightweight alternative. Not that pm2 is a resource hog, but I found myself in a server with extremely limited resources. Plus, I was itching for an excuse to dive into Rust, and voila, ๐ค๐ฎ๐ซ๐ฏ was born.
-### eggsecutor
-Derived from [eggsecutor](https://github.com/lucas-labs/kurv), ${\normalsize \textbf{kurv}}$ adopted the whimsical term "eggs" to represent deployed applications.
+#### eggsecutor
+Derived from [eggsecutor](https://github.com/lucas-labs/kurv), ๐ค๐ฎ๐ซ๐ฏ adopted the whimsical term "eggs" to represent deployed applications.
-### pueue
+#### pueue
Insights from [pueue](https://github.com/Nukesor/pueue) were instrumental in helping me understand how to manage processes in Rust.