প্রকল্প সম্পর্কে

Folio-কে একটি Markdown ফরম্যাট এবং এক সেট টুল হিসেবে উপস্থাপন করা হয়েছে, যার মাধ্যমে একটি প্রোগ্রামের ভেতরেই তার ব্যাখ্যা লেখা সম্ভব। একটি ডকুমেন্ট YAML হেডার দিয়ে শুরু হতে পারে যেখানে format, id, type, status এবং tangle root-এর মতো ফিল্ড থাকে। কোড ব্লকগুলোর নাম দেওয়া যেতে পারে এবং একটি টার্গেট ফাইল নির্দিষ্ট করা যেতে পারে। Tangling প্রক্রিয়ার মাধ্যমে ডকুমেন্টের কোড ব্লকগুলোকে সোর্স ফাইলে সংগ্রহ করা হয়, প্রতিটি ফাইলের কমেন্ট স্টাইলে একটি জেনারেটেড হেডার লেখা হয় এবং একটি tangle-map সাইডকার রেকর্ড করা হয় যা দেখায় কোন চাঙ্কটি কোন ফাইল তৈরি করেছে। একটি লাইনে ব্লক রেফারেন্স বসিয়ে এবং সেই রেফারেন্সের ইনডেন্টেশনে ব্লকটি পেস্ট করে চাঙ্কগুলো স্প্লাইস করা সম্ভব। Weaving একই ডকুমেন্টকে পড়ার জন্য একটি পেজ হিসেবে রেন্ডার করে। Checker টুলটি সরবরাহকৃত ভোকাবুলারি বা ডকুমেন্টে সংজ্ঞায়িত ভোকাবুলারির বিপরীতে ডকুমেন্টের মেটাডেটা যাচাই করে। সরবরাহকৃত ভোকাবুলারি ডকুমেন্ট, সফটওয়্যার এবং তাদের সম্পর্ক বর্ণনা করে এবং এটি সম্প্রসারিত বা প্রতিস্থাপন করা যেতে পারে। ডকুমেন্টগুলো Turtle বা YAML ব্লকের মাধ্যমে কনসেপ্ট এবং ইনস্ট্যান্স ঘোষণা করতে পারে। Publications বৃহত্তর সংগ্রহ থেকে নির্দিষ্ট ডকুমেন্ট এবং কোড নির্বাচন করে একটি স্বতন্ত্র রিপোজিটরি তৈরি করে, যার উৎস PROVENANCE.json-এ রেকর্ড করা থাকে এবং নির্বাচিত অংশের বাইরের crates-এর ওপর নির্ভরতা বর্জন করা হয়। এই রিপোজিটরিটিও সেভাবেই তৈরি করা হয়েছে এবং এতে টুলটির পাশাপাশি এটি তৈরি করতে ব্যবহৃত সোর্স ডকুমেন্টগুলো অন্তর্ভুক্ত রয়েছে। জেনারেটেড Rust কোডগুলো কমিট করা হয়েছে, তাই একটি ফ্রেশ ক্লোন cargo দিয়ে বিল্ড করা সম্ভব। গাইডগুলোতে ইন্টিগ্রেশন, বিদ্যমান কোডের সাথে ডকুমেন্ট সংযুক্ত করা এবং বর্তমান সীমাবদ্ধতাগুলো আলোচনা করা হয়েছে। CI পুনরায় tangle করতে পারে এবং ট্রি পরিবর্তন হলে ব্যর্থ হতে পারে। এর লাইসেন্স হলো MIT, এবং ডিপেন্ডেন্সি লাইসেন্সগুলো তাদের নিজস্ব শর্তাবলী বজায় রাখে। README-তে একটি উদাহরণ প্রম্পট দেওয়া হয়েছে যার মাধ্যমে কোনো এজেন্টকে জিজ্ঞাসা করা যায় যে একটি প্রজেক্টে Folio কীভাবে সাহায্য করতে পারে।