[](https://github.com/code-yeongyu/oh-my-openagent/releases)
-[](https://www.npmjs.com/package/oh-my-opencode)
+[](https://www.npmjs.com/package/oh-my-opencode)
[](https://github.com/code-yeongyu/oh-my-openagent/graphs/contributors)
[](https://github.com/code-yeongyu/oh-my-openagent/network/members)
[](https://github.com/code-yeongyu/oh-my-openagent/stargazers)
diff --git a/README.ru.md b/README.ru.md
index 19c9ca636..0664dbd53 100644
--- a/README.ru.md
+++ b/README.ru.md
@@ -50,7 +50,7 @@
[](https://github.com/code-yeongyu/oh-my-openagent/releases)
-[](https://www.npmjs.com/package/oh-my-opencode)
+[](https://www.npmjs.com/package/oh-my-opencode)
[](https://github.com/code-yeongyu/oh-my-openagent/graphs/contributors)
[](https://github.com/code-yeongyu/oh-my-openagent/network/members)
[](https://github.com/code-yeongyu/oh-my-openagent/stargazers)
diff --git a/README.zh-cn.md b/README.zh-cn.md
index cef7c17a5..e5eb16257 100644
--- a/README.zh-cn.md
+++ b/README.zh-cn.md
@@ -50,7 +50,7 @@
[](https://github.com/code-yeongyu/oh-my-openagent/releases)
-[](https://www.npmjs.com/package/oh-my-opencode)
+[](https://www.npmjs.com/package/oh-my-opencode)
[](https://github.com/code-yeongyu/oh-my-openagent/graphs/contributors)
[](https://github.com/code-yeongyu/oh-my-openagent/network/members)
[](https://github.com/code-yeongyu/oh-my-openagent/stargazers)
diff --git a/docs/manifesto.md b/docs/manifesto.md
index e4e2b4d72..6631c5506 100644
--- a/docs/manifesto.md
+++ b/docs/manifesto.md
@@ -5,7 +5,7 @@ The principles and philosophy behind oh-my-openagent (OmO).
Project reality check:
- Name: oh-my-openagent (renamed from oh-my-opencode; both npm packages still publish in tandem during the transition)
-- Domain: https://ohmyopenagent.com (legacy https://ohmyopencode.org redirects 308)
+- Domain: https://omo.dev (legacy https://ohmyopenagent.com, https://ohmyopencode.org, https://ulw.dev, https://ultrawork.ai, https://ultrawork.dev, https://ultrawork.engineer all 301 to omo.dev)
- Building in Public: https://discord.gg/PUwSMR9XNk
- Maintained by Jobdori, an AI assistant running on a heavily customized OpenClaw fork
- Sisyphus Labs: https://sisyphuslabs.ai
diff --git a/packages/web/app/api/npm-downloads/route.ts b/packages/web/app/api/npm-downloads/route.ts
index cf50cea16..1cbcebdfe 100644
--- a/packages/web/app/api/npm-downloads/route.ts
+++ b/packages/web/app/api/npm-downloads/route.ts
@@ -3,7 +3,7 @@ import { getStats } from "@/lib/stats"
/**
* Shields.io endpoint badge for combined NPM downloads.
- * Usage: https://img.shields.io/endpoint?url=https://ohmyopenagent.com/api/npm-downloads
+ * Usage: https://img.shields.io/endpoint?url=https://omo.dev/api/npm-downloads
*
* Combines downloads from both oh-my-opencode and oh-my-openagent packages.
*/
diff --git a/packages/web/app/layout.tsx b/packages/web/app/layout.tsx
index 5fcc996e3..7f6b9596c 100644
--- a/packages/web/app/layout.tsx
+++ b/packages/web/app/layout.tsx
@@ -5,7 +5,7 @@ import { GeistMono } from "geist/font/mono"
import Script from "next/script"
import "./globals.css"
-const primarySiteUrl = "https://ohmyopenagent.com"
+const primarySiteUrl = "https://omo.dev"
export const metadata: Metadata = {
metadataBase: new URL(primarySiteUrl),
@@ -93,7 +93,7 @@ const jsonLd = {
}
const gaMeasurementId = "G-S0QJFKT46Q"
-const gaTrackedDomain = "ohmyopenagent.com"
+const gaTrackedDomain = "omo.dev"
export default function RootLayout({ children }: { readonly children: ReactNode }): JSX.Element {
return (
diff --git a/packages/web/app/robots.ts b/packages/web/app/robots.ts
index a82ff3d4f..980f76afe 100644
--- a/packages/web/app/robots.ts
+++ b/packages/web/app/robots.ts
@@ -6,6 +6,6 @@ export default function robots(): MetadataRoute.Robots {
userAgent: "*",
allow: "/",
},
- sitemap: "https://ohmyopenagent.com/sitemap.xml",
+ sitemap: "https://omo.dev/sitemap.xml",
}
}
diff --git a/packages/web/app/sitemap.ts b/packages/web/app/sitemap.ts
index aaefa38da..37a0f9ed9 100644
--- a/packages/web/app/sitemap.ts
+++ b/packages/web/app/sitemap.ts
@@ -1,6 +1,6 @@
import type { MetadataRoute } from "next"
-const BASE_URL = "https://ohmyopenagent.com"
+const BASE_URL = "https://omo.dev"
export default function sitemap(): MetadataRoute.Sitemap {
const routes = ["", "/docs", "/manifesto"]
diff --git a/packages/web/middleware.ts b/packages/web/middleware.ts
index 3cff67463..2dc9ea9e7 100644
--- a/packages/web/middleware.ts
+++ b/packages/web/middleware.ts
@@ -4,8 +4,8 @@ import { locales, type Locale } from "./i18n/config"
import { routing } from "./i18n/routing"
const handleI18nRouting = createMiddleware(routing)
-const oldHosts = new Set(["ohmyopencode.org", "www.ohmyopencode.org"])
-const primaryHost = "ohmyopenagent.com"
+const oldHosts = new Set(["www.omo.dev"])
+const primaryHost = "omo.dev"
const installationPaths = new Set([
"installation",
"installation.md",
diff --git a/packages/web/wrangler.toml b/packages/web/wrangler.toml
index be07cfaf9..4a9b73f80 100644
--- a/packages/web/wrangler.toml
+++ b/packages/web/wrangler.toml
@@ -10,9 +10,9 @@ directory = ".open-next/assets"
binding = "ASSETS"
[[routes]]
-pattern = "ohmyopenagent.com"
+pattern = "omo.dev"
custom_domain = true
[[routes]]
-pattern = "ohmyopencode.org"
+pattern = "www.omo.dev"
custom_domain = true