WallpaperMachine
당신이 사랑하는 배경화면, 맥에서 새롭게 만나보세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기접근성 우선 대한민국 길찾기 (웹·iOS·CLI·MCP). 스크린 리더만으로 검색부터 실시간 도보 안내까지. Accessibility-first navigation for Korea
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
접근성 우선 대한민국 길찾기. 스크린 리더만으로 검색부터 길찾기까지 완결되는 것을 1급 요구사항으로 두고, 국내 로컬 서비스 API(카카오·네이버·공공데이터·서울 열린데이터 등)를 계속 발굴해 붙인다. 두 사용자 집단이 1급 시민이다. 1. 시각장애인 — 지도 없이, 텍스트와 음성만으로 전체 흐름이 닫힌다. 2. 한국 방문 외국인 — 한국어를 몰라도 쓸 수 있는 미니멀한 UI(6개 언어). CLI·MCP는 계정도 토큰도 필요 없다. 공개 REST API를 그대로 중계한다. 앱 루트에서 WebMCP 도구 7개를 상시 선언한다. ChatGPT 인앱 브라우저나 WebMCP를 켠 Chrome에서 열면 에이전트가 DOM을 추측하는 대신 장소 검색·역 정보·길찾기를 도구로 호출하고, 화면이 보여 주는 것과 같은 문장을 돌려받는다. 화면도 같은 상태로 따라 움직이므로 사용자가 그 자리에서 이어받는다. 스크린 리더 사용자에게 비싼 것은 화면에 도달하는 일이 아니라 그 화면을 훑는 일이다. 경로 하나가 수십 개의 접근성 객체인데 도구로는 한 번의 답이 된다. 좌표는 브라우저 밖으로 나가지 않는다(출력 allowlist가 구조적으로 막는다).README 전문 보기 ↗
한국어 | English
접근성 우선 대한민국 길찾기. 스크린 리더만으로 검색부터 길찾기까지 완결되는 것을 1급 요구사항으로 두고, 국내 로컬 서비스 API(카카오·네이버·공공데이터·서울 열린데이터 등)를 계속 발굴해 붙인다.
두 사용자 집단이 1급 시민이다.
| 채널 | 주소 |
|---|---|
| 웹 | https://gildongmu.dodoplanet.space |
| iOS | App Store — "길동무: 텍스트 기반 접근성 길찾기 앱" |
| CLI | npm install -g gildongmu → 문서 |
| MCP | claude mcp add gildongmu -- npx -y gildongmu-mcp → 문서 |
CLI·MCP는 계정도 토큰도 필요 없다. 공개 REST API를 그대로 중계한다.
gil nearby subway --near "강동역" # 주변 지하철역 실시간 도착
gil route walk "길동역" "강남역" --accessible true # 계단 회피 도보 경로
앱 루트에서 WebMCP 도구 7개를 상시 선언한다. ChatGPT 인앱 브라우저나 WebMCP를 켠 Chrome에서 열면 에이전트가 DOM을 추측하는 대신 장소 검색·역 정보·길찾기를 도구로 호출하고, 화면이 보여 주는 것과 같은 문장을 돌려받는다. 화면도 같은 상태로 따라 움직이므로 사용자가 그 자리에서 이어받는다.
스크린 리더 사용자에게 비싼 것은 화면에 도달하는 일이 아니라 그 화면을 훑는 일이다. 경로 하나가 수십 개의 접근성 객체인데 도구로는 한 번의 답이 된다. 좌표는 브라우저 밖으로 나가지 않는다(출력 allowlist가 구조적으로 막는다).
구현·계약·검증 근거는 docs/WEBMCP.md(영문), 코드를 만질 때의 함정은 CLAUDE.md §WebMCP 도구층에 있다.
nmap://·kakaomap://)는 장소 상세의 보조 출구로만 둔다.PLACES_PROVIDER=mock을 명시했을 때만 표시한다.<span>으로 한 줄을 쪼개면 VoiceOver가 조각마다 멈춘다.접근성 규칙의 정본은 글로벌 접근성 헌장이고, 이 저장소 고유의 구현 디테일은 CLAUDE.md에 있다.
이 프로젝트는 누구든 가져다 자기 지역·자기 사용자에 맞는 접근성 길찾기를 만들 수 있도록 공개한다. 클론에서 자기 서비스까지 바꿔야 할 자리(도메인·번들 ID·이름·provider·seed)와 그대로 가져가도 되는 핵심 자산(접근성 계약·순수 함수 판정 계층)은 docs/FORKING.md에 정리했다. 키 하나(카카오)만 채워도 장소 검색과 경로가 켜진다.
npm install
npm run dev # localhost:3000
npm run test:run # Vitest (매 커밋 통과 필수)
npm run lint
실데이터 연동은 .env.example을 .env.local로 복사한 뒤 필요한 키를 채운다. 장소 검색에는 카카오 또는 네이버 키가 필요하며, 데모는 PLACES_PROVIDER=mock으로 실행한다.
node scripts/usage-report.mjs # API 비용·쿼터·키 만료 상태(ODsay 1건만 과금)
| 문서 | 내용 |
|---|---|
CLAUDE.md | 항구 규칙·패턴·함정. 코드를 만지기 전에 읽는다 |
PROGRESS.md | 지금 무엇이 동작하고 어디까지 도달했는가 |
CHANGELOG.md | 날짜별 변경 이력 |
docs/BACKLOG.md | 아직 하지 않은 것(폐기 근거 포함) |
docs/INTEGRATIONS.md | 외부 통합의 상세 계약. 요지만으로는 지킬 수 없는 것 |
docs/PATTERNS.md | UI·상태·채팅·도구층·빌드 구성의 상세 계약 |
docs/WEBMCP.md | WebMCP 도구층 영문 개요(도구 7개·구현·시험 방법) |
android/README.md | 안드로이드 앱의 구조·이식 관용구·게이트 |
docs/superpowers/specs·plans | 기능별 설계 정본과 검증 기록 |
docs/research/RESEARCH-*.md | 국내 API 생태계 조사 |
Next.js 16 (App Router) · React 19 · TypeScript · Tailwind 4 · next-intl 4 · zod 4 · Vitest 4
iOS는 SwiftUI + GildongmuKit(SPM), 판정 로직은 웹과 미러링해 공유 fixture로 드리프트를 막는다. Android는 Jetpack Compose + :kit(Kit의 순수 JVM 미러, 미출시).
코드는 MIT. 저장소에 번들된 공공데이터·OpenStreetMap 파생 파일은 각 원출처의 조건(공공누리 제1유형·ODbL 1.0)을 따르며 목록은 NOTICE.md에 있다. "길동무"라는 이름·아이콘·도메인·npm 패키지명은 프로젝트 식별자라 fork는 다른 이름을 쓴다.
기여는 CONTRIBUTING.md, 취약점 신고는 SECURITY.md, 연구 인용은 CITATION.cff.
dodo-planet(가족 여행 가이드 PWA)과는 상호 보완적인 두 독립 프로젝트로, 검증된 기능의 이식이 양방향으로 일어난다. 그래서 스택·컨벤션을 맞추고 src/lib/는 React 비의존으로 유지한다(Next 의존은 캐시 래퍼 unstable_cache뿐).