尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 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.