https://github.com/tnfsp/wilsonchao-website
· scanned 2026-06-16 00:39 UTC (2 months, 1 week ago)
45 raw signals (0 security + 45 graph)
Last scanned 2 months, 1 week ago · v1 · 45 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 676 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.
| Label | Layer | Status | Path |
|---|---|---|---|
absolutifyUrls |
software | healthy | apps/main/scripts/send-newsletter.ts:absolutifyUrls |
newsletterHtml |
software | healthy | apps/main/scripts/send-newsletter.ts:newsletterHtml |
main |
software | healthy | apps/main/scripts/send-newsletter.ts:main |
main |
software | healthy | apps/main/scripts/sync-drawer.ts:main |
sendTelegram |
software | healthy | apps/main/scripts/watchdog-drawer.ts:sendTelegram |
daysBetween |
software | healthy | apps/main/scripts/watchdog-drawer.ts:daysBetween |
main |
software | healthy | apps/main/scripts/watchdog-drawer.ts:main |
generateHtml |
software | healthy | apps/main/scripts/build-search-index.ts:generateHtml |
loadBlogEntries |
software | healthy | apps/main/scripts/build-search-index.ts:loadBlogEntries |
loadDailyEntries |
software | healthy | apps/main/scripts/build-search-index.ts:loadDailyEntries |
main |
software | healthy | apps/main/scripts/build-search-index.ts:main |
estimateReadingTime |
software | healthy | apps/main/scripts/sync-vault.ts:estimateReadingTime |
buildExcerpt |
software | healthy | apps/main/scripts/sync-vault.ts:buildExcerpt |
dirExists |
software | healthy | apps/main/scripts/sync-vault.ts:dirExists |
listMdFiles |
software | healthy | apps/main/scripts/sync-vault.ts:listMdFiles |
stripMd |
software | healthy | apps/main/scripts/sync-vault.ts:stripMd |
processImages |
software | healthy | apps/main/scripts/sync-vault.ts:processImages |
copyAsset |
software | healthy | apps/main/scripts/sync-vault.ts:copyAsset |
findInVault |
software | healthy | apps/main/scripts/sync-vault.ts:findInVault |
mdToHtml |
software | healthy | apps/main/scripts/sync-vault.ts:mdToHtml |
syncBlog |
software | healthy | apps/main/scripts/sync-vault.ts:syncBlog |
syncProjects |
software | healthy | apps/main/scripts/sync-vault.ts:syncProjects |
syncConfig |
software | healthy | apps/main/scripts/sync-vault.ts:syncConfig |
writeBlogEntries |
software | healthy | apps/main/scripts/sync-vault.ts:writeBlogEntries |
writeProjectsCompat |
software | healthy | apps/main/scripts/sync-vault.ts:writeProjectsCompat |
writeSiteConfig |
software | healthy | apps/main/scripts/sync-vault.ts:writeSiteConfig |
main |
software | healthy | apps/main/scripts/sync-vault.ts:main |
getEnv |
software | healthy | apps/main/scripts/sync-notion.ts:getEnv |
normalizeSlug |
software | healthy | apps/main/scripts/sync-notion.ts:normalizeSlug |
uniqueSlug |
software | healthy | apps/main/scripts/sync-notion.ts:uniqueSlug |
isFullBlock |
software | healthy | apps/main/scripts/sync-notion.ts:isFullBlock |
textFromRichText |
software | healthy | apps/main/scripts/sync-notion.ts:textFromRichText |
titleFromProperty |
software | healthy | apps/main/scripts/sync-notion.ts:titleFromProperty |
richTextFromProperty |
software | healthy | apps/main/scripts/sync-notion.ts:richTextFromProperty |
selectFromProperty |
software | healthy | apps/main/scripts/sync-notion.ts:selectFromProperty |
multiSelectFromProperty |
software | healthy | apps/main/scripts/sync-notion.ts:multiSelectFromProperty |
dateFromProperty |
software | healthy | apps/main/scripts/sync-notion.ts:dateFromProperty |
convertBlockToMarkdown |
software | healthy | apps/main/scripts/sync-notion.ts:convertBlockToMarkdown |
escapeHtml |
software | healthy | apps/main/scripts/sync-notion.ts:escapeHtml |
renderRichText |
software | healthy | apps/main/scripts/sync-notion.ts:renderRichText |
plainTextFromBlock |
software | healthy | apps/main/scripts/sync-notion.ts:plainTextFromBlock |
safeExtFromUrl |
software | healthy | apps/main/scripts/sync-notion.ts:safeExtFromUrl |
downloadImageForBlock |
software | healthy | apps/main/scripts/sync-notion.ts:downloadImageForBlock |
downloadProjectImage |
software | healthy | apps/main/scripts/sync-notion.ts:downloadProjectImage |
renderBlocksWithAssets |
software | healthy | apps/main/scripts/sync-notion.ts:renderBlocksWithAssets |
renderBlocks |
software | healthy | apps/main/scripts/sync-notion.ts:renderBlocks |
toHtml |
software | healthy | apps/main/scripts/sync-notion.ts:toHtml |
estimateReadingTime |
software | healthy | apps/main/scripts/sync-notion.ts:estimateReadingTime |
buildExcerpt |
software | healthy | apps/main/scripts/sync-notion.ts:buildExcerpt |
fetchAllBlocks |
software | healthy | apps/main/scripts/sync-notion.ts:fetchAllBlocks |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
IMPROVEMENT-PLAN.md |
software | healthy | IMPROVEMENT-PLAN.md |
README.md |
software | healthy | README.md |
DESIGN-taste-entities.md |
software | healthy | DESIGN-taste-entities.md |
package.json |
software | healthy | package.json |
package-lock.json |
software | healthy | package-lock.json |
MEMO.md |
software | healthy | MEMO.md |
NOTES.md |
software | healthy | NOTES.md |
AGENTS.md |
software | healthy | AGENTS.md |
.env.local.example |
software | healthy | apps/main/.env.local.example |
DESIGN.md |
software | healthy | apps/main/DESIGN.md |
vercel.json |
software | healthy | apps/main/vercel.json |
postcss.config.mjs |
software | healthy | apps/main/postcss.config.mjs |
package.json |
software | healthy | apps/main/package.json |
tsconfig.json |
software | healthy | apps/main/tsconfig.json |
eslint.config.mjs |
software | healthy | apps/main/eslint.config.mjs |
next.config.ts |
software | healthy | apps/main/next.config.ts |
deployment.md |
software | healthy | apps/main/docs/deployment.md |
DESIGN-IMAGING-UPGRADE.md |
software | healthy | apps/main/docs/DESIGN-IMAGING-UPGRADE.md |
handoff-echo-tamponade-clips.md |
software | healthy | apps/main/docs/handoff-echo-tamponade-clips.md |
SEO-SPEC.md |
software | healthy | apps/main/docs/notes/SEO-SPEC.md |
SPEC-blog-journal-merge.md |
software | healthy | apps/main/docs/notes/SPEC-blog-journal-merge.md |
register-ts-node.mjs |
software | healthy | apps/main/scripts/register-ts-node.mjs |
send-newsletter.ts |
software | healthy | apps/main/scripts/send-newsletter.ts |
sync-drawer.ts |
software | healthy | apps/main/scripts/sync-drawer.ts |
watchdog-drawer.ts |
software | healthy | apps/main/scripts/watchdog-drawer.ts |
build-search-index.ts |
software | healthy | apps/main/scripts/build-search-index.ts |
sync-vault.ts |
software | healthy | apps/main/scripts/sync-vault.ts |
sync-notion.ts |
software | healthy | apps/main/scripts/sync-notion.ts |
sync-now-dynamic.py |
software | healthy | apps/main/scripts/sync-now-dynamic.py |
gen-writing-calendar.cjs |
software | healthy | apps/main/scripts/gen-writing-calendar.cjs |
sync-lock.ts |
software | healthy | apps/main/scripts/lib/sync-lock.ts |
SiteHeader.tsx |
software | healthy | apps/main/components/layout/SiteHeader.tsx |
IndieWebWebring.tsx |
software | healthy | apps/main/components/layout/IndieWebWebring.tsx |
DrawerQuestion.tsx |
software | healthy | apps/main/components/drawer/DrawerQuestion.tsx |
DrawerDeck.tsx |
software | healthy | apps/main/components/drawer/DrawerDeck.tsx |
DrawerNote.tsx |
software | healthy | apps/main/components/drawer/DrawerNote.tsx |
YouTubeEmbed.tsx |
software | healthy | apps/main/components/now/YouTubeEmbed.tsx |
NowDynamicGrid.tsx |
software | healthy | apps/main/components/now/NowDynamicGrid.tsx |
LikeButton.tsx |
software | healthy | apps/main/components/ui/LikeButton.tsx |
Comments.tsx |
software | healthy | apps/main/components/ui/Comments.tsx |
AuthorSignature.tsx |
software | healthy | apps/main/components/ui/AuthorSignature.tsx |
WritingHeatmap.tsx |
software | healthy | apps/main/components/ui/WritingHeatmap.tsx |
SearchBox.tsx |
software | healthy | apps/main/components/ui/SearchBox.tsx |
CopyButton.tsx |
software | healthy | apps/main/components/ui/CopyButton.tsx |
RandomTagline.tsx |
software | healthy | apps/main/components/ui/RandomTagline.tsx |
ViewCounter.tsx |
software | healthy | apps/main/components/ui/ViewCounter.tsx |
CodeHighlight.tsx |
software | healthy | apps/main/components/ui/CodeHighlight.tsx |
CommentSection.tsx |
software | healthy | apps/main/components/ui/CommentSection.tsx |
SubscribeForm.tsx |
software | healthy | apps/main/components/ui/SubscribeForm.tsx |
StreamEntry.tsx |
software | healthy | apps/main/components/stream/StreamEntry.tsx |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
apps |
software | healthy | apps |
main |
software | healthy | apps/main |
docs |
software | healthy | apps/main/docs |
notes |
software | healthy | apps/main/docs/notes |
scripts |
software | healthy | apps/main/scripts |
lib |
software | healthy | apps/main/scripts/lib |
components |
software | healthy | apps/main/components |
layout |
software | healthy | apps/main/components/layout |
drawer |
software | healthy | apps/main/components/drawer |
now |
software | healthy | apps/main/components/now |
ui |
software | healthy | apps/main/components/ui |
stream |
software | healthy | apps/main/components/stream |
taste |
software | healthy | apps/main/components/taste |
app |
software | healthy | apps/main/app |
about |
software | healthy | apps/main/app/about |
blog |
software | healthy | apps/main/app/blog |
feed.xml |
software | healthy | apps/main/app/blog/feed.xml |
feed |
software | healthy | apps/main/app/blog/feed |
[slug] |
software | healthy | apps/main/app/blog/[slug] |
now |
software | healthy | apps/main/app/now |
robots.txt |
software | healthy | apps/main/app/robots.txt |
clinic |
software | healthy | apps/main/app/clinic |
api |
software | healthy | apps/main/app/api |
drawer-vote |
software | healthy | apps/main/app/api/drawer-vote |
drawer-note |
software | healthy | apps/main/app/api/drawer-note |
subscribe |
software | healthy | apps/main/app/api/subscribe |
likes |
software | healthy | apps/main/app/api/likes |
writing-calendar |
software | healthy | apps/main/app/api/writing-calendar |
drawer-question |
software | healthy | apps/main/app/api/drawer-question |
stats |
software | healthy | apps/main/app/api/stats |
views |
software | healthy | apps/main/app/api/views |
comments |
software | healthy | apps/main/app/api/comments |
feed.xml |
software | healthy | apps/main/app/feed.xml |
feed |
software | healthy | apps/main/app/feed |
opml |
software | healthy | apps/main/app/feed/opml |
stream |
software | healthy | apps/main/app/stream |
feed.xml |
software | healthy | apps/main/app/stream/feed.xml |
feed |
software | healthy | apps/main/app/stream/feed |
owl |
software | healthy | apps/main/app/owl |
about |
software | healthy | apps/main/app/owl/about |
_components |
software | healthy | apps/main/app/owl/_components |
[slug] |
software | healthy | apps/main/app/owl/[slug] |
links |
software | healthy | apps/main/app/links |
taste |
software | healthy | apps/main/app/taste |
lib |
software | healthy | apps/main/lib |
content |
software | healthy | apps/main/content |
blog |
software | healthy | apps/main/content/blog |
site |
software | healthy | apps/main/content/site |
owl |
software | healthy | apps/main/content/owl |
public |
software | healthy | apps/main/public |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
/page.tsx |
frontend | healthy | apps/main/app/page.tsx |
/about |
frontend | healthy | apps/main/app/about/page.tsx |
/blog |
frontend | healthy | apps/main/app/blog/page.tsx |
/blog/[slug] |
frontend | healthy | apps/main/app/blog/[slug]/page.tsx |
/now |
frontend | healthy | apps/main/app/now/page.tsx |
/clinic |
frontend | healthy | apps/main/app/clinic/page.tsx |
/feed |
frontend | healthy | apps/main/app/feed/page.tsx |
/stream |
frontend | healthy | apps/main/app/stream/page.tsx |
/owl |
frontend | healthy | apps/main/app/owl/page.tsx |
/owl/about |
frontend | healthy | apps/main/app/owl/about/page.tsx |
/owl/[slug] |
frontend | healthy | apps/main/app/owl/[slug]/page.tsx |
/links |
frontend | healthy | apps/main/app/links/page.tsx |
/taste |
frontend | healthy | apps/main/app/taste/page.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
NotFound |
frontend | healthy | apps/main/app/not-found.tsx |
RootLayout |
frontend | healthy | apps/main/app/layout.tsx |
ClinicPage |
frontend | healthy | apps/main/app/clinic/page.tsx |
FeedPage |
frontend | healthy | apps/main/app/feed/page.tsx |
OwlLayout |
frontend | healthy | apps/main/app/owl/layout.tsx |
OwlAboutPage |
frontend | healthy | apps/main/app/owl/about/page.tsx |
Reveal |
frontend | healthy | apps/main/app/owl/_components/Reveal.tsx |
| Label | Layer | Status | Path |
|---|---|---|---|
owl |
software | healthy | apps/main/app/owl/_components/Reveal.tsx:owl |
names |
software | healthy | apps/main/app/owl/_components/Reveal.tsx:names |
as |
software | healthy | apps/main/public/pagefind/pagefind-highlight.js:as |
| Label | Layer | Status | Path |
|---|---|---|---|
VERCEL_DEPLOY_HOOK_URL |
cicd | healthy | — |
CF_PAGES_DEPLOY_HOOK_URL |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-aj4ysooi |
software | healthy | /tmp/repobility-clone-aj4ysooi |
| Label | Layer | Status | Path |
|---|---|---|---|
redis |
data | healthy | package-lock.json |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::sync-and-deploy |
cicd | healthy | .github/workflows/sync-and-deploy.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
deploy |
cicd | healthy | .github/workflows/sync-and-deploy.yml |
This page is publicly accessible at:
https://repobility.com/scan/f5242003-1c86-42e4-b7ef-3b096f031bbc/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/f5242003-1c86-42e4-b7ef-3b096f031bbc/
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.