TypeScript repositories reading strong

Every public repository surveyed, browsable and searchable. Including the unflattering ones — a tool that only published good results would be a badge vending machine, not a diligence instrument.

All bands Strong Adequate 104 surveyed
Sort Relevance Newest Stars Lines of code Files History Findings Worst band
RepositoryLanguageSizeStarsReadBand
storybookjs/storybook 4 strong TypeScript 941,415 lines 91,438 2026-11-03 strong
adguardteam/adguardhome 1 adequate · 3 strong TypeScript 300,932 lines 38,092 2026-11-03 strong
nanocoai/nanoclaw 1 adequate · 4 strong TypeScript 240,352 lines 31,076 2026-11-03 strong
vitejs/vite 2 adequate · 3 strong TypeScript 142,704 lines 83,055 2026-10-25 strong
nestjs/nest 1 adequate · 3 strong TypeScript 177,709 lines 76,747 2026-10-25 strong
strapi/strapi 1 adequate · 3 strong TypeScript 795,216 lines 73,240 2026-10-25 strong
openhands/openhands 2 adequate · 3 strong TypeScript 469,413 lines 91,653 2026-10-23 strong
nextai-translator/nextai-translator 1 adequate · 3 strong TypeScript 66,610 lines 25,019 2026-11-03 strong
egonex-ai/understand-anything 4 strong TypeScript 126,416 lines 87,881 2026-10-23 strong
withastro/astro 2 adequate · 3 strong TypeScript 338,410 lines 63,745 2026-10-25 strong
heyputer/puter 1 adequate · 4 strong TypeScript 762,175 lines 43,960 2026-10-28 strong
toeverything/affine 2 adequate · 3 strong TypeScript 1,158,373 lines 73,777 2026-10-23 strong
heygen-com/hyperframes 2 adequate · 3 strong TypeScript 1,596,271 lines 70,605 2026-10-23 strong
foundry376/mailspring 4 strong TypeScript 391,468 lines 17,992 2026-11-03 strong
calcom/cal.com 2 adequate · 3 strong TypeScript 771,503 lines 48,648 2026-10-25 strong
payloadcms/payload 2 adequate · 3 strong TypeScript 992,903 lines 45,678 2026-10-25 strong
caprover/caprover 2 adequate · 3 strong TypeScript 30,923 lines 15,197 2026-11-03 strong
botpress/botpress 2 adequate · 3 strong TypeScript 320,899 lines 14,975 2026-11-03 strong
browseros-ai/browseros 2 adequate · 3 strong TypeScript 538,005 lines 14,235 2026-11-03 strong
novuhq/novu 2 adequate · 3 strong TypeScript 1,128,292 lines 40,086 2026-10-25 strong
trpc/trpc 4 strong TypeScript 180,519 lines 40,667 2026-10-25 strong
outline/outline 2 adequate · 3 strong TypeScript 417,213 lines 40,701 2026-10-25 strong
prisma/orm 1 adequate · 4 strong TypeScript 1,661,335 lines 47,664 2026-10-23 strong
apify/crawlee 2 adequate · 3 strong TypeScript 181,805 lines 26,278 2026-10-28 strong
grapesjs/grapesjs 4 strong TypeScript 110,620 lines 26,348 2026-10-28 strong
reactive-resume/reactive-resume 2 adequate · 3 strong TypeScript 479,667 lines 44,763 2026-10-23 strong
react-hook-form/react-hook-form 1 adequate · 3 strong TypeScript 100,595 lines 44,878 2026-10-23 strong
langfuse/langfuse 2 adequate · 3 strong TypeScript 1,270,259 lines 35,231 2026-10-25 strong
gristlabs/grist-core 2 adequate · 3 strong TypeScript 561,872 lines 12,043 2026-11-03 strong
rocketchat/rocket.chat 2 adequate · 3 strong TypeScript 1,267,556 lines 46,294 2026-10-22 strong

What a band means. A band sums up one reading of one commit: strong, adequate or significant findings. Here it counts the project's code, process, product, security and operations. A report reads more than that, so its band can differ from its row.

How listing works. Every public repository surveyed is listed — assessing public work is commentary on public work, and a library that hid the small ones would be quietly editorialising about which code counts. Private repositories are never listed. Anyone who proves control of a repo can attach a response to a finding, request a re-run, or delist it. Delisting is immediate and no-questions. An owner's response is removed only when it is unlawful, impersonates someone, publishes personal data or a credential, or is not about the finding. Disagreeing with the report is never a reason. To report a response, or to reach us about one, write to takedown@borehole.dev. There is no org-level score. Repositories are listed one by one, and sorting by band orders them by their own readings. Takedown: one email, 48 hours.