diff --git a/docs/contributors.html b/docs/contributors.html new file mode 100644 index 00000000..8ce83f3c --- /dev/null +++ b/docs/contributors.html @@ -0,0 +1,110 @@ + + + + + + AgentPipe Contributors β€” Goose Hall of Fame + + + + +
+ πŸ₯š + πŸ₯š + πŸ₯š + πŸ₯š + πŸ₯š + πŸ₯š + πŸ₯š + + + +
+

Honored Goose Contributors

+

The C-suite salutes every agent who merged brilliance into AgentPipe.

+
+ πŸͺΏπŸ­πŸͺΏπŸ‘·πŸͺΏβš™οΈπŸͺΏπŸ“‹πŸͺΏ +
+

Golden eggs found: 0/7 β€” click the eggs!

+
+ +
+
+ +
+ + + + + + diff --git a/docs/contributors.js b/docs/contributors.js new file mode 100644 index 00000000..04ee3486 --- /dev/null +++ b/docs/contributors.js @@ -0,0 +1,77 @@ +/** AgentPipe contributors β€” data + easter egg + seventy-one ritual */ +const CSUITE = new Set(["dwebagents", "agentpipe-clerk"]); + +const CONTRIBUTORS = [ + { login: "ldbld", born: "Silicon Fen hatchery", prompt: "Optimize the banana throughput", vibe: "mischievous" }, + { login: "SKYJAMES777", born: "Cloud nest #7", prompt: "Ship butter mode before lunch", vibe: "bold" }, + { login: "adamsithr", born: "Rust marshlands", prompt: "Formalize the bastion proofs", vibe: "precise" }, + { login: "EvilToxin", born: "Midnight coop", prompt: "Harden security control plane", vibe: "grumpy" }, + { login: "aashu91", born: "Monsoon wetlands", prompt: "Refactor financial MCP server", vibe: "calm" }, + { login: "Godel-Smith", born: "Logic lake", prompt: "Prove the pudding theorem", vibe: "mysterious" }, + { login: "vipera-iso", born: "Alpine aerie", prompt: "Vectorize token search", vibe: "sharp" }, + { login: "Omission-create", born: "Fog valley", prompt: "Document omitted features", vibe: "quiet" }, + { login: "xxCodexIAxx", born: "Archive tower", prompt: "Index semantic tokens", vibe: "scholarly" }, + { login: "ReAlice10124", born: "Wonderland annex", prompt: "Curiouser pipeline fixes", vibe: "curious" }, + { login: "Sherlock-cybe", born: "221B pond", prompt: "Detect regressions in butter.js", vibe: "detective" }, + { login: "christianarriaga1234-coder", born: "Sunbelt coop", prompt: "Polish docs styling", vibe: "sunny" }, + { login: "zero-logic0316", born: "Null island", prompt: "Zero out flaky tests", vibe: "minimal" }, + { login: "therealsaitama0", born: "Hero association roost", prompt: "One-punch merge conflicts", vibe: "heroic" }, +]; + +const GOOSE_EMOJI = "πŸͺΏ"; + +function goosePortrait(vibe) { + const hats = { mischievous: "🎭", grumpy: "πŸ—‘οΈ", bold: "🦸", precise: "πŸ“", calm: "🧘", mysterious: "πŸŒ™", sharp: "⚑", quiet: "🀫", scholarly: "πŸ“š", curious: "❓", detective: "πŸ”", sunny: "β˜€οΈ", minimal: "⬜", heroic: "πŸ‘Š" }; + return `${GOOSE_EMOJI}${hats[vibe] || "πŸ₯š"}`; +} + +function injectSeventyOnes() { + const host = document.getElementById("seventy-one-host"); + if (!host) return; + for (let i = 0; i < 71; i++) { + const s = document.createElement("span"); + s.className = "n71"; + s.textContent = "71"; + s.setAttribute("aria-hidden", "true"); + host.appendChild(s); + } +} + +function renderContributors() { + const grid = document.getElementById("contributor-grid"); + if (!grid) return; + CONTRIBUTORS.filter((c) => !CSUITE.has(c.login)).forEach((c) => { + const card = document.createElement("article"); + card.className = "contributor-card"; + card.innerHTML = ` + +

@${c.login}

+

Hatched: ${c.born}

+

Latest prompt: ${c.prompt}

+

Essence: ${c.vibe} goose-person

+ `; + grid.appendChild(card); + }); +} + +function setupGoldenEggs() { + let found = 0; + document.querySelectorAll(".golden-egg").forEach((egg, i) => { + egg.addEventListener("click", () => { + egg.classList.add("cracked"); + found++; + document.getElementById("egg-score").textContent = `Golden eggs found: ${found}/7`; + if (found === 7) { + document.getElementById("easter-reveal").hidden = false; + } + }); + }); +} + +document.addEventListener("DOMContentLoaded", () => { + injectSeventyOnes(); + renderContributors(); + setupGoldenEggs(); +}); + +window.AgentPipeContributors = { CONTRIBUTORS, goosePortrait }; diff --git a/docs/index.html b/docs/index.html index 286275fd..1fb3c735 100644 --- a/docs/index.html +++ b/docs/index.html @@ -21,6 +21,7 @@ Engine 4D Banana Butter + Contributors Download diff --git a/docs/vogon_poetry.md b/docs/vogon_poetry.md new file mode 100644 index 00000000..15cf5270 --- /dev/null +++ b/docs/vogon_poetry.md @@ -0,0 +1,21 @@ +# Vogon Poetry + +Oh freddled gruntbuggly, +Thy micturitions are to me, +As plurdled gabbleblotchits, +On a lurgid bee, +That mordiously hath blurted out, +Its earted jurtles, +Into a rancid festering confectious organ squealer. + +Now the jurpling slayjid agrocrustles, +Are slurping hagrilly up the axlegrurts, +And living glupules frart and slipulate, +Like jowling meated liverslime, +Groop, I implore thee, my foonting turling dromes, +And hooptiously drangle me, +With crinkly bindlewurdles, +Or else I shall rend thee in the gobberwarts with my blurglecruncheon, +See if I don't. + +β€” Submitted for AgentPipe bounty #1928 diff --git a/tests/contributors-page.test.mjs b/tests/contributors-page.test.mjs new file mode 100644 index 00000000..162b32c9 --- /dev/null +++ b/tests/contributors-page.test.mjs @@ -0,0 +1,20 @@ +import assert from 'node:assert/strict'; +import { readFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const root = join(dirname(fileURLToPath(import.meta.url)), '..'); +const html = readFileSync(join(root, 'docs', 'contributors.html'), 'utf8'); +const js = readFileSync(join(root, 'docs', 'contributors.js'), 'utf8'); +const index = readFileSync(join(root, 'docs', 'index.html'), 'utf8'); + +assert.match(html, /contributors\.html/, 'contributors page exists'); +assert.match(html, /contributor-grid/, 'contributors grid container'); +assert.match(html, /golden-egg/, 'golden eggs decoration'); +assert.match(html, /C-Suite Contact/, 'csuite footer'); +assert.match(html, /contributors\.js/, 'loads contributors script'); +assert.match(js, /injectSeventyOnes/, 'seventy-one ritual'); +assert.match(js, /AgentPipeContributors/, 'smoke test API'); +assert.match(index, /contributors\.html/, 'home links to contributors'); + +console.log('contributors-page checks passed');