#Projects
13 notes
TTY 감지 기반 출력 전환, score 출력 스키마 설계, exit code 의미 분리, 자동 다운로드의 부작용 관리까지 - CLI에서 사용성은 기능 추가가 아니라 설계 규칙과 계약의 문제다.
Clidex의 검색 알고리즘 버그 수정(fuzzy anchor, synonym gate, edit distance), 테스트를 adversarial fixture + 실제 인덱스 기반으로 강화하고, crates.io/PyPI 데이터 소스를 확장한 과정.
Clidex의 검색 성능을 실전 테스트로 진단하고, 데이터 파이프라인과 검색 알고리즘을 전면 개편한 과정. 485개 → 5,260개 도구, 커버리지 43% → 91%.
AI 에이전트가 CLI 도구를 발견하고, 비교하고, 설치할 수 있도록 설계한 CLI 도구 인덱스. 검색 전략 선택 과정과 BM25 기반 구현 결과를 기록한다.
개인 블로그를 지식 베이스로 삼아 Modular RAG 아키텍처를 구축하고, 다양한 검색 모듈 조합을 실험하는 프로젝트.
블로그를 RAG 지식 베이스로 쓰기로 결정한 이유, 그리고 검색 모듈을 조합 가능하게 만들어야 하는 이유.
Phase 1 구현 내용 정리, 그리고 Vercel 배포 과정에서 만난 workspace 프로토콜, Turbopack, 각종 버그들을 기록한다.
Nuartz를 UI 없는 데이터 레이어로 유지하기로 결정한 이유, 그리고 개인 블로그/포트폴리오를 포함한 레포 생태계를 어떻게 재편했는지 기록한다.
Nuartz를 npm에 배포하고, 버전 관리와 CHANGELOG를 정착시키고, GitHub Actions로 publish를 자동화한 과정을 기록한다.
흩어져 있던 4개 레포를 3개로 재편하고, 블로그와 포트폴리오를 하나로 합치는 리팩토링 계획.
Obsidian 노트를 Next.js로 서빙하는 오픈소스 라이브러리. Quartz를 headless 데이터 레이어로 재해석한다.
Quartz 기반 블로그의 UI 한계를 느끼고, Next.js + shadcn/ui + AI Agent를 결합한 디지털 가든 nuartz를 기획하기까지의 기술 의사결정 과정을 기록한다.
Quartz 플러그인 구조를 직접 뜯어보고, Next.js에서 재사용 가능한 것과 그렇지 않은 것을 구분한다. OFM이 Quartz의 진짜 자산인 이유.