# /browse — the project index Every project, of every kind, in one list. **Zero client JavaScript**: the filters are links that change `searchParams`, and `?q=` is a plain GET form. Nothing here hydrates, and `pnpm build` still reports the page as server-rendered. ## The four filters | filter | param | values | |---|---|---| | kind / template | `?kind=`, `?template=` | registry ids | | state | `?state=` | `draft` `windows` `fetched` `built` `shipped` `stale` | | open decisions | `?open=blocking` \| `?open=1` | from the decision counts | | text / recency | `?q=`, `?sort=name\|recent` | substring over the haystack | **Counts come from the unfiltered set.** A chip whose number changes when you click a different chip moves under the cursor, and the whole point of a filter row is to say how much is behind each one. An e2e spec asserts the chip's number equals the number of cards rendered. `?q=` is a `