mesh-avatar-studio
일러스트를 코딩 에이전트와 로컬 편집기로 2D 메쉬 애니메이션 아바타로 변환
원하는 공개 URL을 스캔하거나 HTML을 입력해 1:1 프론트엔드 청사진을 만들고 JSON/ZIP으로 내보냅니다
Skenuj ľubovoľnú verejnú URL alebo vlož HTML a vytvor štruktúrovaný 1:1 frontend blueprint s exportom JSON/ZIP. WordPress, JetEngine, Elementor reverse-spec.
디자인TypeScript · JavaScriptGitHub @youh4ck3dme온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기EEEEEE
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Public URL or HTML → structured frontend reverse-spec (Blueprint JSON). A high-signal snapshot of a site's public UI — design tokens, structure, forms, tech stack and WordPress/Elementor/JetEngine architecture — for rebuilds, audits, migrations and design extraction. It does not clone backends, databases or secrets.
Repo: youh4ck3dme/EEEEEE
https:// page (or pasted HTML) into a versioned Blueprint JSONtailwind.config.js fragment and an SPA-aware Architecture Compiler prompt (copy-only — the app makes no LLM API calls and needs no AI key)favicon.ico, manifest.webmanifest, HTML/Next.js head snippets, live preview and ZIP bundle — generated fully in the browser (Canvas + JSZip).env, auth secrets or private APIs| Area | Capabilities |
|---|---|
| Ingest | URL scan · HTML paste · baseUrl for relative paths |
| Fetch chain | Headless (Playwright) → HTTP static → Wayback |
| Crawl | Same-origin BFS · maxPages 1–20 · per-URL fault isolation |
| Resilience | Partial scanStatus · AbortSignal cancel · HTTP retry with backoff · thin-HTML / SPA shell detection |
| Extract | Meta/SEO · headings · links · forms · tech detection · design tokens · CSS vars |
| WordPress | JetEngine dynamic-field catalog · listing grids · Elementor sections/globals · template JSON |
| Hardening | SSRF blocklist · asset caps (10 MB/file, 50 MB total, 40 files, 12 s timeout) · browser process shield · withApiGuard |
| AI | Rebuild prompt + Tailwind config fragment · Architecture Compiler prompt (copy-only) |
| PWA Studio | GitHub repo analysis · icon engine · favicon.ico · manifest · head snippets · ZIP |
| Storage | Browser vault (last 15 scans) · server DB (Neon Postgres or embedded PGlite) · JSON import |
| Auth | Better Auth (federated OAuth via broker: Google, X) · can be disabled |
TanStack Start (React 19, file routes, server functions) · Vite + Nitro · Tailwind CSS 4 · Radix/shadcn UI · Zod · Playwright · node-html-parser · Better Auth + Kysely · Neon/pg or PGlite (Postgres in WASM) · JSZip · Vitest + Testing Library.
Requires Node 22.
git clone https://github.com/youh4ck3dme/EEEEEE.git
cd EEEEEE
npm ci
npx playwright install chromium # needed for headless render; otherwise HTTP/Wayback fallback is used
npm run dev
Open http://localhost:8080, paste a public URL → Vytvoriť blueprint (the UI is in Slovak).
No .env is required for local development: without DATABASE_URL the app runs on an embedded PGlite database and applies migrations/ on startup.
| Variable | Required | Purpose |
|---|---|---|
DATABASE_URL | prod | Neon / Postgres connection. Unset → embedded PGlite. Migrations run on npm run build |
VITE_AUTH_ENABLED | no | false disables sign-in; server functions use a dev user |
BETTER_AUTH_URL, BETTER_AUTH_SECRET | prod (auth) | Better Auth base URL and secret |
GROK_AUTH_ISSUER, GROK_AUTH_CLIENT_ID, GROK_AUTH_CLIENT_SECRET | prod (auth) | OAuth broker issuer and per-app client credentials |
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH | no | Custom Chromium binary (e.g. serverless) |
PREVIEW_THUMBNAIL_TIMEOUT_MS | no | Headless thumbnail timeout |
SMOKE_BASE_URL, SMOKE_OUT_DIR, SMOKE_TIMEOUT_MS, BROWSER_SMOKE_TIMEOUT_MS | no | Smoke test runner |
| Script | Description |
|---|---|
npm run dev | Vite dev server on 0.0.0.0:8080 |
npm run build | Production build, then db:migrate |
npm run build:dev | Vite build (development mode) |
npm run preview | Preview production build on 0.0.0.0:8080 |
npm run typecheck | tsc --noEmit |
npm run lint | ESLint |
npm run format | Prettier write |
npm test | Vitest run (default suite) |
npm run test:unit | Unit + integration (tests/unit, tests/integration) |
npm run test:smoke | Playwright UI smoke (tests/smoke/smoke-runner.mjs) |
npm run test:all | test:unit then test:smoke |
npm run db:migrate | Apply migrations/*.sql to DATABASE_URL (skipped when unset) |
TanStack server functions in src/lib/blueprint/server.ts (details in API):
| Function | Method | Purpose |
|---|---|---|
scanBlueprint | POST | Scan URL/HTML → blueprint (options: maxPages, render, wayback, captureAssets, wpJetEngine) |
getBlueprint | GET | Load a saved blueprint |
listBlueprints | GET | List saved blueprints |
deleteBlueprint | POST | Delete a blueprint |
compareBlueprintPair | POST | Diff two blueprints |
| Format | How |
|---|---|
| Blueprint JSON | Copy / download from the result view · exportBlueprintJson |
| ZIP archive | Captured assets + JSON · exportBlueprintZip |
| Elementor template | elementor-template-import.json (v0.4 schema) |
| AI Rebuild prompt | Clipboard · system + user prompt + Tailwind config fragment |
| Architecture prompt | SPA-aware UI rebuild brief (copy-only) |
| PWA bundle | ZIP with icons, favicon.ico, manifest and head snippets |
src/
routes/ # TanStack Start routes (single-page app: index.tsx)
components/blueprint/ # scan-form, blueprint-view, history-list, compare-panel
components/pwa/ # PWA & Asset Studio
components/ui/ # shadcn-style primitives
lib/blueprint/ # scan pipeline, crawl, render, Wayback, design system,
# tech detection, WordPress/JetEngine, Elementor compiler, DB store
lib/scanner/ # browser shield, asset guards, pipeline, API errors
lib/ai-rebuild/ # rebuild prompter + architecture compiler
lib/pwa/ # GitHub repo analysis, icon/manifest engine
lib/auth/ # Better Auth server/client, middleware, PGlite dialect
lib/seo/ # JSON-LD helpers
lib/db.ts # Neon ⇄ PGlite switch
migrations/ # 0001_auth.sql, 0002_blueprints.sql
tests/ # unit/ · integration/ · smoke/ · fixtures/ · helpers/
scripts/ # migrate, browser-smoke, preview-thumbnail, qa-scan
docs/ # Architecture, Development, Testing, API, Security, Deployment, Runbook
.github/workflows/ci.yml # typecheck + unit + build, then Playwright smoke
tsc --noEmit clean (verified 2026-10-24).github/workflows/ci.yml, Node 22): job 1 typecheck → test:unit → build; job 2 installs Chromium and runs the blocking browser smoke testisThinHtml)src/lib/multiplayer/ (WebRTC P2P client) is a scaffold — not wired into the UI and has no signaling endpoint yet.grok/skills/ (auth, neon, design-ui, multiplayer-p2p) and AGENTS.md are Grok Build agent instructions from the scaffolding template; they are not part of the runtime app| Doc | Audience |
|---|---|
| Architecture | Engineers |
| Development | Contributors |
| Testing | QA / CI |
| API | Integrators |
| Security | Security / ops |
| Deployment | DevOps |
| Runbook | On-call / support |
| Contributing | PRs |
| Changelog | Releases |
Private — all rights reserved.