Sharingan

Hiraiship · edge hosting

From a folder to a live URL in one command

Push a Vite, Rasengan.js, Astro or Next.js app. Hiraiship detects the framework, builds it in a sandbox and serves it from Cloudflare's global network.

~/acme/storefront
  • npx hiraiship deploy
  • Packing 214 files · 1.8 MB
  • Framework vite, detected
  • Install pnpm install · 6.2s
  • Build vite build · 4.1s
  • Package 32 assets · 3 changed · 0.9s
  • Publish production · 1.3s
  • Ready → https://storefront.hiraiship.app
Hiraiship home page: “Ship to the edge in a flash”, with the deploy command under the buttons

Terminal boot

A terminal types your install command, prints its output line by line, and your product rises from it when it is done. The command can be copied.

Use when: Developer tools, CLIs, SDKs and frameworks: products whose first step really is a command.

Engine: DOM (HTML, SVG, CSS 3D), every browser

Render: …

npx shadcn@latest add @sharingan/terminal-boot

First time? Add the @sharingan registry to your project: getting started.

Add ?motion=final to the address for the repeatable still frame, or ?motion=off for the reduced-motion version.

Props

content what the hero says, real text in the DOM

Terminal boot content
NameTypeDefaultDescription
eyebrowstring (≤ 48 chars)—A short kicker above the headline.
headline *string (8–70 chars)—The promise in one line, 4–9 words.
subheadlinestring (≤ 180 chars)—One or two sentences under the headline.
primaryCtaobject—
label *string (2–28 chars)—Action verb first, 1–4 words.
href *string (≥ 1 chars)—
secondaryCtaobject—
label *string (2–28 chars)—Action verb first, 1–4 words.
href *string (≥ 1 chars)—
terminal *object—
titlestring (≤ 32 chars)"~/projects"The window's title.
command *string (2–64 chars)—The real command people should run. A copy button copies it.
output *object[] (1–8)—What the command prints, line by line.
text *string (1–72 chars)—
status"ok" | "info" | "warn" | "muted""ok"`ok` lines spin, then tick.
donestring (≤ 72 chars)—The last line, e.g. where the app is running.
mediaobject—The product, revealed when the command has finished.
src *string (≥ 1 chars)—
alt *string (4–200 chars)—
addressstring (≤ 48 chars)—Shown in the window's address bar, e.g. your-app.example.com.

config how it looks and moves; attributes on the Web Component

Terminal boot config
NameTypeDefaultDescription
speednumber (5–80)24Characters typed per second.
accentstring"var(--brand, oklch(0.68 0.17 262))"The prompt and the links in the output.
loopbooleanfalseRun the whole sequence again a few seconds after it ends.
copybooleantrueShow a button that copies the command.

The same hero as a Web Component

Web Component · no framework

<sg-terminal-boot>

The same engine, driven by attributes: a warmer prompt, faster hands, and it starts again by itself.

~/site
  • npx shadcn@latest add @sharingan/terminal-boot
  • Checked components.json
  • Added lib/sharingan and heroes/terminal-boot
  • No canvas, no WebGPU: runs in every browser
  • Done. Import TerminalBootHero.

Sharingan is made by Dilane Kombou.

Open source under the MIT licence.