
بسیاری از کاربران حرفهای، مجموعهای از اسکریپتهای Bash را برای خودکارسازی کارهای روزمره نگه میدارند؛ اما اجرای مداوم آنها از طریق ترمینال بهمرور طاقتفرسا میشود. کاربر باید به خاطر بسپارد هر اسکریپت چه کاری انجام میدهد، دستور مربوطه را دقیق بنویسد و مسیر پوشه (Folder Path) و گزینههای موردنیاز را بهدرستی وارد کند. یک راهحل ساده این است که بهجای تایپ دستور، صفحهای باز شود، کاربر گزینه موردنظر را انتخاب کند و روی یک دکمه کلیک کند.
همین ایده، نقطه شروع پروژهای شد که نویسنده آن را «File Manager’s Manager» نامیده است؛ یک صفحه وب ساده که بهصورت محلی (Local) روی سیستم مک اجرا میشود و همه اسکریپتها را در یک نقطه واحد جمع میکند تا کاربر پوشهها را انتخاب کند و نتیجه را ببیند.
اسکریپتهای قدیمی، ابزارهای تازه
اسکریپتهایی که در اختیار عامل کدنویسی (Coding Agent) قرار گرفتند، کارهایی را انجام میدهند که انجام دستی آنها از طریق مدیریت فایل بسیار خستهکننده است. محبوبترین آنها یک اسکریپت پاکسازی پوشه دانلود است که فایلها را در پوشههای مجزا برای اسناد، تصاویر، ویدیوها، آرشیوها و فایلهای نصبی دستهبندی میکند. در کنار آن، یک سازماندهنده پوشه جامعتر وجود دارد که همین کار را برای هر پوشهای انجام میدهد؛ از فایلهای خروجی دوربین گرفته تا درایوهای خارجی.
البته این دستهبندی تنها زمانی مفید است که کاربر بداند از هر فایل چه انتظاری دارد. اسکریپت تغییر نام گروهی (Bulk Renamer) همین وظیفه را بر عهده دارد و نامهایی مانند IMG_4928.jpg را با تاریخ، پیشوند یا یک ترتیب شمارهگذاریشده جایگزین میکند.
جستوجو، پاکسازی و پشتیبانگیری در یک صفحه
دسته دیگری از این اسکریپتها برای یافتن فایلها به کار میروند:
- یابنده فایلهای حجیم: بزرگترین فایلها را در ابتدای فهرست نمایش میدهد.
- یابنده فایلهای قدیمی: فایلهایی را علامتگذاری میکند که مدتها تغییر نکردهاند.
- یابنده فایلهای تکراری: با مقایسه هش (Hash) فایلها، نسخههای یکسان را حتی در صورت تفاوت نام شناسایی میکند.
- اسکریپت پشتیبانگیری: پوشههای مهم را به محلی دیگر منتقل میکند و تنها فایلهای جدید یا تغییریافته را جابهجا میسازد.
همه این ابزارها پیش از هر اقدام حذف یا جابهجایی، فهرستی برای بازبینی کاربر ارائه میدهند. نکته مهم آن است که این روش محدود به اسکریپتهای یادشده نیست؛ کاربران میتوانند همین کار را با اسکریپتهای تغییر اندازه تصویر، فشردهسازی ویدیو یا تبدیل اسناد انجام دهند. برای نمونه، نویسنده از مدل Whisper شرکت OpenAI برای رونویسی جلسات از طریق ترمینال استفاده میکند و برای هر زبان اسکریپت جداگانهای دارد؛ او قصد دارد با Claude Code رابطی کوچک با انتخابگر فایل صوتی و منوی زبان بسازد تا این فرایند سادهتر شود.
Claude Code چگونه این رابط را ساخت؟
در این پروژه از Claude Code همراه با مدل Opus 5.5 استفاده شد و ساخت رابط کاربری کمتر از ده دقیقه زمان برد. وجود اسکریپتهای آماده، نقطه شروع مشخصی در اختیار عامل کدنویسی قرار داد تا بتواند کد لازم برای صفحه وب را تولید کند.
Claude Code میتواند فایلهای موجود در پروژه را بخواند، تغییرات را در چند فایل اعمال کند و برای بررسی صحت کار خود دستور اجرا کند. در پروژهای از این دست، این ابزار اسکریپتها را بررسی میکند تا بفهمد هر کدام چه آرگومانهایی (Arguments) میپذیرند و چه خروجیای برمیگردانند، سپس کنترلهای رابط کاربری را بر پایه همان جزئیات میسازد. بنابراین کاربر نیازی ندارد هر اسکریپت را دستی در یک گفتوگو جایگذاری کند و کد تولیدشده را در فایلهای جداگانه کپی کند.
کنترلهای ساختهشده نیز متناسب با نیاز هر اسکریپت طراحی شدهاند؛ یابنده فایلهای حجیم امکان انتخاب پوشه و تعیین حداقل حجم فایل را میدهد، تغییر نام گروهی گزینههای پیشوند و شمارهگذاری را در اختیار کاربر میگذارد و ابزار پشتیبانگیری تنها به یک مبدأ و مقصد نیاز دارد. هنگام اجرا، صفحه این گزینهها را به اسکریپت Bash مربوطه میفرستد و نتیجه را نمایش میدهد.
پیشنمایش و مدیریت خطا؛ دو قابلیت کلیدی
در هر بخشی که احتمال بروز مشکل وجود داشت، پیشنمایش (Preview) نیز اضافه شد. برای نمونه، هنگام تغییر نام صدها فایل، کاربر میتواند نامهای قدیمی و جدید را پیش از اعمال هر تغییری ببیند. همین رویکرد در سازماندهنده پوشه نیز اجرا شده و مقصد نهایی فایلها پیش از جابهجایی نمایش داده میشود.
خطاها نیز درون همان رابط کاربری باقی میمانند. اگر درایو پشتیبانگیری قطع باشد یا دسترسی به یک پوشه ممکن نباشد، پیام خطا روی صفحه دیده میشود و کاربر مجبور نیست برای بررسی، خروجی ترمینال را زیر و رو کند.
ساخت ابزار شخصی، بدون نیاز به توسعهدهنده بودن
یکی از مزیتهای اصلی این روش، امکان ادامه تغییرات در همان گفتوگو است. اگر پیشنمایش تغییر نام به ستون دیگری نیاز داشته باشد یا کاربر گزینه متفاوتی برای سازماندهی پوشهها بخواهد، میتواند از Claude بخواهد پیادهسازی را ویرایش کند. همچنین در صورت بروز خطا، کاربر میتواند متن خطا را در اختیار ابزار بگذارد تا فایلهای مرتبط را بررسی کند.
به گفته نویسنده، تعیین هدف روشن و نوشتن پرامپت (Prompt) دقیق از همان ابتدا، کیفیت خروجی را بهشکل محسوسی بهبود میدهد. این پروژه نمونهای از کاربردهایی است که در آن، کاربر بهجای یادگیری برنامهنویسی برای ساخت یک رابط کاربری، از یک عامل کدنویسی هوش مصنوعی برای تبدیل اسکریپتهای موجود به ابزاری روزمره و کاربردی بهره میگیرد.