AgentEd
시각적 마크다운 편집기로, 프론트매터와 토큰 추정 기능 제공
브라우저만으로 작동하는 무료·고속·프라이버시 친화 텍스트 도구, 단어·문자 수·대소문자 변환·텍스트 정리·슬러그 생성 등
Free, fast, privacy-friendly text tools that run entirely in your browser. Count words and characters, convert case, clean up text, generate slugs, and more.
생산성TypeScript · JavaScriptGitHub @jakehellsing온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Free, privacy-friendly text utilities built with Next.js (App Router), TypeScript, and Tailwind CSS. All processing runs locally in the browser — no text is ever sent to a server.
| Tool | URL |
|---|---|
| Word Counter | /tools/word-counter |
| Character Counter | /tools/character-counter |
| Sentence & Paragraph Counter | /tools/sentence-counter |
| Reading Time Calculator | /tools/reading-time-calculator |
| Case Converter | /tools/case-converter |
| Title Case Converter | /tools/title-case-converter |
| Remove Duplicate Lines | /tools/remove-duplicate-lines |
| Remove Extra Spaces | /tools/remove-extra-spaces |
| Text to Slug | /tools/text-to-slug |
| Lorem Ipsum Generator | /tools/lorem-ipsum-generator |
npm install
cp env.example .env.local # then edit values
npm run dev # http://localhost:3000
Note:
.npmrcpoints atregistry.npmmirror.combecauseregistry.npmjs.orgwas unreachable/extremely slow from this network. Delete that file to use the default registry.
| Command | Purpose |
|---|---|
npm run dev | Start the dev server |
npm run build | Production build |
npm start | Serve the production build |
npm run lint | ESLint |
npm run typecheck | tsc --noEmit |
npm test | Unit tests (Vitest) for all text functions |
npm run test:e2e | Playwright end-to-end tests (desktop/tablet/mobile) |
E2E tests need browsers once: npx playwright install chromium.
See env.example. In production (Vercel project settings → Environment
Variables):
| Variable | Required | Purpose |
|---|---|---|
NEXT_PUBLIC_SITE_URL | Yes | Canonical origin for metadata, sitemap, robots |
NEXT_PUBLIC_CONTACT_EMAIL | Yes | Shown on contact page / privacy policy |
NEXT_PUBLIC_ADSENSE_CLIENT | After approval | ca-pub-* publisher ID — gates ALL ad code |
NEXT_PUBLIC_ADSENSE_SLOT_* | After approval | Ad unit slot IDs per placement |
No ad code is emitted unless NEXT_PUBLIC_ADSENSE_CLIENT is a real
ca-pub- ID, so the site ships "ads off" by default.
NEXT_PUBLIC_ADSENSE_CLIENT to your ca-pub-* ID and redeploy —
this activates the loader script and generates /ads.txt with the
matching publisher ID automatically.NEXT_PUBLIC_ADSENSE_SLOT_* env
vars; redeploy. (Or enable "Auto ads" in the AdSense dashboard and skip
slot IDs entirely.)NEXT_PUBLIC_SITE_URL and NEXT_PUBLIC_CONTACT_EMAIL.https://<domain>/sitemap.xml and /robots.txt, then
submit the domain in Google Search Console.src/
app/ # routes: /, /tools/[slug], legal pages, sitemap,
# robots, manifest, icon, opengraph-image
components/ # header, footer, cards, ad slot, shared tool page
components/tools/ # per-tool client components + shared UI
lib/text/ # pure text-processing functions (unit-tested)
lib/tools.ts # tool registry: slugs, copy, FAQs, related links
e2e/ # Playwright specs