From 6826d0bbbb278df1d066f46ee520ee1279b924d8 Mon Sep 17 00:00:00 2001 From: Lewis Ellis Date: Thu, 9 Apr 2026 12:43:54 -0700 Subject: [PATCH 1/3] feat: add gstack landing page Static HTML/CSS/JS site with dark theme, amber accents, terminal demo animation, sprint workflow visualization, and one-line install CTA. No framework, no build step, no dependencies. Co-Authored-By: Claude Opus 4.6 --- site/assets/favicon.svg | 4 + site/assets/github-2013.png | Bin 0 -> 63425 bytes site/assets/github-2026.png | Bin 0 -> 60481 bytes site/assets/og-image.svg | 8 + site/css/style.css | 683 ++++++++++++++++++++++++++++++++++++ site/index.html | 311 ++++++++++++++++ site/js/main.js | 108 ++++++ 7 files changed, 1114 insertions(+) create mode 100644 site/assets/favicon.svg create mode 100644 site/assets/github-2013.png create mode 100644 site/assets/github-2026.png create mode 100644 site/assets/og-image.svg create mode 100644 site/css/style.css create mode 100644 site/index.html create mode 100644 site/js/main.js diff --git a/site/assets/favicon.svg b/site/assets/favicon.svg new file mode 100644 index 0000000000..492f18e395 --- /dev/null +++ b/site/assets/favicon.svg @@ -0,0 +1,4 @@ + + + g + diff --git a/site/assets/github-2013.png b/site/assets/github-2013.png new file mode 100644 index 0000000000000000000000000000000000000000..186324ba71bbb234778c2e9c185bef82f66d663b GIT binary patch literal 63425 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 Nw1k3q_U#95{||dUUX%a; literal 0 HcmV?d00001 diff --git a/site/assets/github-2026.png b/site/assets/github-2026.png new file mode 100644 index 0000000000000000000000000000000000000000..b908c8a4ed17044b8408579ca317c4d571a85f01 GIT binary patch literal 60481 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 literal 0 HcmV?d00001 diff --git a/site/assets/og-image.svg b/site/assets/og-image.svg new file mode 100644 index 0000000000..c9e5f812c0 --- /dev/null +++ b/site/assets/og-image.svg @@ -0,0 +1,8 @@ + + + gstack + Your AI engineering team. + 23 specialist skills · 8 AI agents · MIT licensed + + $ git clone && ./setup + diff --git a/site/css/style.css b/site/css/style.css new file mode 100644 index 0000000000..c0678d0d55 --- /dev/null +++ b/site/css/style.css @@ -0,0 +1,683 @@ +/* ============================================ + DESIGN SYSTEM — CSS Custom Properties + Source: DESIGN.md + ============================================ */ +:root { + /* Colors */ + --amber-400: #FBBF24; + --amber-500: #F59E0B; + --amber-600: #D97706; + --success: #22C55E; + --error: #EF4444; + + --zinc-50: #FAFAFA; + --zinc-400: #A1A1AA; + --zinc-500: #71717A; + --zinc-600: #52525B; + --zinc-800: #27272A; + --surface: #141414; + --base: #0C0C0C; + --border: #262626; + + /* Typography */ + --font-display: 'Satoshi', sans-serif; + --font-body: 'DM Sans', sans-serif; + --font-mono: 'JetBrains Mono', monospace; + + /* Spacing */ + --space-xs: 4px; + --space-sm: 8px; + --space-md: 16px; + --space-lg: 24px; + --space-xl: 32px; + --space-2xl: 48px; + --space-3xl: 64px; + --space-4xl: 80px; + + /* Radius */ + --radius-sm: 4px; + --radius-md: 8px; + --radius-lg: 12px; + --radius-full: 9999px; + + /* Layout */ + --max-width: 1200px; + --max-width-text: 800px; +} + +/* ============================================ + RESET & BASE + ============================================ */ +*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } +html { scroll-behavior: smooth; } + +@media (prefers-reduced-motion: reduce) { + html { scroll-behavior: auto; } + *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } +} + +body { + background: var(--base); + color: var(--zinc-50); + font-family: var(--font-body); + font-size: 16px; + line-height: 1.6; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* ============================================ + GRAIN TEXTURE + ============================================ */ +.grain { + position: fixed; + top: 0; left: 0; + width: 100%; height: 100%; + pointer-events: none; + z-index: 9999; + opacity: 0.03; +} + +/* ============================================ + NAV + ============================================ */ +.nav { + position: sticky; + top: 0; + z-index: 100; + background: rgba(12, 12, 12, 0.85); + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + border-bottom: 1px solid transparent; + transition: border-color 0.15s ease-out, box-shadow 0.15s ease-out; +} + +.nav.scrolled { + box-shadow: 0 1px 12px rgba(0, 0, 0, 0.4); + border-bottom-color: var(--border); +} + +.nav-inner { + max-width: var(--max-width); + margin: 0 auto; + padding: 0 var(--space-lg); + height: 64px; + display: flex; + align-items: center; + justify-content: space-between; +} + +.nav-logo { + font-family: var(--font-mono); + font-size: 18px; + font-weight: 700; + color: var(--amber-500); + text-decoration: none; + letter-spacing: -0.5px; +} + +.nav-github { + display: inline-flex; + align-items: center; + gap: var(--space-sm); + background: var(--zinc-800); + border: 1px solid var(--border); + border-radius: var(--radius-full); + padding: 6px var(--space-md); + font-family: var(--font-mono); + font-size: 13px; + color: var(--zinc-400); + text-decoration: none; + transition: border-color 0.15s ease-out, color 0.15s ease-out; +} + +.nav-github:hover { border-color: #3f3f46; color: var(--zinc-50); } +.nav-github svg { width: 16px; height: 16px; fill: currentColor; } + +/* ============================================ + HERO + ============================================ */ +.hero { + text-align: center; + padding: 120px var(--space-lg) var(--space-4xl); + max-width: var(--max-width-text); + margin: 0 auto; + position: relative; +} + +.hero::before { + content: ''; + position: absolute; + top: 40px; + left: 50%; + transform: translateX(-50%); + width: 600px; + height: 400px; + background: radial-gradient(ellipse at center, rgba(245, 158, 11, 0.06) 0%, transparent 70%); + pointer-events: none; + z-index: 0; +} + +.hero > * { position: relative; z-index: 1; } + +.version-badge { + display: inline-block; + font-family: var(--font-mono); + font-size: 13px; + font-weight: 500; + color: var(--amber-500); + background: var(--zinc-800); + border: 1px solid var(--border); + border-radius: var(--radius-full); + padding: var(--space-xs) 14px; + margin-bottom: var(--space-xl); +} + +.hero h1 { + font-family: var(--font-display); + font-weight: 900; + font-size: clamp(40px, 6vw, 72px); + line-height: 1.05; + letter-spacing: -2px; + color: var(--zinc-50); + margin-bottom: 20px; +} + +.hero-subtitle { + font-size: 20px; + color: var(--zinc-400); + margin-bottom: 40px; +} + +.install-box { + display: flex; + align-items: center; + justify-content: space-between; + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + padding: 14px var(--space-md) 14px 20px; + max-width: 600px; + margin: 0 auto var(--space-lg); +} + +.install-box code { + font-family: var(--font-mono); + font-size: 14px; + color: #D4D4D8; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.install-box .prompt { color: var(--zinc-600); margin-right: 4px; } + +.copy-btn { + font-family: var(--font-mono); + font-size: 13px; + font-weight: 600; + color: var(--base); + background: var(--amber-500); + border: none; + border-radius: var(--radius-md); + padding: var(--space-sm) var(--space-md); + cursor: pointer; + transition: background 0.15s ease-out, transform 0.1s ease-out; + flex-shrink: 0; + margin-left: var(--space-sm); +} + +.copy-btn:hover { background: var(--amber-600); } +.copy-btn:active { transform: scale(0.97); } +.copy-btn:focus-visible { outline: 2px solid var(--amber-400); outline-offset: 2px; } + +.hero-actions { + display: flex; + align-items: center; + justify-content: center; + gap: var(--space-lg); + margin-top: var(--space-sm); +} + +.btn-outline { + font-family: var(--font-mono); + font-size: 14px; + font-weight: 500; + color: var(--zinc-400); + background: transparent; + border: 1px solid var(--border); + border-radius: var(--radius-md); + padding: 10px 20px; + text-decoration: none; + transition: border-color 0.15s ease-out, color 0.15s ease-out; +} + +.btn-outline:hover { border-color: #3f3f46; color: var(--zinc-50); } +.btn-outline:focus-visible { outline: 2px solid var(--amber-400); outline-offset: 2px; } + +.link-amber { + font-size: 14px; + font-weight: 500; + color: var(--amber-500); + text-decoration: none; + transition: color 0.15s ease-out; +} + +.link-amber:hover { color: var(--amber-400); } + +/* ============================================ + STATS BAR + ============================================ */ +.stats { + max-width: var(--max-width); + margin: 0 auto; + padding: 0 var(--space-lg) var(--space-4xl); +} + +.stats-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: var(--space-md); +} + +.stat-card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + padding: 28px var(--space-lg); + text-align: center; +} + +.stat-number { + font-family: var(--font-mono); + font-size: 36px; + font-weight: 700; + color: var(--amber-500); + line-height: 1.1; + margin-bottom: var(--space-sm); +} + +.stat-label { + font-family: var(--font-mono); + font-size: 12px; + font-weight: 500; + color: var(--zinc-600); + text-transform: uppercase; + letter-spacing: 1px; +} + +/* ============================================ + SECTIONS (shared) + ============================================ */ +.section { + max-width: var(--max-width); + margin: 0 auto; + padding: var(--space-3xl) var(--space-lg) var(--space-4xl); +} + +.section-header { + font-family: var(--font-display); + font-weight: 700; + font-size: 32px; + color: var(--zinc-50); + letter-spacing: -0.5px; + margin-bottom: var(--space-md); +} + +.section-subtitle { + font-size: 18px; + color: var(--zinc-400); + margin-bottom: var(--space-2xl); + max-width: 600px; +} + +.section-center { text-align: center; } +.section-center .section-subtitle { margin-left: auto; margin-right: auto; } + +/* ============================================ + TERMINAL DEMO + ============================================ */ +.terminal-section { + max-width: var(--max-width); + margin: 0 auto; + padding: var(--space-3xl) var(--space-lg) var(--space-4xl); +} + +.terminal-card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + max-width: var(--max-width-text); + margin: 0 auto; +} + +.terminal-titlebar { + display: flex; + align-items: center; + gap: var(--space-sm); + padding: 14px 18px; + background: #1A1A1A; + border-bottom: 1px solid var(--border); +} + +.terminal-dot { width: 12px; height: 12px; border-radius: 50%; } +.terminal-dot.red { background: var(--error); } +.terminal-dot.yellow { background: var(--amber-500); } +.terminal-dot.green { background: var(--success); } + +.terminal-path { + font-family: var(--font-mono); + font-size: 12px; + color: var(--zinc-600); + margin-left: var(--space-sm); +} + +.terminal-body { + padding: var(--space-lg); + font-family: var(--font-mono); + font-size: 14px; + line-height: 1.8; + min-height: 280px; +} + +.terminal-line { margin-bottom: var(--space-md); opacity: 0; transition: opacity 0.3s ease-out; } +.terminal-line.visible { opacity: 1; } +.terminal-line:last-child { margin-bottom: 0; } + +.t-prompt { color: var(--success); font-weight: 600; } +.t-text { color: var(--zinc-50); } +.t-command { color: var(--amber-500); font-weight: 700; } +.t-response { color: var(--zinc-400); font-style: italic; padding-left: 20px; display: block; margin-top: 4px; } +.t-result { color: var(--zinc-50); padding-left: 20px; display: block; margin-top: 4px; } + +/* Static transcript for screen readers */ +.sr-only { + position: absolute; + width: 1px; height: 1px; + padding: 0; margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +/* ============================================ + SPRINT WORKFLOW + ============================================ */ +.flow-diagram { + display: flex; + align-items: center; + gap: var(--space-sm); + flex-wrap: wrap; + justify-content: center; + margin-bottom: var(--space-2xl); +} + +.flow-step { + font-family: var(--font-mono); + font-size: 13px; + font-weight: 500; + color: #D4D4D8; + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-md); + padding: var(--space-sm) 14px; + white-space: nowrap; +} + +.flow-step.active { border-color: var(--amber-500); color: var(--amber-500); } + +.flow-arrow { + font-family: var(--font-mono); + font-size: 16px; + color: var(--zinc-600); + flex-shrink: 0; +} + +.skill-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: var(--space-md); +} + +.skill-card { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + padding: var(--space-lg); + transition: border-color 0.15s ease-out, transform 0.15s ease-out; +} + +.skill-card:hover { border-color: var(--amber-500); transform: translateY(-2px); } + +.skill-name { + font-family: var(--font-mono); + font-size: 14px; + font-weight: 600; + color: var(--amber-500); + margin-bottom: var(--space-sm); +} + +.skill-role { + font-family: var(--font-body); + font-size: 16px; + font-weight: 600; + color: var(--zinc-50); + margin-bottom: var(--space-sm); +} + +.skill-desc { + font-size: 14px; + color: var(--zinc-400); + line-height: 1.5; +} + +/* Expandable skill list */ +.skills-expand { + margin-top: var(--space-xl); + text-align: center; +} + +.skills-expand summary { + font-family: var(--font-mono); + font-size: 14px; + font-weight: 500; + color: var(--amber-500); + cursor: pointer; + list-style: none; + padding: var(--space-sm) var(--space-md); + transition: color 0.15s ease-out; +} + +.skills-expand summary::-webkit-details-marker { display: none; } +.skills-expand summary::marker { display: none; } +.skills-expand summary:hover { color: var(--amber-400); } + +.skills-expand-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: var(--space-md); + margin-top: var(--space-lg); + text-align: left; +} + +.skill-card-mini { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + padding: var(--space-md) var(--space-lg); +} + +.skill-card-mini .skill-name { margin-bottom: var(--space-xs); font-size: 13px; } +.skill-card-mini .skill-desc { font-size: 13px; } + +/* ============================================ + BUILT BY + ============================================ */ +.built-by { + max-width: var(--max-width); + margin: 0 auto; + padding: var(--space-3xl) var(--space-lg) var(--space-4xl); + border-top: 1px solid var(--border); +} + +.built-by-inner { + max-width: var(--max-width-text); + margin: 0 auto; +} + +.built-by h2 { + font-family: var(--font-display); + font-weight: 700; + font-size: 32px; + color: var(--zinc-50); + letter-spacing: -0.5px; + margin-bottom: var(--space-lg); +} + +.built-by p { + font-size: 16px; + color: var(--zinc-400); + line-height: 1.7; + margin-bottom: var(--space-lg); +} + +.built-by a { color: var(--amber-500); text-decoration: none; } +.built-by a:hover { color: var(--amber-400); } + +.github-compare { + display: grid; + grid-template-columns: 1fr 1fr; + gap: var(--space-lg); + margin: var(--space-xl) 0; +} + +.github-year { + text-align: center; +} + +.github-year img { + width: 100%; + border-radius: var(--radius-md); + border: 1px solid var(--border); +} + +.github-year-label { + font-family: var(--font-mono); + font-size: 13px; + font-weight: 500; + color: var(--zinc-600); + text-transform: uppercase; + letter-spacing: 1px; + margin-top: var(--space-sm); +} + +.github-year-stat { + font-family: var(--font-mono); + font-size: 14px; + color: var(--amber-500); + margin-top: var(--space-xs); +} + +/* ============================================ + CTA + ============================================ */ +.cta { + text-align: center; + padding: var(--space-4xl) var(--space-lg); + max-width: var(--max-width-text); + margin: 0 auto; +} + +.cta h2 { + font-family: var(--font-display); + font-weight: 900; + font-size: 48px; + color: var(--zinc-50); + letter-spacing: -1.5px; + margin-bottom: var(--space-xl); +} + +.cta-install { + display: inline-block; + font-family: var(--font-mono); + font-size: 15px; + font-weight: 600; + color: var(--base); + background: var(--amber-500); + border: none; + border-radius: var(--radius-md); + padding: 14px 28px; + cursor: pointer; + transition: background 0.15s ease-out, transform 0.1s ease-out; +} + +.cta-install:hover { background: var(--amber-600); } +.cta-install:active { transform: scale(0.97); } +.cta-install:focus-visible { outline: 2px solid var(--amber-400); outline-offset: 2px; } + +/* ============================================ + FOOTER + ============================================ */ +.footer { + border-top: 1px solid var(--border); + padding: var(--space-2xl) var(--space-lg); + text-align: center; + max-width: var(--max-width); + margin: 0 auto; +} + +.footer-credit { + font-size: 14px; + color: var(--zinc-600); + margin-bottom: 20px; +} + +.footer-links { + display: flex; + align-items: center; + justify-content: center; + gap: var(--space-lg); + flex-wrap: wrap; +} + +.footer-links a { + font-family: var(--font-mono); + font-size: 13px; + color: var(--zinc-600); + text-decoration: none; + transition: color 0.15s ease-out; +} + +.footer-links a:hover { color: var(--amber-500); } + +.footer-sep { color: var(--zinc-800); font-size: 13px; user-select: none; } + +/* ============================================ + RESPONSIVE + ============================================ */ +@media (max-width: 768px) { + .hero { padding-top: 80px; padding-bottom: var(--space-3xl); } + .hero h1 { letter-spacing: -1px; } + .hero-subtitle { font-size: 17px; } + .install-box { flex-direction: column; gap: 12px; align-items: stretch; } + .install-box code { font-size: 12px; text-align: center; overflow-x: auto; } + .copy-btn { margin-left: 0; width: 100%; } + .hero-actions { flex-direction: column; gap: var(--space-md); } + .stats-grid { grid-template-columns: repeat(2, 1fr); } + .stat-number { font-size: 28px; } + .terminal-body { font-size: 12px; padding: var(--space-md); } + .flow-diagram { flex-direction: column; align-items: stretch; } + .flow-step { text-align: center; } + .flow-arrow { text-align: center; transform: rotate(90deg); } + .skill-grid, .skills-expand-grid { grid-template-columns: 1fr; } + .github-compare { grid-template-columns: 1fr; } + .cta h2 { font-size: 36px; } + .section-header { font-size: 26px; } +} + +@media (min-width: 769px) and (max-width: 1024px) { + .stats-grid { grid-template-columns: repeat(2, 1fr); } + .skill-grid, .skills-expand-grid { grid-template-columns: repeat(2, 1fr); } +} diff --git a/site/index.html b/site/index.html new file mode 100644 index 0000000000..e7fea0dc23 --- /dev/null +++ b/site/index.html @@ -0,0 +1,311 @@ + + + + + +gstack is your AI engineering team + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
v0.16.2.0
+

gstack is your AI engineering team

+

Twenty-three specialists. One slash command.

+
+ $ git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup + +
+ +
+ + +
+
+
+
600,000+
+
Lines Shipped
+
+
+
23
+
Specialist Skills
+
+
+
8
+
AI Agents
+
+
+
10-15
+
Parallel Sprints
+
+
+
+ + +
+

See it work

+ + +
+

Terminal demo transcript: User says: I have an idea for a better onboarding flow. Let's start. User runs /office-hours. Result: 6 forcing questions later, scope locked, user journey mapped, risks flagged. User runs /plan-ceo-review. Result: Rethinks the problem, finds the 10-star version, cuts 3 unnecessary steps. User says: Good. Build it, then ship it. User runs /ship. Result: Tests 42 to 51, plus 9 new. Pull request created.

+
+ + +
+ + +
+

The sprint

+

Each skill feeds into the next. Nothing falls through the cracks.

+ + + +
+
+
/office-hours
+
YC Office Hours
+
Start here. Six forcing questions that reframe your product before you write code.
+
+
+
/plan-ceo-review
+
CEO / Founder
+
Rethink the problem. Find the 10-star product hiding inside the request.
+
+
+
/plan-eng-review
+
Eng Manager
+
Lock architecture, data flow, diagrams, edge cases, and tests.
+
+
+
/review
+
Staff Engineer
+
Find the bugs that pass CI but blow up in production.
+
+
+
/qa
+
QA Lead
+
Test your app in a real browser, find bugs, fix them, verify the fix.
+
+
+
/ship
+
Release Engineer
+
Sync main, run tests, audit coverage, push, open PR.
+
+
+ + +
+ See all 23 skills ↓ +
+
+
/plan-design-review
+
Senior Designer. Rates each design dimension 0-10, explains what a 10 looks like.
+
+
+
/plan-devex-review
+
DX Lead. Interactive developer experience review with personas and TTHW benchmarks.
+
+
+
/design-consultation
+
Design Partner. Build a complete design system from scratch.
+
+
+
/design-shotgun
+
Design Explorer. Generate 4-6 AI mockup variants, compare side by side.
+
+
+
/design-html
+
Design Engineer. Turn a mockup into production HTML that actually works.
+
+
+
/design-review
+
Designer Who Codes. Same audit as plan-design-review, then fixes what it finds.
+
+
+
/devex-review
+
DX Tester. Live developer experience audit. Actually tests your onboarding.
+
+
+
/investigate
+
Debugger. Systematic root-cause debugging. No fixes without investigation.
+
+
+
/qa-only
+
QA Reporter. Same methodology as /qa but report only. No code changes.
+
+
+
/cso
+
Chief Security Officer. OWASP Top 10 + STRIDE threat model.
+
+
+
/land-and-deploy
+
Release Engineer. Merge, wait for CI, deploy, verify production health.
+
+
+
/canary
+
SRE. Post-deploy monitoring loop for console errors and regressions.
+
+
+
/benchmark
+
Performance Engineer. Baseline and compare Core Web Vitals per PR.
+
+
+
/document-release
+
Technical Writer. Update all docs to match what you just shipped.
+
+
+
/retro
+
Eng Manager. Team-aware weekly retro with per-person breakdowns.
+
+
+
/codex
+
Second Opinion. Independent code review from OpenAI Codex CLI.
+
+
+
/autoplan
+
Review Pipeline. One command: CEO, design, and eng review automatically.
+
+
+
+
+ + +
+
+

Built by a builder

+

I'm Garry Tan, President & CEO of Y Combinator. I've worked with thousands of startups, Coinbase, Instacart, Rippling, when they were one or two people in a garage. Before YC, I was one of the first eng/PM/designers at Palantir, cofounded Posterous (sold to Twitter), and built Bookface, YC's internal social network.

+

gstack is how I ship. In the last 60 days: 600,000+ lines of production code, 10,000-20,000 lines per day, part-time, while running YC full-time. Same person. Different era. The difference is the tooling.

+ +
+
+ GitHub contributions 2013: 772 contributions building Bookface at YC +
2013
+
772 contributions
+
+
+ GitHub contributions 2026: 1,237+ contributions with massive acceleration +
2026
+
1,237+ contributions
+
+
+ +

I open sourced how I build software. Fork it. Improve it. Make it yours.

+
+
+ + +
+

Go build something.

+ +
+
+ + + + + + + + diff --git a/site/js/main.js b/site/js/main.js new file mode 100644 index 0000000000..a2cad5eb0e --- /dev/null +++ b/site/js/main.js @@ -0,0 +1,108 @@ +(function() { + 'use strict'; + + // ======================================== + // NAV: scroll detection + // ======================================== + var nav = document.getElementById('nav'); + window.addEventListener('scroll', function() { + if (window.scrollY > 10) { + nav.classList.add('scrolled'); + } else { + nav.classList.remove('scrolled'); + } + }, { passive: true }); + + // ======================================== + // COPY: clipboard + // ======================================== + var installCmd = 'git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup'; + + function copyInstall(btn) { + navigator.clipboard.writeText(installCmd).then(function() { + var original = btn.textContent; + btn.textContent = 'Copied!'; + btn.style.background = '#22C55E'; + setTimeout(function() { + btn.textContent = original; + btn.style.background = ''; + }, 2000); + }).catch(function() { + btn.textContent = 'Select text above to copy'; + setTimeout(function() { + btn.textContent = 'Copy'; + }, 3000); + }); + } + + document.getElementById('copy-hero').addEventListener('click', function() { copyInstall(this); }); + document.getElementById('copy-cta').addEventListener('click', function() { copyInstall(this); }); + + // ======================================== + // TERMINAL: typewriter animation + // ======================================== + var terminalDemo = document.getElementById('terminal-demo'); + var lines = document.querySelectorAll('.terminal-line'); + var animated = false; + + // Respect prefers-reduced-motion + var prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; + + if (prefersReducedMotion) { + // Show all lines immediately + for (var i = 0; i < lines.length; i++) { + lines[i].classList.add('visible'); + } + animated = true; + } else if ('IntersectionObserver' in window) { + var observer = new IntersectionObserver(function(entries) { + if (entries[0].isIntersecting && !animated) { + animated = true; + animateTerminal(); + observer.disconnect(); + } + }, { threshold: 0.3 }); + + observer.observe(terminalDemo); + } else { + // Fallback: show all lines + for (var j = 0; j < lines.length; j++) { + lines[j].classList.add('visible'); + } + } + + function animateTerminal() { + var delay = 0; + var stepsData = [ + { delay: 400 }, + { delay: 800 }, + { delay: 800 }, + { delay: 600 }, + { delay: 600 } + ]; + + for (var k = 0; k < lines.length; k++) { + (function(line, d) { + setTimeout(function() { + line.classList.add('visible'); + }, d); + })(lines[k], delay); + delay += stepsData[k] ? stepsData[k].delay : 500; + } + } + + // ======================================== + // DETAILS: update summary text on toggle + // ======================================== + var details = document.querySelector('.skills-expand'); + if (details) { + details.addEventListener('toggle', function() { + var summary = details.querySelector('summary'); + if (details.open) { + summary.textContent = 'Hide skills \u2191'; + } else { + summary.textContent = 'See all 23 skills \u2193'; + } + }); + } +})(); From eeacee7a01d94817d3d7892b248a73850fee9694 Mon Sep 17 00:00:00 2001 From: Lewis Ellis Date: Thu, 9 Apr 2026 12:43:56 -0700 Subject: [PATCH 2/3] ci: add GitHub Pages deploy workflow for landing page Triggers on push to main when site/, VERSION, or CHANGELOG.md change. Uses actions/upload-pages-artifact + actions/deploy-pages. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/deploy-site.yml | 34 +++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/deploy-site.yml diff --git a/.github/workflows/deploy-site.yml b/.github/workflows/deploy-site.yml new file mode 100644 index 0000000000..20e613c688 --- /dev/null +++ b/.github/workflows/deploy-site.yml @@ -0,0 +1,34 @@ +name: Deploy landing page + +on: + push: + branches: [main] + paths: + - 'site/**' + - 'VERSION' + - 'CHANGELOG.md' + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/configure-pages@v5 + - uses: actions/upload-pages-artifact@v3 + with: + path: site + - id: deployment + uses: actions/deploy-pages@v4 From bee4e7d02f2607269e6d50bbab1265aa8a86447b Mon Sep 17 00:00:00 2001 From: Lewis Ellis Date: Thu, 9 Apr 2026 12:43:57 -0700 Subject: [PATCH 3/3] chore: bump version to 0.16.3.0 Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 5 +++++ VERSION | 2 +- package.json | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eed40968c9..34802fac98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## [0.16.3.0] - 2026-04-09 + +### Added +- **Landing page.** gstack now has a website at garrytan.github.io/gstack. Static HTML/CSS/JS, no framework, no build step, no dependencies. Dark theme with amber accents, terminal demo animation, sprint workflow visualization, and a one-line install CTA. Deploys automatically to GitHub Pages on push to main. + ## [0.16.2.0] - 2026-04-09 ### Added diff --git a/VERSION b/VERSION index 73c8950921..c1638b0469 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.16.2.0 +0.16.3.0 \ No newline at end of file diff --git a/package.json b/package.json index b5a92fa9ec..63c596380a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gstack", - "version": "0.16.2.0", + "version": "0.16.3.0", "description": "Garry's Stack — Claude Code skills + fast headless browser. One repo, one install, entire AI engineering workflow.", "license": "MIT", "type": "module",