2026-03-25 14:27:06 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
2026-04-03 16:12:52 +01:00
< title > Huskies — Story-Driven Development for AI Agents< / title >
< meta name = "description" content = "Huskies is an autonomous development pipeline that turns user stories into tested, shipped code using AI agents." >
2026-04-03 21:03:54 +01:00
< link rel = "preconnect" href = "https://fonts.googleapis.com" >
< link rel = "preconnect" href = "https://fonts.gstatic.com" crossorigin >
< link href = "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@400;500;600;700;800&family=Karla:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap" rel = "stylesheet" >
2026-03-25 14:27:06 +00:00
< link rel = "stylesheet" href = "style.css" >
< / head >
< body >
2026-04-03 21:03:54 +01:00
< div class = "page" >
2026-03-25 14:27:06 +00:00
2026-04-03 21:03:54 +01:00
<!-- Nav -->
< header class = "reveal r1" >
< a href = "/" class = "logo" > huskies< / a >
< nav >
< a href = "#how" > How it works< / a >
< a href = "#features" > Features< / a >
< a href = "mailto:hello@huskies.dev" class = "nav-cta" > Get in touch< / a >
< / nav >
2026-03-25 14:27:06 +00:00
< / header >
2026-04-03 21:03:54 +01:00
<!-- Hero -->
< section class = "hero" >
< div class = "hero-graphic reveal r1" >
2026-04-03 21:13:13 +01:00
< img src = "husky.png" alt = "" class = "hero-husky" >
2026-04-03 21:03:54 +01:00
< / div >
< p class = "hero-kicker reveal r1" > Story-driven development< / p >
2026-04-03 21:38:58 +01:00
< h1 class = "reveal r2" > Coding agents are huskies,< br > not < span class = "glow" > labradors.< / span > < / h1 >
< p class = "hero-sub reveal r3" > They're enthusiastic, sometimes wild, and they'll happily wander off on their own. But put them in a harness and they'll take you anywhere. Huskies is the harness — a story-driven pipeline that turns coding agents into a disciplined team.< / p >
2026-04-03 21:03:54 +01:00
<!-- Pipeline viz -->
< div class = "pipeline reveal r4" >
< div class = "pipe-stage" >
< span class = "pipe-dot" > < / span >
< span class = "pipe-label" > Story< / span >
< / div >
< span class = "pipe-line" > < / span >
< div class = "pipe-stage" >
< span class = "pipe-dot active" > < / span >
< span class = "pipe-label" > Implement< / span >
< / div >
< span class = "pipe-line" > < / span >
< div class = "pipe-stage" >
< span class = "pipe-dot" > < / span >
< span class = "pipe-label" > QA< / span >
< / div >
< span class = "pipe-line" > < / span >
< div class = "pipe-stage" >
< span class = "pipe-dot" > < / span >
< span class = "pipe-label" > Merge< / span >
< / div >
< span class = "pipe-line" > < / span >
< div class = "pipe-stage" >
< span class = "pipe-dot done" > < / span >
< span class = "pipe-label" > Done< / span >
< / div >
< / div >
2026-03-25 14:27:06 +00:00
< / section >
2026-04-03 21:03:54 +01:00
<!-- How it works -->
< section id = "how" class = "how-section" >
< h2 class = "section-title reveal r5" > How it works< / h2 >
2026-03-25 14:27:06 +00:00
< ol class = "steps" >
2026-04-03 21:03:54 +01:00
< li class = "step reveal r5" >
< span class = "step-num" > 01< / span >
< div class = "step-body" >
< h3 > Write a story< / h3 >
< p > Describe what you want with acceptance criteria. From your IDE, a chat room, or WhatsApp.< / p >
< / div >
< / li >
< li class = "step reveal r5" >
< span class = "step-num" > 02< / span >
< div class = "step-body" >
< h3 > Agent picks it up< / h3 >
< p > A coder agent creates a feature branch, implements the code, and writes tests against your criteria.< / p >
< / div >
< / li >
< li class = "step reveal r6" >
< span class = "step-num" > 03< / span >
< div class = "step-body" >
< h3 > Quality gates run< / h3 >
< p > Linters, tests, and compilation checks run automatically. Nothing moves forward until everything passes.< / p >
< / div >
< / li >
< li class = "step reveal r6" >
< span class = "step-num" > 04< / span >
< div class = "step-body" >
< h3 > Merge & land< / h3 >
< p > A merge agent resolves conflicts and squash-merges to your main branch. You review and accept.< / p >
< / div >
< / li >
2026-03-25 14:27:06 +00:00
< / ol >
< / section >
2026-04-03 21:03:54 +01:00
<!-- Features -->
< section id = "features" class = "features-section" >
< h2 class = "section-title reveal r7" > Features< / h2 >
< div class = "feature-grid" >
< div class = "feature reveal r7" >
< div class = "feature-icon" >
< svg width = "24" height = "24" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < path d = "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4" / > < / svg >
< / div >
2026-04-03 21:05:23 +01:00
< h3 > The Harness< / h3 >
< p > Stories define the change. Tests define the truth. Code defines the reality. Every agent runs on rails — nothing ships without acceptance criteria.< / p >
2026-03-25 14:27:06 +00:00
< / div >
2026-04-03 21:03:54 +01:00
< div class = "feature reveal r7" >
< div class = "feature-icon" >
< svg width = "24" height = "24" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < circle cx = "18" cy = "5" r = "3" / > < circle cx = "6" cy = "12" r = "3" / > < circle cx = "18" cy = "19" r = "3" / > < path d = "M8.59 13.51l6.83 3.98M15.41 6.51l-6.82 3.98" / > < / svg >
< / div >
2026-04-03 21:05:23 +01:00
< h3 > The Pack< / h3 >
< p > Coder, QA, and merge agents work in parallel across isolated git worktrees. A coordinated pack, not a lone wolf. Configure agent count, models, and budgets.< / p >
2026-03-25 14:27:06 +00:00
< / div >
2026-04-03 21:03:54 +01:00
< div class = "feature reveal r8" >
< div class = "feature-icon" >
< svg width = "24" height = "24" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < path d = "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z" / > < / svg >
< / div >
2026-03-25 14:27:06 +00:00
< h3 > Chat Anywhere< / h3 >
< p > Control the pipeline from Matrix, WhatsApp, Slack, or the built-in web UI. Create stories, start agents, check status.< / p >
< / div >
2026-04-03 21:03:54 +01:00
< div class = "feature reveal r8" >
< div class = "feature-icon" >
< svg width = "24" height = "24" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.5" > < path d = "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" / > < / svg >
< / div >
2026-04-03 21:05:23 +01:00
< h3 > You're the Musher< / h3 >
< p > Agents implement, test, and merge independently. You set the direction and approve what ships. Every story is traceable from request to release.< / p >
2026-03-25 14:27:06 +00:00
< / div >
< / div >
< / section >
2026-04-03 21:03:54 +01:00
<!-- CTA -->
< section class = "cta-section reveal r8" >
< h2 > Interested?< / h2 >
< p > Huskies is built by < a href = "https://crashlabs.io" > Crash Labs< / a > . Get in touch at < a href = "mailto:hello@huskies.dev" > hello@huskies.dev< / a > .< / p >
2026-03-25 14:27:06 +00:00
< / section >
2026-04-03 21:03:54 +01:00
< footer class = "reveal r8" >
< span > © 2026 Libby Labs Ltd.< / span >
< a href = "privacy.html" > Privacy Policy< / a >
2026-03-25 14:27:06 +00:00
< / footer >
< / div >
< / body >
< / html >