github JavaScript analyzed 00eca20

TaewoooPark/UIForge

github

Forge masterpiece UI, not AI slop — a design art-director plugin for Claude Code. Forces a deliberate choice on every design axis (type, color, space, motion), sources components from vetted registries, and gates output on forced-subtraction + critique.

maintainer
TaewoooPark
license
MIT
first seen
2026-07-01
last seen
2026-07-27
releases · 30d
29
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 00eca20 · analyzer v28 · 21h ago

skills & prompt files 4

code evidence vv3.64.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 26

filesystem 23

  • fs TaewoooPark-UIForge-00eca20/tools/create-uiforge.mjs :13 import fs from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-archive.mjs :16 import { mkdirSync, writeFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-assets.mjs :17 import { readFileSync, mkdirSync, writeFileSync, existsSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-capture.mjs :18 import { writeFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-catalog.mjs :23 import { readFileSync, existsSync } from 'node:fs';
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-corpus.mjs :20 import { readFileSync, writeFileSync, existsSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-debundle.mjs :15 import { readFileSync, existsSync, mkdirSync, statSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-detect.mjs :12 import { readFileSync, existsSync, readdirSync, statSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-diff.mjs :31 import { readFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-export.mjs :21 import { readFileSync, writeFileSync, mkdirSync, copyFileSync, existsSync, readdirSync, statSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-extract.mjs :17 import { writeFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-freeze.mjs :19 import { writeFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-harvest.mjs :32 import { readFileSync, existsSync, mkdirSync } from 'node:fs';
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-lint.mjs :16 import fs from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-reconstruct.mjs :13 import { readFileSync, writeFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-restore.mjs :17 import { mkdirSync, writeFileSync, existsSync, cpSync, readFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-segment.mjs :21 import { readFileSync, writeFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-site.mjs :13 import { readFileSync, writeFileSync, mkdirSync, existsSync, readdirSync, statSync, copyFileSync, rmSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-source.mjs :17 import { existsSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-sourcemap.mjs :15 import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-tailwindify.mjs :20 import { readFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-theme.mjs :13 import { readFileSync, writeFileSync } from 'node:fs'
  • fs TaewoooPark-UIForge-00eca20/tools/uiforge-visualgate.mjs :16 import { existsSync, statSync, readFileSync, writeFileSync, mkdtempSync } from 'node:fs'

shell / exec 7

  • shell TaewoooPark-UIForge-00eca20/tools/uiforge-corpus.mjs :19 import { spawnSync } from 'node:child_process'
  • shell TaewoooPark-UIForge-00eca20/tools/uiforge-debundle.mjs :14 import { spawnSync } from 'node:child_process'
  • shell TaewoooPark-UIForge-00eca20/tools/uiforge-extract.mjs :16 import { spawnSync } from 'node:child_process'
  • shell TaewoooPark-UIForge-00eca20/tools/uiforge-restore.mjs :16 import { spawn } from 'node:child_process'
  • shell TaewoooPark-UIForge-00eca20/tools/uiforge-score.mjs :10 import { spawnSync } from 'node:child_process'
  • shell TaewoooPark-UIForge-00eca20/tools/uiforge-site.mjs :14 import { execFileSync } from 'node:child_process'
  • shell TaewoooPark-UIForge-00eca20/tools/uiforge-visualgate.mjs :15 import { spawn } from 'node:child_process'

network 8

  • net TaewoooPark-UIForge-00eca20/tools/uiforge-archive.mjs :181 import http from 'node:http'
  • net TaewoooPark-UIForge-00eca20/tools/uiforge-assets.mjs :47 const res = await fetch(url, { redirect: 'follow', signal: ctrl.signal })
  • net TaewoooPark-UIForge-00eca20/tools/uiforge-capture.mjs :181 try { return await fetch(href, { redirect: 'follow', signal: c.signal }) } finally { clearTimeout(t) }
  • net TaewoooPark-UIForge-00eca20/tools/uiforge-freeze.mjs :48 const res = await fetch(href, { redirect: 'follow', headers: { 'user-agent': UA }, signal: ctrl.signal })
  • net TaewoooPark-UIForge-00eca20/tools/uiforge-harvest.mjs :283 res = await fetch(url, { headers: { accept: 'application/json' }, signal: ctrl.signal });
  • net TaewoooPark-UIForge-00eca20/tools/uiforge-restore.mjs :88 try { await fetch(`http://localhost:${port}/`, { signal: AbortSignal.timeout(1000) }); return true } catch {}
  • net TaewoooPark-UIForge-00eca20/tools/uiforge-sourcemap.mjs :33 try { return await fetch(url, { signal: c.signal, headers: { 'user-agent': 'Mozilla/5.0' } }) } catch { return null } finally { clearTimeout(t) }
  • net TaewoooPark-UIForge-00eca20/tools/uiforge-visualgate.mjs :13 import http from 'node:http'