factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Paste or drop a CSV and instantly see per-column statistics — no upload, no sign-in, all in your browser.
Give it a CSV by pasting text, dropping a .csv file, or picking one with the file button. It parses the data locally and shows a table with one row per column:
• Numeric columns — min, max, mean, and median.
• Text columns — number of unique values and the most frequent one.
• Every column — how many values are missing (empty or whitespace) and how many are present.README 전문 보기 ↗Paste or drop a CSV and instantly see per-column statistics — no upload, no sign-in, all in your browser.
Give it a CSV by pasting text, dropping a .csv file, or picking one with the file button. It parses the data locally and shows a table with one row per column:
Each column is labelled Numeric or Text so you can see at a glance how it was interpreted. Nothing is sent to a server — parsing and stats run entirely in the page.
Click any column header (or Tab to it and press Enter or Space) to sort the table by that column. Activating the same header again reverses the order; a third activation restores the original CSV column order. Only one column is sorted at a time, missing values always sort to the bottom, and the active header shows an arrow (▲ ascending, ▼ descending) alongside aria-sort for assistive tech.
bun install
bun run dev
Open http://localhost:3000 and paste a CSV.
| Command | Does |
|---|---|
bun run dev | dev server |
bun run build | production build |
bun run lint | Biome check |
bun run typecheck | route typegen + tsc |
bun run test | unit tests (Vitest) |
bun run test:e2e | end-to-end tests (Playwright) |
bun run test:a11y | accessibility scan (axe-core, WCAG 2.2 AA) |
lib/parseCsv.ts — wraps Papa Parse (header: true, skipEmptyLines: "greedy"), returning clean Record<string, string> rows plus any parse error.lib/stats.ts — pure functions that classify each column and compute its statistics. Fully unit-tested.lib/sortStats.ts — the pure three-state sort cycle (ascending → descending → original order) and comparator, including the null-sinks-to-bottom and tie-break-by-name rules. Fully unit-tested.components/ — CsvInput (paste / drop / pick), StatsTable, SortableHeader (the clickable, keyboard-operable column header), and TypeBadge, one per file.app/page.tsx — wires input to stats and renders the empty, error, and results states.Unit tests live beside the code they cover (lib/*.test.ts). End-to-end and accessibility specs live in e2e/. Every route is scanned against WCAG 2.2 A + AA — add new routes to the ROUTES array in e2e/a11y.spec.ts, since an unlisted route is not covered.
Bun, Next.js App Router, TypeScript strict, Tailwind CSS v4, Biome, Vitest, Playwright, Papa Parse.
Deployed on Vercel. Every pull request gets a preview build; production deploys are manual.