Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
16 of your 112 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 20.47s · analysis 23.85s · 23.0 MB · GitHub preflight 436ms

bluesky-social/atproto-website

https://github.com/bluesky-social/atproto-website · scanned 2026-06-05 19:34 UTC (4 days, 16 hours ago) · 10 languages

145 raw signals (103 security + 42 graph) 7th percentile · Typescript · small (2-20K LoC) System graph score 90 (lower by 43)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 4 days, 16 hours ago · v2 · 94 actionable findings from 2 signal sources. 30 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 85.0 0.15 12.75
security_score 40.5 0.25 10.12
testing_score 0.0 0.20 0.00
documentation_score 59.7 0.15 8.96
practices_score 57.0 0.15 8.55
code_quality 70.3 0.10 7.03
Overall 1.00 47.4
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all

All 1059 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.

LabelLayerStatusPath
useMDXComponents software healthy mdx-components.tsx:useMDXComponents
search software healthy types.d.ts:search
typographyStyles software healthy typography.ts:typographyStyles
pluralize software healthy public/bsky-conversation.js:pluralize
intword software healthy public/bsky-conversation.js:intword
oxfordComma software healthy public/bsky-conversation.js:oxfordComma
toAtUri software healthy public/bsky-conversation.js:toAtUri
profileUrl software healthy public/bsky-conversation.js:profileUrl
postUrl software healthy public/bsky-conversation.js:postUrl
formatDate software healthy public/bsky-conversation.js:formatDate
renderAuthor software healthy public/bsky-conversation.js:renderAuthor
renderFooter software healthy public/bsky-conversation.js:renderFooter
renderReply software healthy public/bsky-conversation.js:renderReply
nested software healthy public/bsky-conversation.js:nested
renderQuote software healthy public/bsky-conversation.js:renderQuote
renderTemplate software healthy public/bsky-conversation.js:renderTemplate
shuffle software healthy public/bsky-conversation.js:shuffle
formatRepostedBy software healthy public/bsky-conversation.js:formatRepostedBy
renderHeader software healthy public/bsky-conversation.js:renderHeader
escapeHtml software healthy public/bsky-conversation.js:escapeHtml
renderText software healthy public/bsky-conversation.js:renderText
sorted software healthy public/bsky-conversation.js:sorted
fetchJson software healthy public/bsky-conversation.js:fetchJson
directReplies software healthy public/bsky-conversation.js:directReplies
isDetached software healthy public/bsky-conversation.js:isDetached
quotes software healthy public/bsky-conversation.js:quotes
middleware software healthy src/middleware.js:middleware
defineLiteYouTube software healthy src/components/YouTubeEmbed.tsx:defineLiteYouTube
YouTubeEmbed software healthy src/components/YouTubeEmbed.tsx:YouTubeEmbed
MenuIcon software healthy src/components/MobileNavigation.tsx:MenuIcon
XIcon software healthy src/components/MobileNavigation.tsx:XIcon
MobileNavigationDialog software healthy src/components/MobileNavigation.tsx:MobileNavigationDialog
onClickDialog software healthy src/components/MobileNavigation.tsx:onClickDialog
useIsInsideMobileNavigation software healthy src/components/MobileNavigation.tsx:useIsInsideMobileNaviga…
MobileNavigation software healthy src/components/MobileNavigation.tsx:MobileNavigation
IconContainer software healthy src/components/IconContainer.tsx:IconContainer
AtprotoDocumentLink software healthy src/components/AtprotoDocumentLink.tsx:AtprotoDocumentLink
appLinks software healthy src/components/SubscribeMenu.tsx:appLinks
SubscribeMenu software healthy src/components/SubscribeMenu.tsx:SubscribeMenu
copyFeed software healthy src/components/SubscribeMenu.tsx:copyFeed
SubscribeMenuLink software healthy src/components/SubscribeMenu.tsx:SubscribeMenuLink
Page software healthy src/components/Page.tsx:Page
EpisodePage software healthy src/components/EpisodePage.tsx:EpisodePage
SpecIcon software healthy src/components/Specs.tsx:SpecIcon
SpecPattern software healthy src/components/Specs.tsx:SpecPattern
Spec software healthy src/components/Specs.tsx:Spec
onMouseMove software healthy src/components/Specs.tsx:onMouseMove
Specs software healthy src/components/Specs.tsx:Specs
BentoGrid software healthy src/components/Bento.tsx:BentoGrid
BentoBox software healthy src/components/Bento.tsx:BentoBox

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
prettier.config.js software warning prettier.config.js
lexicons.json software healthy lexicons.json
README.md software healthy README.md
tailwind.config.ts software warning tailwind.config.ts
i18nConfig.js software warning i18nConfig.js
mdx-components.tsx software healthy mdx-components.tsx
package.json software healthy package.json
next-env.d.ts software warning next-env.d.ts
types.d.ts software healthy types.d.ts
package-lock.json software healthy package-lock.json
.env.example software healthy .env.example
.eslintrc.json software healthy .eslintrc.json
Makefile software healthy Makefile
typography.ts software healthy typography.ts
tsconfig.json software healthy tsconfig.json
postcss.config.js software warning postcss.config.js
crowdin.yml software healthy crowdin.yml
2026-05-07-off-protocol-podcast-plan.md software healthy docs/superpowers/plans/2026-05-07-off-protocol-podcast-plan…
2026-05-07-off-protocol-podcast-execution-notes.md software healthy docs/superpowers/plans/2026-05-07-off-protocol-podcast-exec…
2026-05-07-off-protocol-podcast-design.md software healthy docs/superpowers/specs/2026-05-07-off-protocol-podcast-desi…
bsky-conversation.js software healthy public/bsky-conversation.js
middleware.js software healthy src/middleware.js
YouTubeEmbed.tsx software healthy src/components/YouTubeEmbed.tsx
MobileNavigation.tsx software healthy src/components/MobileNavigation.tsx
IconContainer.tsx software healthy src/components/IconContainer.tsx
AtprotoDocumentLink.tsx software healthy src/components/AtprotoDocumentLink.tsx
SubscribeMenu.tsx software healthy src/components/SubscribeMenu.tsx
Page.tsx software healthy src/components/Page.tsx
EpisodePage.tsx software healthy src/components/EpisodePage.tsx
Specs.tsx software healthy src/components/Specs.tsx
Bento.tsx software healthy src/components/Bento.tsx
Guides.tsx software healthy src/components/Guides.tsx
Navigation.tsx software healthy src/components/Navigation.tsx
Logo.tsx software healthy src/components/Logo.tsx
BlueskyPost.tsx software healthy src/components/BlueskyPost.tsx
EpisodeHeader.tsx software healthy src/components/EpisodeHeader.tsx
Button.tsx software healthy src/components/Button.tsx
Prose.tsx software healthy src/components/Prose.tsx
PageSectionsNavigation.tsx software healthy src/components/PageSectionsNavigation.tsx
AtprotoPublicationLink.tsx software healthy src/components/AtprotoPublicationLink.tsx
ImageCard.tsx software healthy src/components/ImageCard.tsx
ResponsiveTable.tsx software healthy src/components/ResponsiveTable.tsx
Tag.tsx software healthy src/components/Tag.tsx
SectionProvider.tsx software healthy src/components/SectionProvider.tsx
Code.tsx software healthy src/components/Code.tsx
CTAButton.tsx software healthy src/components/CTAButton.tsx
PageHeader.tsx software healthy src/components/PageHeader.tsx
Feedback.tsx software healthy src/components/Feedback.tsx
Container.tsx software healthy src/components/Container.tsx
SubpageLinks.tsx software healthy src/components/SubpageLinks.tsx

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
docs software healthy docs
superpowers software healthy docs/superpowers
plans software healthy docs/superpowers/plans
specs software healthy docs/superpowers/specs
public software healthy public
src software healthy src
components software healthy src/components
home software healthy src/components/home
icons software healthy src/components/icons
outline software healthy src/components/icons/outline
app software healthy src/app
feed.json software healthy src/app/feed.json
feed.xml software healthy src/app/feed.xml
off-protocol software healthy src/app/off-protocol
rss.xml software healthy src/app/off-protocol/rss.xml
[locale] software healthy src/app/[locale]
blog software healthy src/app/[locale]/blog
atmospheric-website software healthy src/app/[locale]/blog/atmospheric-website
block-implementation software healthy src/app/[locale]/blog/block-implementation
atproto-grants-recipients software healthy src/app/[locale]/blog/atproto-grants-recipients
oauth-improvements software healthy src/app/[locale]/blog/oauth-improvements
federation-sandbox software healthy src/app/[locale]/blog/federation-sandbox
bgs-and-did-doc software healthy src/app/[locale]/blog/bgs-and-did-doc
network-account-management software healthy src/app/[locale]/blog/network-account-management
2024-protocol-roadmap software healthy src/app/[locale]/blog/2024-protocol-roadmap
protocol-check-in-fall-2025 software healthy src/app/[locale]/blog/protocol-check-in-fall-2025
oauth-atproto software healthy src/app/[locale]/blog/oauth-atproto
taking-at-to-the-ietf software healthy src/app/[locale]/blog/taking-at-to-the-ietf
relay-rollout software healthy src/app/[locale]/blog/relay-rollout
new-site-2026 software healthy src/app/[locale]/blog/new-site-2026
protocol-roadmap software healthy src/app/[locale]/blog/protocol-roadmap
building-on-atproto software healthy src/app/[locale]/blog/building-on-atproto
kicking-off-the-atp-working-group software healthy src/app/[locale]/blog/kicking-off-the-atp-working-group
call-for-developers software healthy src/app/[locale]/blog/call-for-developers
looking-back-2024 software healthy src/app/[locale]/blog/looking-back-2024
2026-spring-roadmap software healthy src/app/[locale]/blog/2026-spring-roadmap
repo-export software healthy src/app/[locale]/blog/repo-export
report-based-moderation software healthy src/app/[locale]/blog/report-based-moderation
self-host-federation software healthy src/app/[locale]/blog/self-host-federation
working-to-decentralize-fedcm software healthy src/app/[locale]/blog/working-to-decentralize-fedcm
label-grants software healthy src/app/[locale]/blog/label-grants
atproto-grants software healthy src/app/[locale]/blog/atproto-grants
plc-directory-org software healthy src/app/[locale]/blog/plc-directory-org
relay-updates-sync-v1-1 software healthy src/app/[locale]/blog/relay-updates-sync-v1-1
standard-site-bluesky-timeline software healthy src/app/[locale]/blog/standard-site-bluesky-timeline
serving-the-for-you-feed software healthy src/app/[locale]/blog/serving-the-for-you-feed
jetstream software healthy src/app/[locale]/blog/jetstream
plc-replicas software healthy src/app/[locale]/blog/plc-replicas
relay-ops software healthy src/app/[locale]/blog/relay-ops
2025-protocol-roadmap-spring software healthy src/app/[locale]/blog/2025-protocol-roadmap-spring

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
/[locale] frontend healthy src/app/[locale]/page.tsx
/[locale]/blog frontend healthy src/app/[locale]/blog/page.tsx
/[locale]/blog/atmospheric-website frontend healthy src/app/[locale]/blog/atmospheric-website/page.tsx
/[locale]/blog/block-implementation frontend healthy src/app/[locale]/blog/block-implementation/page.tsx
/[locale]/blog/atproto-grants-recipients frontend healthy src/app/[locale]/blog/atproto-grants-recipients/page.tsx
/[locale]/blog/oauth-improvements frontend healthy src/app/[locale]/blog/oauth-improvements/page.tsx
/[locale]/blog/federation-sandbox frontend healthy src/app/[locale]/blog/federation-sandbox/page.tsx
/[locale]/blog/bgs-and-did-doc frontend healthy src/app/[locale]/blog/bgs-and-did-doc/page.tsx
/[locale]/blog/network-account-management frontend healthy src/app/[locale]/blog/network-account-management/page.tsx
/[locale]/blog/2024-protocol-roadmap frontend healthy src/app/[locale]/blog/2024-protocol-roadmap/page.tsx
/[locale]/blog/protocol-check-in-fall-2025 frontend healthy src/app/[locale]/blog/protocol-check-in-fall-2025/page.tsx
/[locale]/blog/oauth-atproto frontend healthy src/app/[locale]/blog/oauth-atproto/page.tsx
/[locale]/blog/taking-at-to-the-ietf frontend healthy src/app/[locale]/blog/taking-at-to-the-ietf/page.tsx
/[locale]/blog/relay-rollout frontend healthy src/app/[locale]/blog/relay-rollout/page.tsx
/[locale]/blog/new-site-2026 frontend healthy src/app/[locale]/blog/new-site-2026/page.tsx
/[locale]/blog/protocol-roadmap frontend healthy src/app/[locale]/blog/protocol-roadmap/page.tsx
/[locale]/blog/building-on-atproto frontend healthy src/app/[locale]/blog/building-on-atproto/page.tsx
/[locale]/blog/kicking-off-the-atp-working-group frontend healthy src/app/[locale]/blog/kicking-off-the-atp-working-group/pag…
/[locale]/blog/call-for-developers frontend healthy src/app/[locale]/blog/call-for-developers/page.tsx
/[locale]/blog/looking-back-2024 frontend healthy src/app/[locale]/blog/looking-back-2024/page.tsx
/[locale]/blog/2026-spring-roadmap frontend healthy src/app/[locale]/blog/2026-spring-roadmap/page.tsx
/[locale]/blog/repo-export frontend healthy src/app/[locale]/blog/repo-export/page.tsx
/[locale]/blog/report-based-moderation frontend healthy src/app/[locale]/blog/report-based-moderation/page.tsx
/[locale]/blog/self-host-federation frontend healthy src/app/[locale]/blog/self-host-federation/page.tsx
/[locale]/blog/working-to-decentralize-fedcm frontend healthy src/app/[locale]/blog/working-to-decentralize-fedcm/page.tsx
/[locale]/blog/label-grants frontend healthy src/app/[locale]/blog/label-grants/page.tsx
/[locale]/blog/atproto-grants frontend healthy src/app/[locale]/blog/atproto-grants/page.tsx
/[locale]/blog/plc-directory-org frontend healthy src/app/[locale]/blog/plc-directory-org/page.tsx
/[locale]/blog/relay-updates-sync-v1-1 frontend healthy src/app/[locale]/blog/relay-updates-sync-v1-1/page.tsx
/[locale]/blog/standard-site-bluesky-timeline frontend healthy src/app/[locale]/blog/standard-site-bluesky-timeline/page.t…
/[locale]/blog/serving-the-for-you-feed frontend healthy src/app/[locale]/blog/serving-the-for-you-feed/page.tsx
/[locale]/blog/jetstream frontend healthy src/app/[locale]/blog/jetstream/page.tsx
/[locale]/blog/plc-replicas frontend healthy src/app/[locale]/blog/plc-replicas/page.tsx
/[locale]/blog/relay-ops frontend healthy src/app/[locale]/blog/relay-ops/page.tsx
/[locale]/blog/2025-protocol-roadmap-spring frontend healthy src/app/[locale]/blog/2025-protocol-roadmap-spring/page.tsx
/[locale]/blog/pinned-posts frontend healthy src/app/[locale]/blog/pinned-posts/page.tsx
/[locale]/blog/create-post frontend healthy src/app/[locale]/blog/create-post/page.tsx
/[locale]/blog/introducing-hubble-a-public-mirror-for-the-w… frontend healthy src/app/[locale]/blog/introducing-hubble-a-public-mirror-fo…
/[locale]/blog/npmx-alpha-launch frontend healthy src/app/[locale]/blog/npmx-alpha-launch/page.tsx
/[locale]/blog/repo-sync-update frontend healthy src/app/[locale]/blog/repo-sync-update/page.tsx
/[locale]/blog/introducing-tap frontend healthy src/app/[locale]/blog/introducing-tap/page.tsx
/[locale]/blog/indexing-standard-site frontend healthy src/app/[locale]/blog/indexing-standard-site/page.tsx
/[locale]/blog/ts-sdk-upgrades frontend healthy src/app/[locale]/blog/ts-sdk-upgrades/page.tsx
/[locale]/off-protocol frontend healthy src/app/[locale]/off-protocol/page.tsx
/[locale]/off-protocol/why-a-new-protocol-the-history-and-f… frontend healthy src/app/[locale]/off-protocol/why-a-new-protocol-the-histor…
/[locale]/off-protocol/the-puppy-problem frontend healthy src/app/[locale]/off-protocol/the-puppy-problem/page.tsx
/[locale]/off-protocol/blacksky-as-a-service-a-first-look-a… frontend healthy src/app/[locale]/off-protocol/blacksky-as-a-service-a-first…
/[locale]/off-protocol/slowly-then-quickly-what-atmospherec… frontend healthy src/app/[locale]/off-protocol/slowly-then-quickly-what-atmo…
/[locale]/off-protocol/a-thousand-prs-in-two-weeks-building… frontend healthy src/app/[locale]/off-protocol/a-thousand-prs-in-two-weeks-b…
/[locale]/off-protocol/do-this-together-standard-site frontend healthy src/app/[locale]/off-protocol/do-this-together-standard-sit…

Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.

LabelLayerStatusPath
8.106.417.075 network healthy src/components/Footer.tsx
1.281.876.75 network healthy src/components/Footer.tsx
2.427.705.073 network healthy src/components/Footer.tsx
2.263.53.599 network healthy src/components/Footer.tsx
4.219.302.266 network healthy src/components/Footer.tsx
224.156.491.573 network healthy src/components/Footer.tsx
1.136.055.055 network healthy src/components/Footer.tsx
2.272.058.058 network healthy src/components/Footer.tsx
09.074.184.149 network healthy src/components/Footer.tsx
023.049.059.059 network healthy src/components/Footer.tsx
1.405.669.058 network healthy src/components/Footer.tsx
033.033.056.056 network healthy src/components/Footer.tsx
2.272.055.055 network healthy src/components/Footer.tsx
1.244.264.635 network healthy src/components/icons/CogIcon.tsx
1.5.75.75 network healthy src/components/icons/outline/AcademicCapIcon.tsx
369.128.713.349 network healthy src/components/icons/outline/PuzzlePieceIcon.tsx
1.003.215.283 network healthy src/components/icons/outline/PuzzlePieceIcon.tsx
333.277.599.61 network healthy src/components/icons/outline/PuzzlePieceIcon.tsx
4.717.532.532 network healthy src/components/icons/outline/PuzzlePieceIcon.tsx
1.003.349.283 network healthy src/components/icons/outline/PuzzlePieceIcon.tsx
215.604.401.96 network healthy src/components/icons/outline/PuzzlePieceIcon.tsx

LabelLayerStatusPath
auth::src/app/[locale]/blog/oauth-improvements/page.tsx security healthy src/app/[locale]/blog/oauth-improvements/page.tsx
auth::src/app/[locale]/guides/oauth-cli-tutorial/page.tsx security healthy src/app/[locale]/guides/oauth-cli-tutorial/page.tsx
auth::src/lib/nav-translations.ts security healthy src/lib/nav-translations.ts
auth::src/app/[locale]/guides/oauth-tutorial/page.tsx security healthy src/app/[locale]/guides/oauth-tutorial/page.tsx
auth::src/components/Navigation.tsx security healthy src/components/Navigation.tsx
auth::src/lib/posts.ts security healthy src/lib/posts.ts
auth::src/app/[locale]/guides/go-oauth-cli-tutorial/page.tsx security healthy src/app/[locale]/guides/go-oauth-cli-tutorial/page.tsx
auth::src/app/[locale]/guides/oauth-patterns/page.tsx security healthy src/app/[locale]/guides/oauth-patterns/page.tsx
auth::src/app/[locale]/guides/statusphere-tutorial/page.tsx security healthy src/app/[locale]/guides/statusphere-tutorial/page.tsx
auth::src/app/[locale]/blog/oauth-atproto/page.tsx security healthy src/app/[locale]/blog/oauth-atproto/page.tsx
auth::src/app/[locale]/specs/oauth/page.tsx security healthy src/app/[locale]/specs/oauth/page.tsx
auth::src/app/[locale]/guides/about-oauth/page.tsx security healthy src/app/[locale]/guides/about-oauth/page.tsx
auth::src/components/Libraries.tsx security healthy src/components/Libraries.tsx

LabelLayerStatusPath
LanguageChanger frontend healthy src/components/LanguageChanger.tsx
NotFound frontend healthy src/app/[locale]/not-found.tsx
OffProtocolLayout frontend healthy src/app/[locale]/off-protocol/layout.tsx
DocsHome frontend healthy src/app/[locale]/docs/ja.tsx
DocsHome frontend healthy src/app/[locale]/docs/ko.tsx
DocsHome frontend healthy src/app/[locale]/docs/en.tsx

LabelLayerStatusPath
BskyConversation software healthy public/bsky-conversation.js:BskyConversation
LiteYouTube software healthy src/components/YouTubeEmbed.tsx:LiteYouTube

LabelLayerStatusPath
repobility-clone-_ri995bx software healthy /tmp/repobility-clone-_ri995bx

LabelLayerStatusPath
gpu (detected) hardware healthy src/components/Search.tsx
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/4ee38bee-6dbc-47f5-86fb-815cdc5e9dac/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/4ee38bee-6dbc-47f5-86fb-815cdc5e9dac/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.