feat: add bird.fast GitHub Pages site
This commit is contained in:
+222
@@ -0,0 +1,222 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="color-scheme" content="dark" />
|
||||
<meta name="theme-color" content="#0b0d10" />
|
||||
|
||||
<title>bird.fast — fast X CLI</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="bird is a fast X CLI for tweeting, replying, and reading via the X/Twitter GraphQL API (cookie auth)."
|
||||
/>
|
||||
|
||||
<link rel="canonical" href="https://bird.fast/" />
|
||||
<link rel="icon" href="./favicon.svg" type="image/svg+xml" />
|
||||
|
||||
<meta property="og:title" content="bird.fast" />
|
||||
<meta property="og:description" content="Fast X CLI for tweeting, replying, and reading." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://bird.fast/" />
|
||||
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,[email protected],500..900&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap"
|
||||
/>
|
||||
|
||||
<link rel="stylesheet" href="./assets/site.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<a class="skip" href="#content">Skip to content</a>
|
||||
|
||||
<div class="bg" aria-hidden="true">
|
||||
<div class="bg__orb bg__orb--a"></div>
|
||||
<div class="bg__orb bg__orb--b"></div>
|
||||
<div class="bg__grid"></div>
|
||||
<div class="bg__noise"></div>
|
||||
</div>
|
||||
|
||||
<header class="top">
|
||||
<div class="top__inner">
|
||||
<a class="brand" href="./" aria-label="bird.fast home">
|
||||
<span class="brand__mark" aria-hidden="true">
|
||||
<img src="./assets/mark.svg" width="26" height="26" alt="" />
|
||||
</span>
|
||||
<span class="brand__word">bird</span>
|
||||
<span class="brand__dot">.fast</span>
|
||||
</a>
|
||||
|
||||
<nav class="nav">
|
||||
<a class="nav__link" href="#install">Install</a>
|
||||
<a class="nav__link" href="#commands">Commands</a>
|
||||
<a class="nav__link" href="https://github.com/steipete/bird">GitHub</a>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main id="content">
|
||||
<section class="hero">
|
||||
<div class="hero__inner">
|
||||
<p class="kicker" data-reveal>Fast X CLI. Cookie auth. Zero fuss.</p>
|
||||
|
||||
<h1 class="title" data-reveal>
|
||||
<span class="title__big">bird</span><span class="title__dot">.fast</span>
|
||||
</h1>
|
||||
|
||||
<p class="lede" data-reveal>
|
||||
Tweet, reply, read threads, search, mentions — powered by X/Twitter GraphQL and your existing
|
||||
browser session.
|
||||
</p>
|
||||
|
||||
<div class="cta" data-reveal>
|
||||
<a class="btn btn--hot" href="#install">Install</a>
|
||||
<a class="btn btn--ghost" href="https://github.com/steipete/bird#quickstart">Quickstart</a>
|
||||
</div>
|
||||
|
||||
<div class="terminal" data-reveal>
|
||||
<div class="terminal__bar">
|
||||
<span class="terminal__dots" aria-hidden="true">
|
||||
<i></i><i></i><i></i>
|
||||
</span>
|
||||
<span class="terminal__label">copy & run</span>
|
||||
</div>
|
||||
<div class="terminal__body">
|
||||
<pre><code id="installCmd">npm install -g @steipete/bird
|
||||
|
||||
bird whoami
|
||||
bird tweet "hi from bird.fast"</code></pre>
|
||||
<button class="copy" type="button" data-copy="#installCmd">
|
||||
<span class="copy__idle">Copy</span>
|
||||
<span class="copy__done" aria-hidden="true">Copied</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="badges" data-reveal>
|
||||
<a class="badge" href="https://www.npmjs.com/package/@steipete/bird">
|
||||
<span class="badge__k">npm</span>
|
||||
<span class="badge__v">@steipete/bird</span>
|
||||
</a>
|
||||
<a class="badge" href="https://github.com/steipete/bird">
|
||||
<span class="badge__k">repo</span>
|
||||
<span class="badge__v">steipete/bird</span>
|
||||
</a>
|
||||
<a class="badge" href="https://github.com/steipete/bird#authentication-graphql">
|
||||
<span class="badge__k">auth</span>
|
||||
<span class="badge__v">cookies</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="stripe" id="install">
|
||||
<div class="stripe__inner">
|
||||
<h2 class="h2">Install</h2>
|
||||
<div class="cards">
|
||||
<article class="card">
|
||||
<h3 class="h3">npm / pnpm / bun</h3>
|
||||
<p class="p">Pick your poison. Node ≥ 20.</p>
|
||||
<pre class="code"><code>npm install -g @steipete/bird
|
||||
pnpm add -g @steipete/bird
|
||||
bun add -g @steipete/bird</code></pre>
|
||||
</article>
|
||||
<article class="card">
|
||||
<h3 class="h3">One-shot</h3>
|
||||
<p class="p">No install. Just prove it works.</p>
|
||||
<pre class="code"><code>bunx @steipete/bird whoami</code></pre>
|
||||
</article>
|
||||
<article class="card">
|
||||
<h3 class="h3">Homebrew (macOS)</h3>
|
||||
<p class="p">Prebuilt Bun binary.</p>
|
||||
<pre class="code"><code>brew install steipete/tap/bird</code></pre>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="stripe stripe--tight" id="commands">
|
||||
<div class="stripe__inner">
|
||||
<h2 class="h2">Commands</h2>
|
||||
<p class="p p--muted">Everything you need for a fast “read → reply → move on” loop.</p>
|
||||
|
||||
<div class="cmds" role="tablist" aria-label="bird commands">
|
||||
<button class="cmd is-on" type="button" data-cmd="tweet" role="tab" aria-selected="true">
|
||||
tweet
|
||||
</button>
|
||||
<button class="cmd" type="button" data-cmd="reply" role="tab" aria-selected="false">reply</button>
|
||||
<button class="cmd" type="button" data-cmd="read" role="tab" aria-selected="false">read</button>
|
||||
<button class="cmd" type="button" data-cmd="thread" role="tab" aria-selected="false">thread</button>
|
||||
<button class="cmd" type="button" data-cmd="search" role="tab" aria-selected="false">search</button>
|
||||
<button class="cmd" type="button" data-cmd="mentions" role="tab" aria-selected="false">
|
||||
mentions
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="demo" aria-live="polite">
|
||||
<pre class="demo__pre"><code id="demoCode">bird tweet "ship it"</code></pre>
|
||||
<button class="copy copy--demo" type="button" data-copy="#demoCode">
|
||||
<span class="copy__idle">Copy</span>
|
||||
<span class="copy__done" aria-hidden="true">Copied</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="stripe stripe--end">
|
||||
<div class="stripe__inner">
|
||||
<h2 class="h2">How it works</h2>
|
||||
<div class="steps">
|
||||
<article class="step">
|
||||
<div class="step__num">01</div>
|
||||
<h3 class="h3">Use your existing session</h3>
|
||||
<p class="p p--muted">
|
||||
Cookie auth. No password prompt. Reads from Safari/Chrome/Firefox (configurable).
|
||||
</p>
|
||||
</article>
|
||||
<article class="step">
|
||||
<div class="step__num">02</div>
|
||||
<h3 class="h3">GraphQL first</h3>
|
||||
<p class="p p--muted">
|
||||
Talks to X’s internal endpoints. Query IDs rotate — bird auto-refreshes and caches them.
|
||||
</p>
|
||||
</article>
|
||||
<article class="step">
|
||||
<div class="step__num">03</div>
|
||||
<h3 class="h3">Fast, scriptable output</h3>
|
||||
<p class="p p--muted">
|
||||
Human output by default. Flip to <span class="pill">--json</span> or
|
||||
<span class="pill">--plain</span> when you need stability.
|
||||
</p>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="footerline">
|
||||
<a class="tiny" href="https://github.com/steipete/bird#authentication-graphql">
|
||||
Authentication details
|
||||
</a>
|
||||
<span class="sep" aria-hidden="true">•</span>
|
||||
<a class="tiny" href="https://github.com/steipete/bird#config-json5">Config (JSON5)</a>
|
||||
<span class="sep" aria-hidden="true">•</span>
|
||||
<a class="tiny" href="https://github.com/steipete/bird/issues">Issues</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="bottom">
|
||||
<div class="bottom__inner">
|
||||
<p class="tiny">
|
||||
Made by <a href="https://steipete.me">Peter</a>. MIT licensed. Built for GitHub Pages.
|
||||
</p>
|
||||
<p class="tiny tiny--muted">bird.fast is the landing page; the project lives on GitHub.</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<script src="./assets/site.js" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user