neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
분산형 CDN, 사용자가 바이트 제공·USDC로 GB당 비용 지불, 규모 확대 시 비용 절감
A decentralized CDN. Anyone can serve bytes; clients pay per megabyte in USDC. An open market that gets cheaper as it grows, at ~$0.01/GB, up to 90% below legacy CDN list pricing.
개발 도구TypeScript · MDXGitHub @decdn온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Marketing site for deCDN — the delivery layer anyone can serve.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A decentralized delivery layer for bytes at scale. Anyone can serve bytes; clients pay per megabyte in USDC.
This is the source for the deCDN marketing site and blog.
Next.js 16 (App Router) · React 19 · Tailwind CSS v4 · TypeScript · pnpm. Static export, deployed to Cloudflare Pages.README 전문 보기 ↗A decentralized delivery layer for bytes at scale. Anyone can serve bytes; clients pay per megabyte in USDC.
This is the source for the deCDN marketing site and blog.
Next.js 16 (App Router) · React 19 · Tailwind CSS v4 · TypeScript · pnpm · Node ≥24 (.nvmrc). Static export, deployed to Cloudflare Pages.
pnpm install # required (not npm/yarn) — husky hooks shell out to `pnpm exec`
pnpm dev # dev server on :3000
pnpm build # static export → ./out, then the check:out + check:og-image guards
pnpm test # vitest run
pnpm typecheck # tsc --noEmit
pnpm lint # eslint (flat config)
pnpm format # prettier --write .
pnpm format:check # prettier --check . (CI)
app/ — App Router entry (layout.tsx, page.tsx, globals.css) plus the blog routes (blog/, blog/[slug]/), the legal/[doc] route, the sitemap/robots handlers, the llms.txt / llms-full.txt handlers, and file-convention metadata assets.components/layout/ — the site chrome mounted in app/layout.tsx on every route (Chrome → MobileMenu, Footer, ScrollReveal) plus chrome-active, the nav's section and tone tables.components/home/ — the homepage sections composed by app/page.tsx, one folder per section (hero/, compare/, method/, faq/, try/, contact/) with its sub-parts, plus brand.tsx, which they share.components/blog/, components/legal/ — components used only by those routes (PostRow, LegalDoc).components/ui/ — generic primitives with no site content (Frame, SectionHeader, Prose, Figure, PanelFigure, Pill, CodeBlock). A component that takes site data or domain types goes in its feature's folder; a primitive with no site content stays in ui/ even if only one feature uses it today.lib/ — shared helpers (links.ts, copy.ts, stats.ts, blog.ts, faq.ts, legal.ts, jsonld.tsx, schema.ts, …). The site's prose and its displayed values live in lib/copy.ts as plain data — the comparison table maps over it and the llms-full.txt mirror serialises it, so anything inlined in a component drifts from the mirror. Prose that names the product renders through highlightBrand (components/home/brand.tsx).test-utils/ — test-only helpers for walking the element tree a server component returns.scripts/ — postbuild guards run against ./out by pnpm build: check-out.mjs (advertised URLs, dotted routes, panel captions, the prerendered mobile menu toggle) and check-og-image.mjs (social cards).content/blog/ — MDX posts loaded by lib/blog.ts and rendered by app/blog/[slug]/page.tsx.content/legal/ — MDX for the legal pages (privacy, terms, disclaimer), loaded by lib/legal.ts and rendered by app/legal/[doc]/page.tsx.docs/ — Mintlify source for docs.decdn.org. Built and deployed independently of pnpm build; not part of the static export and not imported from the website code.@/* maps to the project root (e.g. @/lib/links, not @/src/...).next.config.ts sets output: "export"; the build emits ./out. No SSR, ISR, middleware, or Image Optimization API. Route handlers (app/robots.txt/route.ts, app/sitemap.xml/route.ts, app/sitemap-pages.xml/route.ts, app/llms.txt/route.ts, app/llms-full.txt/route.ts) must be dynamic = "force-static" and GET-only; the dotted segment is what makes them emit real files rather than <path>/index.html. robots.txt is a hand-written route handler rather than the Next app/robots.ts metadata file, so it can emit the non-standard Content-Signal: directive (per contentsignals.org).trailingSlash: true. Every route emits <path>/index.html. Internal links and hand-built URLs (sitemap entries, JSON-LD @ids) should expect a trailing slash — see SITE_URL and BLOG_URL in lib/links.ts.app/globals.css under @theme inline { … } — there is no tailwind.config.*.commitlint runs in the commit-msg husky hook; non-conforming messages are rejected.metadataBase is live. lib/links.ts site is the real origin and INDEXABLE is true. Anything anchored on this origin — OG and canonical (via metadataBase); JSON-LD and the sitemap/robots emitters (via SITE_URL) — ships to production. Adding a non-blog page means appending an entry to app/sitemap-pages.xml/route.ts; blog posts are auto-derived from content/blog/, while legal pages are driven by the closed LEGAL_SLUGS list in lib/legal.ts (add both the MDX file under content/legal/ and a slug there). Flipping INDEXABLE flips <meta name="robots"> only; robots.txt and the sitemap stay unconditional by design (rationale in lib/links.ts)./llms.txt is a curated index of this origin and /llms-full.txt is every page as one plain-text document; both derive their page entries from listPosts(), , and , are listed in , and are advertised through in and a header in . resolves every advertised same-origin URL against after a build. The protocol documentation has its own pair on , served by Mintlify.This project is tested with BrowserStack. Unit tests run under vitest (pnpm test); cross-browser checks use BrowserStack through its Open Source Sponsorship Program.
Cloudflare Pages serves the out/ directory produced by pnpm build.
See AGENTS.md for the full ruleset (CLAUDE.md is a one-line include of it).
LEGAL_SLUGSlib/faq.tslib/copy.tsapp/sitemap-pages.xml/route.tsalternates.typesapp/layout.tsxLink:public/_headersscripts/check-out.mjsout/docs.decdn.orghttps://data.decdn.org/stats-421614.json (rewritten every five minutes by the decdn/stats indexer). The fetch lives in lib/stats.ts / lib/use-stats.ts; the CSP in public/_headers allowlists the origin under connect-src, so change STATS_ORIGIN and the CSP together.