diff --git a/README.md b/README.md
index a08d9ef..af02356 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,61 @@
# Nebula
The package manager for the Comet programming language.
+
+## Installation
+Nebula can be installed using `pipx` with the following command:
+> pipx install nebpkg
+or from `pip`:
+> pip3 install nebpkg
+
+## Usage
+Nebula has several subcommands. Type `neb --help` to see the help menu.
+
+### Getting package index
+
+> neb pull
+
+### Installing a package
+
+> neb install
+
+You can provide a version with an @ symbol:
+
+> neb install io@0.1.0
+
+### Uninstalling a package
+
+> neb uninstall
+
+### Searching for packages
+
+> neb search
+
+By default the command won't show packages you already have installed, you can include installed packages with the `--show-installed` option.
+
+### Listing installed packages
+
+> neb list
+
+### Building a package
+
+You can use Nebula to build your package you're developing in C. Run the following command from the root of your package, and ensure you have a `src` directory:
+
+> neb build .
+
+You can replace the `.` with a directory if you want to build a directory as a package.
+
+## Getting a package on Nebula
+First, create a repository with your package. Once you've done that, submit a pull request with a commit editting the `package_index.json` file in the Nebula repository. Add the following the the index:
+
+```json
+ ...
+ "your_package_name": {
+ "repository": "https://chookspace.com/owner of the package/your package name",
+ "description": "description here",
+ "gitAuthor": "owner of the package"
+ }
+}
+```
+
+Your package will be checked and if all is well, added to the Nebula index!
\ No newline at end of file