diff --git a/README.md b/README.md
new file mode 100644
index 0000000..e42d862
--- /dev/null
+++ b/README.md
@@ -0,0 +1,105 @@
+
aria
+
+
+ Friendly aria2c wrapper for your personal downloads.
+ Quick, simple, enjoyable.
+
+
+
+
+
+
+
+
+`aria` wraps the JSONRPC server of the great [aria2](https://aria2.github.io/), exposing just enough functionality to be dangerous.
+
+---
+
+## Installation
+
+Build and install the binary and man page to `$(PREFIX)/bin` and `$(PREFIX)/share/man/man1` (defaults to `~/.local`):
+
+```sh
+make install
+```
+
+To install elsewhere, override `PREFIX`:
+
+```sh
+make install PREFIX=/usr/local
+```
+
+To remove:
+
+```sh
+make uninstall
+```
+
+> [!NOTE]
+> Make sure `$(PREFIX)/bin` is in your `PATH` to run `aria` from anywhere.
+
+---
+
+## Features
+
+### One command for everything
+
+Add, pause, resume, and remove downloads with a unified API — no more memorising cryptic flags:
+
+```sh
+aria add https://example.com/file.iso
+aria add uri https://example.com/file.iso
+aria add torrent https://example.com/linux.torrent
+aria pause 8a4c3f21e09b7d55
+aria resume 8a4c3f21e09b7d55
+aria remove 8a4c3f21e09b7d55
+aria purge
+```
+
+Commands without arguments act on all downloads, so you can pause or resume everything at once:
+
+```sh
+aria pause
+aria resume
+```
+
+### Interactive list
+
+Run `aria list` to check the status of all your downloads in a beautifully formatted table,
+live-refreshing every second:
+
+```sh
+aria list
+```
+
+Pick a download with the arrow keys and `enter`, and its **GID** is printed to `stdout`,
+ready to be composed with any other tool:
+
+```sh
+aria pause "$(aria list)"
+```
+
+### Options
+
+Every command supports a couple of well-chosen options, and nothing more:
+
+| Option | Description | Default |
+| --- | --- | --- |
+| `-d`, `--directory ` | Define the directory to save files. | `~/Downloads/` |
+| `--seed` | Enable seeding after torrent download. | |
+
+### Simple configuration
+
+Point *aria* to your `aria2c` server by directly editing the source:
+
+```swift
+enum Config {
+ static let host: String = "127.0.0.1"
+ static let port: Int = 6800
+ static let secret: String = "my_secret"
+ static var endpoint: URL {
+ URL(string: "http://\(host):\(port)/jsonrpc")!
+ }
+ static let directory: String = "~/Downloads/"
+}
+```