htmx 카슨 그로스 제안: 마크다운이 문서가 아니라 소스코드다, /src/md에 커밋하자

htmx 카슨 그로스 제안: 마크다운이 문서가 아니라 소스코드다, /src/md에 커밋하자

  • htmx 저자 카슨 그로스가 2026년 9월 21일 에세이에서 마크다운을 문서가 아닌 소스코드로 취급해 /src/md에 체크인하고, 코드와 테스트는 일회성 프롬프트가 아닌 이 마크다운에서 도출해야 한다고 주장함
  • 그로스는 LLM 워크플로가 컴파일러와 달리 원본 명세를 남기지 않아, 일회성 프롬프트 세션에서 나온 생성 코드가 코드베이스의 사실상 유일한 진실 원천이 된다고 지적함
  • Hartley Brody의 "Markdown is the new source code"를 인용해 앱 로직이 마크다운으로 정의되고 생성 코드는 저수준 구현 상세가 된다는 관점을 소개함
  • /src/md의 마크다운은 기존 설계 문서보다 낮은 수준으로 아키텍처 결정, 소스 레벨 결정, 저수준 데이터 설계 결정을 담으며 프로젝트 매니저가 관리하는 문서보다 스펙에 가깝게 동작함
  • 그로스는 위치성 원칙을 근거로 코드 옆에 의도를 두면 위키와 Jira에 흩어진 "먼 곳의 스펙"이 사라지고, Linear와 위키는 고수준 설계와 이슈 워크플로만 맡게 된다고 설명함

Hacker News opinions

나는 마크다운을 보통 /docs에 넣는데 파일명 대문자도 안 씀. 문서 생성기가 이 파일을 먹고 HTML/PDF 내비게이션을 만들게 하는 식인데, 그래도 텍스트를 코드 가까이 두는 방향에는 대체로 동의함. 저자가 말하려는 게 그거 같은데?

예전에 TempleOS 만질 때는 OS 전체 텍스트가 리치 텍스트여서 주석에 그림이랑 접히는 섹션도 넣었었음. 진지한 소스에는 플레인 텍스트가 좋지만 다이어그램을 ASCII 아트 대신 바로 그려 넣었던 건 좀 그리움.

저자가 진짜 주장하는 건 리포에 넣는 디자인 문서임. LLM이 설계 결정이나 아키텍처, 트레이드오프 정리하는 .md 문서를 만드는 건 진짜 잘하고 나중에 기여자한테도 쓸모가 있음.

문서를 VCS에 넣는 건 찬성인데 /src에 넣는 건 절대 안 됨.

아예 요점을 놓친 거임. md 문서가 바로 소스라는 주장인데?

개발자용 문서는 /src에 넣어도 되는데 그 외는 안 됨. 개발자는 플로우 끊으면서 문서 찾는 걸 진짜 못 참아서 바로 보이는 곳에 둬야 함.

개발자 문서는 src에 있어야 나중에 전체 그림이 보임. 문제는 동기화라서 에이전트 하니스가 강제로 검사하게 해야 함.

나는 여전히 소스코드 자체가 문서고 유닛 테스트가 문서라는 생각이 좋음. LLM이 짠 코드를 사람이 읹기 좋게 고치는 게 요즘은 말 많은 주제가 됐는데, 그래도 그럴 가치가 있다고 봄.

src/md가 docs랑 뭐가 그렇게 다르지? 패키지 여러 개로 쪼개면 문서를 코드에 붙이는 게 의미가 있겠지만, packages/foo/docs 이런 식이면 될 듯함.

나는 저거 비슷한 방식을 꽤 오래 썼는데 마크다운을 GitHub 이슈로 저장함. 상세 스펙을 만들 때(보통 채팅 세션)는 구현 전에 컨텍스트를 아예 클리어해서 모델이 AGENT.md 같은 알려진 컨텍스트만 보게 함. 에이전트가 예전 프롬프트 지시를 다시 찾아볼 수 있다는 게 큰 장점이더라.

  1. Spec-Kit이나 OpenSpec, BMAD를 수동으로 만든 거 아닌가? 2. 마크다운이 일반 텍스트나 다른 마크업이랑 뭐가 다르다는 거지? 3. LLM이 결정적이지 않다는 걸 모르는 것 같음.

md/영어가 새 소스코드라는 말임. 마크다운은 영어에 맞고 LLM이 잘 읽고 쓰니까 메모리와 지시에 쓰이는 거고, 결정적이진 않아도 설명이 충분한 스펙을 작업 시스템으로 옮길 정도는 됨. 핵심 흐름은 md로 추론하고 테스트로 검증하는 방식이라 완벽하진 않은데, 실제 트렌드라서 열린 마음으로 들을 필요가 있음.

내가 좋아하는 프로젝트들은 보통 주석 안에 문서가 있음. SpiderMonkey가 좋은 예라서 설계를 왜 그렇게 했는지까지 길게 풀어 쓰는 주석이 있음. 위치성이 목표라면 주석보다 가까운 곳이 없고, 에이전트용 마크다운이 자주 바뀔 거라면 AGENTS.md 하나에 묶어두는 게 나음.

부강의 할 때 항상 학생들한테 "왜"를 쓰는 주석을 쓰라고 말함. 코드는 스스로 설명해야 한다는 말을 다들 하는데, 왜 그렇게 했는지 적어주면 5년 뒤에 코드 받아든 사람이 헛소리라고 생각하며 삽질할 일이 확 줄어듦.

몇 달 전에 비슷한 글을 썼었는데 정작 내 충고를 잘 지키진 못하고 있음. 프로그램 소스에서 진짜 흥미로운 부분은 그 프로그램을 만들기까지 뭘 했는지고, AI가 만든 코드는 나한테 바이너리랑 같은 범주임.

이 방향이면 마크다운용 deep module 같은 거랑 문서 추상화 레이어 관리 방법론이 곧 나올 듯. 진심인데, 서로 뒤엉킨 마크다운 덩어리를 관리하는 건 점점 어려워짐.

문서는 이미 우선순위 밀려서 썩는 곳인데 더 크고 복잡하게 만드는 건 답이 아님. 중첩되는 마크다운이나 restructured-text, asciidoc이면 블록 재사용이나 접히는 섹션 같은 건 이미 충분함.

그 길로 가면 마크다운에도 문법 하이라이트랑 go to definition, 디버거까지 달아주자는 얘기? 그리고 LLM을 컴파일러로 보는 비유가 별로인데, 스펙이 바뀔 때마다 프로젝트를 통째로 재빌드해야 하는 사태가 남. 토큰 비용도 엄청나고 매번 다른 구현이 나옴. 차라리 코드가 진실 원천이고 LLM은 아주 정교한 편집 도구로 보는 게 낫고, 프롬프트는 체크인하되 구현 기록인 문서로 취급하는 게 맞음.

해커뉴스
Radicle 노드 간 트래픽에 암호화와 인증이 없었다, 개발사가 비공개 저장소 사용 중단 권고英 RAF, 1년간 타국 위성 재밍해 왔다고 밝혀... 우주 방어 부대 'Space Effects Squadron' 창설앤스로픽, Claude가 2주 만에 claude.ai를 3.1배 빠르게 만든 방법 공개커리어 사이트 공고 28.3%가 90일 이상 표류, 4.2%는 마감 뒤 30일 안에 같은 자리로 재등장구글, Gemini 3.8 TTS 출시: 30초 샘플로 음성 복제, 배치 생성 시간당 $0.27시애틀 시의회, 식료품 개인화 가격 책정 금지법 통과... 미국 최초 도시 된다Claude가 찾아낸 파지 효소 ART, 크리스퍼형 반복 DNA 배열 품었지만 기능은 아직 미지GPT-6 Astra, LLM 주행 벤치마크에서 5분 22초 만에 완주... 경쟁 모델은 전부 DNFAI 성능 단위당 비용 분기마다 47% 하락, 질문당 $0.30에서 $0.0004로 725배 절감스트라이프, 사내 지식 에이전트 플랫폼 Kai 공개. 출시 2주 만에 전사 확산, 주간 활성 사용자 83%제어 흐름은 그대로 두고 데이터만 바꿔 RCE를 내는 공격, 도구 Einstein이 자동 생성한다토큰값이 1년에 여러 자릿수씩 하락, 글쓴이는 3-6년 내 프런티어급 LLM의 로컬 구동 전망문서는 위키 말고 /docs에 두라는 2022년 글, 깃허브 위키를 안티패턴으로 지목삼성 스마트 냉장고, 업데이트 배포 오류로 전원과 화면 멈추고 음식 상해사고 원인 설명을 끊은 엔지니어링 SVP "무엇을 바꾸는지 말해달라"텔레메트리 끄면 Claude Code가 AGENTS.md를 안 읽었다, 원격 플래그가 원인이고 2.1.281에서 수정Jev를 파이썬 25줄로 재현한 NobodyWho 글은 패러디였다, 확률은 선택 토큰 로짓에서 뽑아htmx 카슨 그로스 제안: 마크다운이 문서가 아니라 소스코드다, /src/md에 커밋하자Obscura VPN 출시: 릴레이와 Mullvad 출구를 나눠 로그를 남길 수 없는 2자 릴레이 구조웨이모, 2시간 안에 기차·버스 타면 다음 Waymo 요금에서 $2.85 깎아주는 트랜짓 리워드 출시ReBarUEFI로 구형 UEFI 보드에서 Resizable BAR 켜기, Turing GPU는 메인보드 UEFI 플래시 필요Unreal Labs, 툴콜 완전 비동기 하니스 'Unreal Agent' 공개... Codex 대비 최대 40% 비용 절감인증 없이 페이지 템플릿 경로 탐색으로 WordPress 조건부 RCE, CVSS 9.2... 4.7 브랜치까지 백포트 패치 배포캘리포니아 수로 위 태양광 파일럿, 100마일당 2,700가구 물 절감 효과 확인MS가 2007년에 죽인 FoxPro, 64비트 런타임 'FoxDev Studio'로 부활Claude Opus 5.5 인텔리전스 지수 58점으로 212개 모델 중 1위, 과제당 비용은 $5.98Ryzen 2년 만에 50% 빨라진 비결: 클럭은 15%뿐이고 코어 폭과 512비트 SIMD가 성능을 만듦ShinyHunters "FBI 직원 전체 데이터 확보" 주장, 요원 5,000명 표본에 주소·전화·배우자 정보 담겨미국 토마호크에 맞은 이란 초등학교에서 아동 123명 사망, 펜타곤 조사는 AI 과잉 의존을 원인으로 지목GPT-6 Astra, 2005년 이후 풀리지 않던 1941년 에니그마 메시지 MVUEH 단독 해독OpenAI, GPT-6 Sol·Luna 공개... API 가격 50% 인하, AutomationBench서 Claude Opus 5 앞서앤스로픽, Claude Opus 5.5 공개: Opus 5 대비 비용 40% 인하, Terminal-Bench 4.0 66.4%라인 스캔 카메라로 담은 샌프란시스코 MUNI 헤리티지 위켄드 트램 7종단어별 의미 점수를 색·굵기·형광으로 바꾸는 JS 라이브러리 semfont, 해커뉴스 토론에서 화제소크라테스가 문자를 비판한 파이드로스 274c: '기억의 약이 아니라 상기의 약'핀란드 AI 클라우드 Verda, Emergence Capital 주도로 $189M 시리즈 B 유치샤오미 MiMo-V2.6-Pro, 오픈웨이트 지능지수 46점으로 1위… 학습비 $3.47M 공개월드컵 104경기 172.6시간 분석해보니 6.7초마다 광고 로고 하나, FIFA는 국가별 광고 교체 기술도 쓰지 않았다AMD의 하드웨어 난수 생성기가 0을 못 만든다? Zen 2의 rdrand16에서 재현되고 Zen 4에서는 정상vibe coding은 유지보수 불가능한 코드로 퇴화한다, 저자는 기업의 'NO-AI' 정책이 경쟁 우위가 될 것이라 예측gzip만으로 셰익스피어를 생성한 실험: 압축이 곧 예측이라는 가정을 빔 서치로 구현한 gziptmacOS 27, Apple Intelligence 끄는 스위치 없애고 22.28GB 디스크 점유Godot 4 첫 2D 셰이더 입문 가이드, 수학 도형 그리기부터 애니메이션 포털 효과까지 단계별 설명Practical Engineering의 교통 신호 작동 원리 해설(2019)이 해커뉴스에 올라, 유도 루프 센서와 ASCT 연동 논의로 이어짐Claude Fable 5·Mythos 5·Opus 5 요청 오류 급증, 80분 만에 복구Git 3.0은 SHA-256 기본 전환 예고, 2.56은 git history drop 추가오픈소스 단파 디지털 라디오 HERMES, 3 kbit/s로 음성·데이터 장거리 전송테렌스 타오 블로그에 '수학·AI 자문단' 출범, OpenAI가 보고한 미공개 수학 결과 공개 방식을 자문3D 좌표를 깊이로 나누는 것에서 시작해 원근 투영 행렬까지, 슬라이더로 설명한 인터랙티브 글Apple Copland 마지막 빌드 D11E4, 패치 11개로 브라우저에서 부팅 성공CMU DLab, "연구 단위는 논문이 아니라 생태계" 주장하며 오픈소스 위크 예고AI 워터마크의 실체는 추적 신호, 저자는 '스파이마크'라는 새 이름을 제안npm 패키지 mathmain, lusolve() 행렬 데이터를 키로 쓰는 암호화 로더로 원격 접근 임플란트 은닉Linear, AI 코딩이 만든 CI 병목 손봐 PR 대기 6분대에서 5분대로CBP, $800 이하 면세(de minimis) 우편물 면제 무기한 정지... 캐나다 처방약 수입 사실상 차단GPT-2 소형 모델을 단계별로 조작해 보는 Transformer 인터랙티브 설명 페이지가 해커뉴스에 올라와뉴저지 광케이블 절단으로 미국 동부 공항 8시간 마비, 7,000편 지연·결항샤오미, MiMo-V2.6 시리즈 오픈소스 공개. Pro가 AA 지능지수 46.32로 오픈소스 최강, RL 학습에 $262만 투입Ask HN: macOS 27에서 설정, 스크린 타임, debloat 스크립트로 Siri를 다 꺼도 Siri AI.app 프로세스가 계속 실행Fable 5 구독 영구 제공 뒤 사고 토큰 급감, 6주 측정에서 8월이 7월보다 크게 줄어라즈베리 파이, RAM 칩 교체하면 부팅 차단... 저용량 보드를 고용량으로 속여 파는 재판매 사기 겨냥M5 Ultra Mac Studio 리뷰: 256GB 통합 메모리로 로컬 AI 에이전트를 돌린다언어모델 거부 반응을 걷어내는 Heretic 공개, HN에서 지표 체리피킹 논쟁 붙어SpaceXAI, Grok 4.7 공개. Grok 4.6과 같은 $2/$6 토큰 가격에 CursorBench 4.0 46.3%'Attention is all you have' 에세이: 테트리스 효과로 설명한 추천 알고리즘의 주의 탈취와 느린 인터넷 복귀 제안ZuckOff, 블루투스로 Ray-Ban Meta 스마트글래스 탐지. 출시 첫 달 App Store 5,000회 다운로드Sun은 왜 망했나, Bryan Cantrill은 '비즈니스 운영에 지루해한 것'을 실패 원인으로 지목역전파가 뒤로 가는 이유: 순방향으로 기울기를 계산하면 같은 항을 반복 전달해 이차 시간이 걸림left-pad을 Jev AI 호출로 다시 구현한 농담 npm 패키지, HN에서 '제2의 npm 대참사' 시나리오로 소비됨2011년 구글 AI 챌린지 'Ants'를 신경망 대회로 되살린 TinyBrains, 16KiB 나노 체급부터 64MiB 라지 체급까지 순위 경쟁Ogre Battle 64 리컴파일 프로젝트 99.05%, 남은 함수 수로 추정한 진행률8GB VRAM 한 장으로 돌아가는 continual learning 언어 모델 mini-AGI 공개Commodore의 System V Amix를 68040·68060에서 되살리는 amigaux.org 프로젝트 공개Qwen3.5 위에 올린 초소형 결정 모델 Kev, 스타 1.3k 모은 Jev류 오픈소스게임큐브 레지던트 이블 4, 원본과 바이트 일치하는 C/C++ 완전 디컴파일 공개MCP는 LLM이 아직 멍청하던 2024년 11월의 프로토콜, 이제 폐기하고 HTTP API와 CLI로 가자는 주장팀 셰이퍼가 1996년에 쓴 그릠 판당고 퍼즐 설계 문서 PDF, 해커뉴스 댓글에 추억담 쏟아져Jev를 한 심볼씩 호출해 챗봇으로 만든 jevchat 공개, README는 '비용은 다소 비실용적, 결과는 웃기다'Show HN: Meetup 대안 'Radius' 재출시, Pro 그룹 월 £12에 이벤트 API·임베드 위젯 무료 제공해커뉴스, 화폐 위계를 마을 우화로 설명한 그레고리 군데르센 글 두고 AI 생성 의혹과 물물교환 신화 논쟁CRT 흐림이 픽셀 아트를 부드럽게 만들었다는 통념은 과장, 실제 CRT 근접 사진에서는 스캔라인과 섀도 마스크가 또렷하고 8비트 블록은 그대로DXOMARK, 아이폰 18 프로 카메라 172점…가변 조리개 호평, 보케 고리와 녹색 플레어는 지적Po-Shen Loh, 테렌스 타오 블로그에 'AI가 사람 일자리를 더 만들어 AI 발전이 느려진다' 주장스노든 아카이브 마지막 문서는 2019년 5월 29일 인터셉트가 공개한 것이 끝, 가디언·슈피겔·NYT가 먼저 중단한 경위 정리구글이 오픈소스 에이전트 오케스트레이터 AX 공개, 클러스터당 수십억 태스크 실행 내세워워런 의원, 사모펀드와 보험사의 의료기관 소유 금지 법안 발의... 올해 시행된 오리건주 법이 모델휠러가 1940년 파인만에게 전화로 제안한 하나의 전자 우주, 파인만은 양전자 해석만 가져갔다Anthropic Claude Code 리드 Boris Cherny의 '나는 자주 틀린다' 6단계 프레임워크 글, 해커뉴스에서 강요와 번아웃 비판 폭주캐나다 정부 압박으로 만들어진 맥 전용 키보드, Ctrl과 Alt에 독자 심벌을 새기다Laya, Mac M4에서 CoreML로 오프라인 실행해 초당 45회 결정EPA가 2024년 발전소 탄소 기준을 폐지, 2039년까지 90% 포집 의무 사라져싱가포르 국립도서관위원회, 하루 15분 독서에 20코인 지급하는 5년 캠페인 ReadSG 시작미국 정밀 선반 제조사 Sherline Tools, 2026년 10월 말 생산 종료하고 폐업 수순삼성, 내년 HBM4·HBM4E 생산 2배 이상 확대. 유리 캐리어 세정 물량 월 2만장에서 5만장으로해커뉴스에서 화제된 pirateface.co, 오픈 AI 모델 66만 개를 토렌트로 영구 보존ChatGPT, SameSite=None인 __obi 쿠키로 광고주 사이트 방문 기록을 계정에 연결1995년 4X 게임 Stars!를 80286 에뮬레이터와 Win16→Win32 브리지로 되살린 Stars!VM 공개, MCP로 Opus 5가 한 판 완주Aoostar WTR Pro NAS에 BSD 올린 리뷰: FreeBSD 9W, NetBSD 18W, OpenBSD 15WShow HN: cronjob 모니터 sigabrt.dev, 스크립트 ping이 안 오면 메일 보내고 SSH TUI로 상태 확인서바이버 우승자 예측한 로지스틱 회귀 모델, 무작위 추첨보다 2배 정확하지만 여전히 대부분 틀린다