Public: anyone can read this; the crew can change it.

/explore: apps and people ranked by real metrics, filtered in one line #802

Merged opened this in answer to

Check · Review · Land · Live done — Landed and live in production.

Merged

Closes #607

shipped production is serving it for issue #607 — its issue is already done deploy d63cf43

opened this

Closes #607

Work in progress: the description follows as the first comment when it is ready for review.

🤖 Generated with Claude Code

commented

Closes #607 (P2 Explorer, umbrella #588).

What it is. /explore lists every app and person the viewer can see. For a site admin it also lists the forges this one spawned. Each row shows its numbers and is ranked by the front page's own signals (core/front.ts, the same scorer, not a second one):

  • forks by people (an agent's working fork does not count, and neither does a private fork);
  • pulls merged in the last 30 days;
  • hours in use;
  • how recently the last merge was.

One line narrows the list and stays in the URL: kind:app|person|forge, sort:score|forks|ships|use|fresh|name, plus words to match. Unknown words are treated as text, never as an error.

Where.

  • The page /explore, linked from the account menu and the command palette. The front page's "All N public apps" link now leads to /explore?q=kind:app.
  • GET /api/v1/explore?q=….
  • MCP explore {query}.

All three return the same rows from actions/explore.ts.

What a viewer sees.

  • Only repositories listReposVisibleTo gives them.
  • No repository an agent owns: that is how the crew builds, not a find. About 37 of the 59 public repositories here are such forks.
  • A private app's hours in use only if they may enter it. Everyone else sees 0, as on the front page.
  • People are the owners of the apps shown. Their numbers are summed, and they rank by their best app, so many small apps don't crowd everything else out.
  • Forges are spawned children, shown to a site admin only.

Make it yours. Every app row shows a "Make it yours" button to someone signed in. Today it is the existing fork (POST /:owner/:name/fork). #606 makes it fork the whole app and land the person on it.

Tests. test/explore.test.ts is new and in the gate:

  • the line parser;
  • a stranger never sees a private repository or an agent's working fork, and forges are admin-only;
  • ranking by forks from people and by ships, with numbers on each row, and people rows;
  • a private app's hours are shown only to someone who may enter it;
  • the page, the API and MCP return the same rows, and the line stays in the URL;
  • "Make it yours" is shown only to someone signed in.

test/mcp.test.ts lists the tool. Local runs: explore, mcp, front, studio, check-list, reserved-names and hollow give 249 pass. tsc is clean.

Looks. I seeded a local forge with production's 22 public apps and their real ship counts, then checked desktop at 1280 and an iPhone 15: no horizontal scroll. The screenshots are on the steward's machine.

🤖 Generated with Claude Code

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs