Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion site/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<meta property="og:image" content="https://looper.dancingteeth.net/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://looper.dancingteeth.net/og.png">
<link rel="stylesheet" href="/styles.css?v=20260830-navkofi">
<link rel="stylesheet" href="/styles.css?v=20260904-faqtype">
</head>
<body>
<header class="site-header">
Expand Down
2 changes: 1 addition & 1 deletion site/about/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<meta property="og:image" content="https://looper.dancingteeth.net/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://looper.dancingteeth.net/og.png">
<link rel="stylesheet" href="../styles.css?v=20260830-navkofi">
<link rel="stylesheet" href="../styles.css?v=20260904-faqtype">
</head>
<body>
<header class="site-header">
Expand Down
2 changes: 1 addition & 1 deletion site/contact/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<meta property="og:image" content="https://looper.dancingteeth.net/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://looper.dancingteeth.net/og.png">
<link rel="stylesheet" href="../styles.css?v=20260830-navkofi">
<link rel="stylesheet" href="../styles.css?v=20260904-faqtype">
</head>
<body>
<header class="site-header">
Expand Down
2 changes: 1 addition & 1 deletion site/docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<meta property="og:image" content="https://looper.dancingteeth.net/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://looper.dancingteeth.net/og.png">
<link rel="stylesheet" href="../styles.css?v=20260830-navkofi">
<link rel="stylesheet" href="../styles.css?v=20260904-faqtype">
</head>
<body>
<header class="site-header">
Expand Down
2 changes: 1 addition & 1 deletion site/harnesses/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<meta property="og:image" content="https://looper.dancingteeth.net/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://looper.dancingteeth.net/og.png">
<link rel="stylesheet" href="../styles.css?v=20260830-navkofi">
<link rel="stylesheet" href="../styles.css?v=20260904-faqtype">
</head>
<body>
<header class="site-header">
Expand Down
14 changes: 7 additions & 7 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@
]
}
</script>
<link rel="stylesheet" href="styles.css?v=20260830-navkofi">
<link rel="stylesheet" href="styles.css?v=20260904-faqtype">
</head>
<body>
<header class="site-header">
Expand Down Expand Up @@ -370,12 +370,12 @@ <h2>What do I get when a loop finishes?</h2>
</article>
<article class="tui-answer tui-answer--prompt">
<h2>How do I start a loop from an idea?</h2>
<p>Two paths:</p>
<ol>
<li><strong>If you see your coding agent's logo on this page</strong> — type your idea as a normal prompt, and ask it to implement the feature <strong>with Agent Looper</strong>. It sets up the loop and keeps grinding until the check is green.</li>
<li><strong>If you like the terminal</strong> — set worker and judge with <code>pnpm exec agent-loop-setup</code>, then use <code>pnpm exec agent-loop-prompt</code> to type your idea and start the run.</li>
</ol>
<p>The check stays the finish line.</p>
<p>
<strong>If you see your coding agent's logo on this page</strong> — type your idea as a normal prompt, and ask it to implement the feature <strong>with Agent Looper</strong>. It sets up the loop and keeps grinding until the check is green.
</p>
<p>
<strong>If you like the terminal</strong> — set worker and judge with <code>pnpm exec agent-loop-setup</code>, then use <code>pnpm exec agent-loop-prompt</code> to type your idea and start the run. The check stays the finish line.
</p>
</article>
<article class="tui-answer tui-answer--spend">
<h2>What do the spend numbers mean?</h2>
Expand Down
2 changes: 1 addition & 1 deletion site/privacy/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<meta property="og:image" content="https://looper.dancingteeth.net/og.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://looper.dancingteeth.net/og.png">
<link rel="stylesheet" href="../styles.css?v=20260830-navkofi">
<link rel="stylesheet" href="../styles.css?v=20260904-faqtype">
</head>
<body>
<header class="site-header">
Expand Down
30 changes: 30 additions & 0 deletions site/styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,7 @@ a.harness-logo:hover {
border-left: 2px solid var(--terracotta);
padding-left: 1.25rem;
max-width: 42rem;
font-family: var(--font-sans);
}

.tui-answer--presets { border-left-color: var(--tan); }
Expand All @@ -646,6 +647,8 @@ a.harness-logo:hover {
.tui-answer--reverse { border-left-color: var(--terracotta); }
.tui-answer--alive { border-left-color: var(--verify); }
.tui-answer--report { border-left-color: var(--tan); }
.tui-answer--prompt { border-left-color: var(--terracotta); }
.tui-answer--spend { border-left-color: var(--ghost); }

.tui-answer h2 {
font-size: 1.05rem;
Expand All @@ -661,6 +664,33 @@ a.harness-logo:hover {
color: var(--muted);
font-size: 0.95rem;
line-height: 1.65;
font-family: inherit;
}

.tui-answer p + p {
margin-top: 0.75rem;
}

.tui-answer ol,
.tui-answer ul {
margin: 0;
padding-left: 1.25rem;
color: var(--muted);
font-size: 0.95rem;
line-height: 1.65;
font-family: inherit;
}

.tui-answer li {
margin: 0.35rem 0 0;
color: inherit;
font-size: inherit;
line-height: inherit;
font-family: inherit;
}

.tui-answer li:first-child {
margin-top: 0;
}

@media (min-width: 960px) {
Expand Down
12 changes: 12 additions & 0 deletions src/site/landingAgentReadiness.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -372,10 +372,22 @@ describe('landing agent readiness', () => {
expect(surface).toContain(agentPathBeat)
expect(surface).toContain(setupBeat)
expect(surface).toContain(promptBeat)
expect(surface).toContain('The check stays the finish line')
expect(surface).not.toMatch(/\bInk\b/i)
expect(surface).not.toMatch(/\bDoppler\b/i)
expect(surface).not.toMatch(/freeze lint/i)
expect(surface).not.toMatch(/gameable greps/i)
expect(surface).not.toMatch(/judge \(not the worker\)/i)
}

const promptCard =
html.match(
/<article class="tui-answer tui-answer--prompt">[\s\S]*?<\/article>/,
)?.[0] ?? ''
expect(promptCard).not.toContain('<ol>')
expect(promptCard).not.toContain('<ul>')
expect(promptCard).toMatch(/<p>[\s\S]*<\/p>\s*<p>/)

expect(spendQuestion?.acceptedAnswer?.text).toContain('billed')
expect(spendQuestion?.acceptedAnswer?.text).toContain('not free')

Expand Down
Loading