openclaw/apps/web/app/page.tsx
kumarabhirup dfaf7180b4
Ironclaw rebrand: rename user-facing strings, package identity, and CLI references
Rebrand from OpenClaw to Ironclaw across 16 files:

Web app (apps/web):
- layout.tsx: update metadata title to "Ironclaw" and description to
  "AI CRM with an agent that connects to your apps and does the work for you"
- page.tsx: change landing page heading from "OpenClaw Dench" to "Ironclaw"
- agent-runner.ts: rename stderr log prefix to [ironclaw stderr]
- package.json: rename package from "openclaw-web" to "ironclaw-web"

Package identity (root):
- package.json: rename package from "openclaw-ai-sdk" to "ironclaw",
  update description to reflect CRM/workspace focus, change bin entry
  from "openclaw-ai-sdk" to "ironclaw"
- openclaw.mjs: update error message to reference "ironclaw"
- src/version.ts: change CORE_PACKAGE_NAME to "ironclaw"

CLI and TUI:
- command-format.ts: extend CLI prefix regex to accept both "ironclaw"
  and "openclaw" for backward compatibility
- register.agent.ts: update example identity name to "Ironclaw" with
  🔩 emoji (replacing 🦞)
- tui.ts: rename TUI header from "openclaw tui" to "ironclaw tui"

Onboarding and configuration wizards:
- configure.wizard.ts: rename engine selection prompts and wizard intro
  headers to "Ironclaw"
- onboarding.ts: rename onboarding intro and security warning text
- onboarding.finalize.ts: rename all dashboard/control-UI messages and
  Brave Search setup instructions to reference "Ironclaw"

Security audit:
- audit.ts: rename state-dir permission warning details to "Ironclaw"
- audit-extra.ts: rename plugin remediation text to "Ironclaw"

Telegram:
- bot-message-context.ts: rename access-denied message to "Ironclaw"
2026-02-11 23:38:34 -08:00

93 lines
2.5 KiB
TypeScript

"use client";
import Link from "next/link";
export default function Home() {
return (
<div
className="flex flex-col items-center justify-center min-h-screen px-6"
style={{ background: "var(--color-bg)" }}
>
{/* Logo / brand mark */}
<div
className="mb-6 w-16 h-16 rounded-2xl flex items-center justify-center"
style={{ background: "rgba(232, 93, 58, 0.12)" }}
>
<svg
width="32"
height="32"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
style={{ color: "var(--color-accent)" }}
>
<rect width="7" height="7" x="3" y="3" rx="1" />
<rect width="7" height="7" x="14" y="3" rx="1" />
<rect width="7" height="7" x="14" y="14" rx="1" />
<rect width="7" height="7" x="3" y="14" rx="1" />
</svg>
</div>
{/* Heading */}
<h1
className="text-4xl font-bold tracking-tight mb-3 text-center"
style={{ color: "var(--color-text)" }}
>
Ironclaw
</h1>
{/* Tagline */}
<p
className="text-lg mb-8 text-center max-w-md"
style={{ color: "var(--color-text-muted)" }}
>
Your AI workspace &mdash; chat, knowledge, skills, and memory in one place.
</p>
{/* CTA */}
<Link
href="/workspace"
className="inline-flex items-center gap-2 px-6 py-3 rounded-lg text-sm font-medium transition-colors"
style={{
background: "var(--color-accent)",
color: "#fff",
}}
onMouseEnter={(e) => {
(e.currentTarget as HTMLElement).style.background =
"var(--color-accent-hover)";
}}
onMouseLeave={(e) => {
(e.currentTarget as HTMLElement).style.background =
"var(--color-accent)";
}}
>
Open Workspace
<svg
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
>
<path d="M5 12h14" />
<path d="m12 5 7 7-7 7" />
</svg>
</Link>
{/* Subtle footer link */}
<p
className="mt-12 text-xs"
style={{ color: "var(--color-text-muted)", opacity: 0.5 }}
>
Powered by OpenClaw
</p>
</div>
);
}