프로젝트 소개

Folio는 프로그램을 설명하는 문서 내에 프로그램을 작성하기 위한 Markdown 형식 및 도구 세트로 제공됩니다. 문서는 format, id, type, status, tangle root와 같은 필드를 포함하는 YAML 헤더로 시작할 수 있습니다. 코드 블록에는 이름을 지정할 수 있으며 대상 파일을 명시할 수 있습니다. Tangling은 문서의 코드 블록을 소스 파일로 수집하고, 각 파일의 주석 스타일에 맞게 생성된 헤더를 작성하며, 어떤 청크가 어떤 파일을 생성했는지 보여주는 tangle-map 사이드카를 기록합니다. 청크는 블록 참조를 한 줄에 배치하여 해당 참조의 들여쓰기에 맞춰 블록을 붙여넣는 방식으로 스플라이스(splice)할 수 있습니다. Weaving은 동일한 문서를 읽기 위한 페이지로 렌더링합니다. checker는 제공된 어휘집이나 문서에 정의된 어휘집을 바탕으로 문서 메타데이터를 검증합니다. 제공된 어휘집은 문서, 소프트웨어 및 그 관계를 설명하며, 확장하거나 교체할 수 있습니다. 문서는 Turtle 또는 YAML 블록을 사용하여 개념과 인스턴스를 선언할 수 있습니다. Publications는 더 큰 컬렉션에서 문서와 코드를 선택하여 독립 저장소를 생성하며, 출처는 PROVENANCE.json에 기록되고 선택 범위 밖의 crates에 대한 의존성은 거부됩니다. 이 저장소는 이러한 방식으로 생성되었으며, 도구와 이를 생성한 소스 문서가 포함되어 있습니다. 생성된 Rust 코드가 커밋되어 있으므로, 새로 클론한 후 cargo로 빌드할 수 있습니다. 가이드는 통합, 기존 코드에 대한 문서 연결 및 현재의 제한 사항을 다룹니다. CI는 다시 tangling을 수행하고 트리 변경 시 실패하도록 설정할 수 있습니다. 라이선스는 MIT이며, 의존성 라이선스는 각자의 약관을 유지합니다. README에는 에이전트에게 프로젝트의 어느 부분에서 Folio가 도움이 될지 평가하도록 요청하는 예시 프롬프트도 제공됩니다.