diff --git a/packages/server/Cargo.toml b/packages/server/Cargo.toml
index fddeccbde..8709cb57d 100644
--- a/packages/server/Cargo.toml
+++ b/packages/server/Cargo.toml
@@ -2,6 +2,12 @@
name = "dioxus-server"
version = "0.1.0"
edition = "2021"
+description = "Fullstack Dioxus Utilities"
+license = "MIT/Apache-2.0"
+repository = "https://github.com/DioxusLabs/dioxus/"
+homepage = "https://dioxuslabs.com"
+documentation = "https://dioxuslabs.com"
+keywords = ["dom", "ui", "gui", "react", "ssr", "fullstack"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
diff --git a/packages/server/README.md b/packages/server/README.md
new file mode 100644
index 000000000..92f878684
--- /dev/null
+++ b/packages/server/README.md
@@ -0,0 +1,103 @@
+# Dioxus Server
+
+[![Crates.io][crates-badge]][crates-url]
+[![MIT licensed][mit-badge]][mit-url]
+[![Build Status][actions-badge]][actions-url]
+[![Discord chat][discord-badge]][discord-url]
+
+[crates-badge]: https://img.shields.io/crates/v/dioxus-server.svg
+[crates-url]: https://crates.io/crates/dioxus-server
+[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg
+[mit-url]: https://github.com/dioxuslabs/dioxus/blob/master/LICENSE
+[actions-badge]: https://github.com/dioxuslabs/dioxus/actions/workflows/main.yml/badge.svg
+[actions-url]: https://github.com/dioxuslabs/dioxus/actions?query=workflow%3ACI+branch%3Amaster
+[discord-badge]: https://img.shields.io/discord/899851952891002890.svg?logo=discord&style=flat-square
+[discord-url]: https://discord.gg/XgGxMSkvUM
+
+[Website](https://dioxuslabs.com) |
+[Guides](https://dioxuslabs.com/docs/0.3/guide/en/) |
+[API Docs](https://docs.rs/dioxus-server/latest/dioxus_sever) |
+[Chat](https://discord.gg/XgGxMSkvUM)
+
+Fullstack utilities for the [`Dioxus`](https://dioxuslabs.com) framework.
+
+# Features
+
+- Intigrations with the [Axum](https::/docs.rs/dioxus-server/latest/dixous_server/axum_adapter/index.html), [Salvo](https::/docs.rs/dioxus-server/latest/dixous_server/salvo_adapter/index.html), and [Warp](https::/docs.rs/dioxus-server/latest/dixous_server/warp_adapter/index.html) server frameworks with utilities for serving and rendering Dioxus applications.
+- [Server functions](https::/docs.rs/dioxus-server/latest/dixous_server/prelude/attr.server.html) allow you to call code on the server from the client as if it were a normal function.
+- Instant RSX Hot reloading with [`dioxus-hot-reload`](https://crates.io/crates/dioxus-hot-reload).
+
+# Example
+
+Full stack Dioxus in under 50 lines of code
+
+```rust
+#![allow(non_snake_case)]
+use dioxus::prelude::*;
+use dioxus_server::prelude::*;
+
+fn main() {
+ #[cfg(feature = "web")]
+ dioxus_web::launch_cfg(app, dioxus_web::Config::new().hydrate(true));
+ #[cfg(feature = "ssr")]
+ {
+ GetMeaning::register().unwrap();
+ tokio::runtime::Runtime::new()
+ .unwrap()
+ .block_on(async move {
+ warp::serve(
+ // Automatically handles server side rendering, hot reloading intigration, and hosting server functions
+ serve_dioxus_application(
+ "",
+ ServeConfigBuilder::new(app, ()),
+ )
+ )
+ .run(([127, 0, 0, 1], 8080))
+ .await;
+ });
+ }
+}
+
+fn app(cx: Scope) -> Element {
+ let meaning = use_state(cx, || None);
+ cx.render(rsx! {
+ button {
+ onclick: move |_| {
+ to_owned![meaning];
+ async move {
+ if let Ok(data) = get_meaning("life the universe and everything".into()).await {
+ meaning.set(data);
+ }
+ }
+ },
+ "Run a server function"
+ }
+ "Server said: {meaning:?}"
+ })
+}
+
+// This code will only run on the server
+#[server(GetMeaning)]
+async fn get_meaning(of: String) -> Result