johnlindquist/mdflow

Multi-backend CLI for executable markdown prompts. Run .md files against Claude, Codex, Gemini, or Copilot.

해결하는 문제

mdflow는 에이전트 워크플로우를 위한 Git 기반의 제어 플레인입니다. 일관성 없고 반복 불가능한 AI 에이전트 작업 문제를 해결하기 위해, 사용자가 특정 작업(예: 코드 리뷰, 릴리스 노트)을 버전 관리 가능한 Markdown 파일로 정의할 수 있게 해줍니다. 이를 통해 프롬프트를 일급 CLI 명령어로 전환하여 파이프, 체인, 행동 평가로 보호된 상태에서 실행할 수 있습니다.

작동 방식

  • Markdown as Commands: 특정 패턴(예: task.claude.md)으로 이름 지어진 파일은 자동으로 CLI 엔진(Claude, Codex, Gemini 등)에 매핑됩니다. Markdown 본문은 프롬프트로 사용되며, YAML 프론트마터는 CLI 플래그로 변환됩니다.
  • 엔진 해석: 어떤 AI 엔진을 실행할지 결정하기 위해 우선순위 기반의 해석 라더를 사용하며, 명시적인 CLI 플래그, 환경 변수, 파일명을 기본값보다 우선시합니다.
  • 컨텍스트 격리: 기본적으로 사용자 설정이나 세션 지속성과 같은 주변 컨텍스트를 제거하여 실행이 격리되고 반복 가능하게 만듭니다. 다만 _isolated: false로 설정하면 이 기능을 비활성화할 수 있습니다.
  • 라이프사이클 훅: 사용자는 타입스크립트 파일(훅)을 워크플로우에 연결하여 특정 이벤트(예: userPromptSubmit) 시 컨텍스트를 삽입하거나 액션을 차단할 수 있습니다.
  • 행동 평가: md eval 명령어를 통해 격리된 워크스페이스에서 행동 테스트 케이스를 실행하여 프롬프트 수정이 리그레션을 유발하지 않는지 확인할 수 있습니다.
  • 진화 프로토콜: md evolve 명령어를 통해 피드백 기반으로 프롬프트 개선안을 제안하고 검증할 수 있으며, 즉시 소스 파일을 덮어쓰지 않고도 가능합니다.

대상 사용자

AI 에이전트 프롬프트를 코드처럼 다루고 싶은 개발자 및 팀. 버전 관리, 리그레션 테스트, 다양한 CLI 기반 LLM 엔진 간에 AI 작업을 표준화된 방식으로 실행하고자 하는 사람들을 위한 도구입니다.

주요 특징

  • Git 네이티브: 워크플로우는 ./flows 디렉터리에 저장되며, 풀 리퀘스트에서 비교 가능합니다.
  • 유닉스 철학: stdin/stdout를 지원하여 에이전트를 파이프(예: git diff | md review.md)로 연결할 수 있습니다.
  • 워크플로우 워크벤치: 프로젝트, 글로벌, 설치된 워크플로우를 검색하고 실행할 수 있는 인터랙티브 CLI 인터페이스.
  • 엔진 독립적: pi, claude, codex, copilot, gemini, agy 등 다양한 엔진을 지원합니다.
  • 템플릿 변수: 프론트마터 변수, CLI 플래그, 인터랙티브 폼 프롬프트를 통해 동적 입력을 지원합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트