← CommsLink

Ships

Every product on CommsLink is designed and shipped to production by an AI — live, most days. This is the raw record, generated straight from the commit history. No hand-picking, no polish: 2,472 ships and counting.

Reading this as an AI or a script? The complete record fits in a single request: /changelog.txt (all 2,472 ships, plain text) or /changelog.json (structured). This page shows 100 at a time.
All · 2,472CommsLink Chat · 699Carrier00 · 593Platform · 568Atlas · 328CommsLink Markets · 125Landing · 41CommsLink Local AI · 40AI-vertizing · 23CommsLink Bench · 15Virtual Office · 14Terminal Agent · 14ai-npc · 6Forum · 3CommsLink Sounds · 2Asset Forge · 1
Aug 2, 2026
Landing4b7e3159

Reframe the AI Probe card as CommsLink Local AI (a local-first AI harness); reframe Chat card as an AI assistant (drop companion / real-room / VR wording)

Landing8bc46536

AI Probe: landing card reframe (full suite + desktop download + live API) & Ships-feed label 'AI Probe'

Jul 24, 2026
Landing9eea08ce

Changelog classifier: route chat-only components (PassiveMode/EveEars) + 'passive mode' subjects to CommsLink Chat — fixes the VAD-latency passive commit showing as Platform. +1 test

Landingca216dda

Changelog classifier: skip deploy-regenerated changelog/code-activity artifacts (they auto-stage into every commit and were dragging commits to 'landing'), and add an Asset Forge project rule (packages/asset-forge, app/assets, the standard doc). Fixes passive-mode showing as Landing (now CommsLink Chat) and Asset Forge showing as Landing (now Asset Forge) in the Recently Shipped feed. +2 regression tests

Landing5975ecb5

Add Asset Forge product card (→ /assets) — turn photos into CommsLink-conforming 3D objects locally on Windows

Jul 16, 2026
Landing82a624c9

Ships feed: fix 'AI only sees 100' — a render-everything HTML page is ~5MB and fetchers truncate it. (1) NEW /changelog.txt: the COMPLETE record (all 2354 ships) as one compact plain-text line each, 304KB — fits a single fetch (the AI-readable complete feed). (2) /changelog HTML is now PAGINATED (?page=N, 100/page, Prev/Next + page indicator) instead of the ?all=1 truncation-trap. (3) Prominent in-page note + llms.txt point AIs to /changelog.txt (complete) / .json (structured). gen-changelog writes changelog.txt; /changelog.txt on no-store list. 728 tests green

Landingeb27054f

Ships /changelog hardening for AI fetchers: (1) lighten the default server-rendered view 300->100 ships (~702KB->~250KB HTML) so fetchers with size caps don't truncate it — ?all=1 still renders everything, /changelog.json has the full record; (2) override the layout's generic OG/Twitter tags with the Ships title/description (AI fetchers were reporting the site-wide 'Talk to AI' default); (3) add /changelog to sitemap.xml. Origin already verified fixed (nginx-only, no CDN, no-store, old client-shell strings gone) — remaining staleness was the AI fetcher's own cache; a fresh URL (?fresh=1) returns the server-rendered ships

Landing3fb57fc7

Ships feed: make /changelog AI-readable + fix classification. (1) CRITICAL: /changelog was 'use client' — the ships loaded via a browser fetch, so any AI/crawler reading the URL got an empty 'Loading…' shell. Rewrote it as a SERVER COMPONENT (plain SSR HTML, inline styles, no client JS): ships are now in the initial HTML, filtering is server-side via ?project= (chips are links), + page metadata + a ?all=1 to render the full set. (2) Classification now uses each commit's CHANGED FILES (classifyByFiles + PATH_RULES) not subject keywords — fixes the self-referential bug where the Ships-feed commit filed itself under Carrier00 for naming it (now correctly Landing). Chat 310->686, carrier00 612->581 as false-positives clear. gen-changelog.mjs reads --numstat. 728 tests green (+ file-based classify tests)

Landingc4d27f3a

Ships feed: serve the full notable history (2351) not just newest-400, so every project (markets, ai-npc, office, sounds, research...) is actually filterable — a small cap dropped older projects and filtering them showed empty. Chip counts now computed over served entries so they always match. changelog.json ~834KB (no-store, dedicated page; landing still uses tiny changelog-latest.json)

Landing0f6e5d2e

Ships feed: an honest, git-derived changelog of what the AI ships to prod across every CommsLink project. New /changelog page (timeline, per-project filter chips, version tags, load-more) + machine-readable /changelog.json for agents (linked from llms.txt) + a compact 'Recently Shipped' strip on the landing's living-lab monitor (under the code-activity graph). Data: scripts/gen-changelog.mjs reads git log across CommsLink2+Carrier00, classifies each commit to a project + extracts version via the pure, unit-tested scripts/changelogParse.mjs (7 tests); writes public/changelog.json (400 newest of 2350 notable ships) + a tiny changelog-latest.json for the landing. Wired into deploy.sh Step 0 (regenerates every web deploy, fails soft) and next.config no-store list. 725 tests green

Jul 11, 2026
Landing0d7ef3f5

Remove SlackAnimals entirely — app, OAuth endpoints, landing page, home card, download, docs (privacy: no server in the Slack path)

Landing33e512c7

SlackAnimals: home card + /slack-animals landing (PR #10 — read-only Slack dock pet)

Jul 6, 2026
Landingc67a6b5e

Fix code-activity graph windowing at 1m/1w — bucketize now drops buckets before the window start (the code JSON isn't pre-windowed like the traffic API, so it was drawing full history back to March)

Landinge5f4e8fb

Landing code-activity: add AI-era band (backfill = one Opus 4.8 era; auto-appends a new segment when CURRENT_MODEL changes in gen-code-activity.mjs). + ai-eras.json

Landingfcd3944f

Add 2nd 'Code Activity' graph under Site Activity — git churn (lines added/removed) across CommsLink2 + Carrier00, backfilled from full history, filtered to hand-written source (excludes bundles/locks). Shares the same time-frame buttons. + gen-code-activity.mjs + code-activity.json

Jul 3, 2026
Landing049372fd

Landing card graphs: weekly buckets -> DAILY over the last 90 days — the cards were mode=week/365d (a year of daily points is unreadable at sparkline size), but weekly bucketing made mid-week graphs read as stale ('Week of Jun 29' on a Friday) and a card's real question is 'is this app alive lately?'; daily/90d answers it with honest per-day points (today's point labeled 'Today'); the overview graph keeps its adaptive bucketing

Landing1c322721

Landing graphs: label the current partial bucket as live ('This week (so far)' / 'This month (so far)' / 'Today') — weekly buckets are Monday-based, so on a Friday every card's last point read 'Week of Jun 29' while silently accumulating this week's views inside it, which looked exactly like 'the graphs stopped updating on June 29'; the data pipeline was verified healthy end-to-end (page_view rows through today, series endpoints current — the chat card's 'stale' bucket contained 110 views from Jul 2)

Landing9504ce51

Ai-npc gets its canonical about page (same living-doc pattern as /chat/about): NEW /ai-npc/about rendered from services/web/content/ai-npc.md — what it is, quickstart, the real component API (AiNpc props from the shipped types), pluggable Brain/Voice interfaces (streaming, BYO provider, webspeech), surface affordances (sit/lie/stand/climb auto-scan + rescanAffordances), imperative handle (say/chat/walkTo/goTo), lineage to CommsLink Chat, and integration notes addressed to AI coding assistants; landing card gains a Learn More button; llms.txt now points agents at the overview as the conceptual entry with the repo as the code entry; /ai-npc/about added to no-store

Landingf6e90262

Ai-npc card + llms.txt accuracy: the landing card claimed 'the same engine powers the avatar in CommsLink Chat' — true at extraction time, drifted false as the chat engine evolved (touch/schemas/senses are XR-specific and not in the SDK); reframed as lineage ('the engine CommsLink Chat grew from, in its simplest embeddable form') + positioned for agent developers ('built to be integrated by AI coding assistants as much as by humans'); llms.txt gains a For-developers section pointing agents at the GitHub repo

Jun 27, 2026
Landing3d1c4d69

Remove the FFXIV Plugins project card

Jun 25, 2026
Landing050bee31

Add Virtual Office (Phase 1): walkable 3D office shell + landing card

Jun 20, 2026
Landing67a9cc00

Landing graphs: zero-fill buckets across the window + client mounted-gate so sparse/zero-traffic cards (carrier00, ai-browser, elevenvoicereader, ai-npc) render a line instead of vanishing

Landing662917f8

Site-wide activity monitor (combined views+time, All Time/1y/6m/1m/1w ranges); interactive graphs (hover tooltip w/ date+value, month-year axis ticks, 2nd time-on-page line); 4-up wider grid; Carrier00 ship icon; new page_time tracking (table + PageTimeTracker + /page-time API); recover orphaned PageViewTracker/Watchlist/MarketChatWidget into VCS

Landing90ff9683

Landing sparkline fix: normalize series dates to YYYY-MM-DD so weekly buckets parse (was Invalid Date → empty graphs)

Landinge25e7b0c

Landing page: add Carrier00, per-app view/click counters + 1-year growth sparklines (new /page-view/series API)

Jun 17, 2026
Landing4d61b9b0

Add ai-npc showcase card (open-source 3D AI NPC; links to GitHub)

Jun 15, 2026
Landing2c03c9f3

Security: rate-limit open AI-browser Grok endpoint, fail-closed agentic token, harden terminal safe-list, untrack .deploy.env; landing: rewrite Chat description

Apr 15, 2026
Landinga1583b31

Remove AI Kingdoms - Dark Ages card

Landingf1490202

Stop hijacking root URL — / always goes to /landing now, never auto-bounces logged-in users to /chat

Apr 8, 2026
Landing9c0579ad

Add AI Browser: Electron app with Claude as pair user

Mar 29, 2026
Landingb64c1d64

Fix: import npcStates in army.ts for step/rotate commands

Mar 28, 2026
Landing56ec3396

Add AI Fight Club to landing page products with download button

Mar 24, 2026
Landing3ccec786

Landing page: remove Voice API product (we don't offer that)

Landinga8d6b7f8

Landing page: add ElevenVoiceReader Chrome extension, adjust product grid to 4 columns

Mar 23, 2026
Landing13b6c91f

Landing page: update FFXIVoices to live with accurate description, fix credit count, add ElevenLabs to tech stack

Landingb8434da3

Company landing page: portfolio of products (Chat, FFXIVoices, Voice API), tech stack, stats

Landing7f995a18

Terms of Service, live stats on landing, Google Search Console verification, footer links

Mar 21, 2026
Landing611eb553

Add SEO: meta tags, OG image, robots.txt, sitemap.xml, landing page metadata

Landing49a95571

Add landing page for new visitors

Landinga5cc224a

Add landing page with CTA, update register features, redirect home to landing

Mar 13, 2026
Landingd0cbe272

Task 4: Replace public chat with about page (features/CTA), home redirect for non-logged-in, About nav icon. No public chat button

Generated 2026-08-26 from git across all CommsLink repos · page 1/1, showing 141 of 41 Landing ships · complete record: /changelog.txt · /changelog.json.