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

Tic একটি ফ্রি, ওপেন-সোর্স macOS অ্যাপ্লিকেশন যা আপনার টু-ডু লিস্টগুলোকে মেনু বার থেকে বের করে এনে ডেস্কটপে ভাসমান স্টিকি নোট হিসেবে নিয়ে আসে। প্রতিটি নোট একটি স্বতন্ত্র চেকলিস্ট যা আপনি ড্র্যাগ, রিসাইজ এবং কাস্টমাইজ করতে পারেন, ফলে কাজ করার সময় টাস্কগুলো দৃশ্যমান রাখা সহজ হয়। ## প্রধান বৈশিষ্ট্য - **ভাসমান স্টিকি নোট** – বর্ডারলেস, ড্র্যাগযোগ্য, রিসাইজযোগ্য প্যানেল। আপনি চাইলে একটি নোট অন্য উইন্ডোগুলোর উপরে ভাসমান রাখতে পারেন বা সব Space-এ দেখাতে পারেন। অবস্থান ও অবস্থা লঞ্চের মধ্যে সংরক্ষিত থাকে। - **একাধিক লিস্ট** – মেনু বার থেকে, ⌘N দিয়ে, নোটের ভেতরের + বাটন দিয়ে, বা Dock মেনু থেকে নতুন লিস্ট তৈরি করুন। নতুন লিস্টগুলো স্বয়ংক্রিয়ভাবে List 1, List 2, ইত্যাদি নাম পায়। - **সমৃদ্ধ টাস্ক** – ৩ স্তর পর্যন্ত সাবটাস্ক (একটি প্যারেন্ট সম্পন্ন করলে তার চিল্ড্রেনও সম্পন্ন হয়), মাল্টিলাইন নোট (Shift-Return), এবং ইনলাইন Markdown ফরম্যাটিং (বোল্ড, ইটালিক, কোড, স্ট্রাইকথ্রু, লিংক) সমর্থিত। এডিট করতে ট্যাপ করুন, পুনর্বিন্যাস করতে ড্র্যাগ করুন, বা নেস্ট করতে ডানে ড্র্যাগ করুন। - **সলিড বা Liquid-Glass নোট** – প্রতি-নোট রঙের থিম বা একটি ট্রান্সলুসেন্ট মেটেরিয়াল বেছে নিন যা ডেস্কটপকে দেখা যেতে দেয়। - **রোল-আপ** – একটি নোটকে শুধু হেডারে সংকুচিত করতে তার টাইটেল বার ডাবল-ক্লিক করুন। - **Raycast-স্টাইল সার্চ প্যালেট** – যেকোনো লিস্ট সার্চ, খোলা বা মুছে ফেলার জন্য একটি ভাসমান, কেন্দ্রীভূত কমান্ড প্যালেট, সম্পূর্ণ কীবোর্ড নেভিগেশন সহ। - **Launch at Login** – ঐচ্ছিক অটো-স্টার্ট, সাথে একটি কাস্টম মেনু-বার আইকন এবং নেটিভ Dock পরিচয়। ## প্রয়োজনীয়তা - macOS 14 (Sonoma) বা তার পরবর্তী। ## ইনস্টলেশন 1. [রিলিজ পেজ](https://github.com/kasvith/tic/releases) থেকে সর্বশেষ `Tic-vX.Y.Z.zip` ডাউনলোড করুন, আনজিপ করুন, এবং `Tic.app` কে `/Applications`-এ সরান। 2. Tic ad-hoc signed (notarized নয়), তাই প্রথম লঞ্চে Gatekeeper এটি ব্লক করতে পারে। কোয়ারেন্টাইন ফ্ল্যাগ মুছুন: ```sh xattr -c /Applications/Tic.app ``` তারপর স্বাভাবিকভাবে খুলুন। বিকল্পভাবে, `Tic.app`-এ রাইট-ক্লিক করুন → Open → Open। 3. Tic স্বয়ংক্রিয়ভাবে শুরু করতে চাইলে, মেনু-বার মেনু থেকে **Launch at Login** সক্রিয় করুন। ## সোর্স থেকে বিল্ড করা Tic একটি Swift Package, তাই কোনো `.xcodeproj` প্রয়োজন নেই। ```sh swift run # build + launch (dev) swift build -c release # release build swift test # run the test suite (Swift Testing) ./scripts/package.sh # assemble dist/Tic.app (add --open to launch it) open Package.swift # edit in Xcode ``` ## ব্যবহার - মেনু-বার আইকন আপনার সাম্প্রতিক লিস্টগুলো দেখায় (বাকিগুলোর জন্য একটি **More Lists** সাবমেনু সহ) এবং **Search Lists…**, **New List** (⌘N), এবং **Launch at Login**-এ দ্রুত অ্যাক্সেস দেয়। - একটি নোটের কন্ট্রোল দেখতে তার উপর হোভার করুন: রঙ, সলিড/গ্লাস, float-on-top, roll-up, **+** নতুন লিস্ট, এবং ক্লোজ। নাম পরিবর্তন করতে টাইটেলে ক্লিক করুন; নিচের ফিল্ড টাস্ক যোগ করে (Return ফোকাস রাখে)। - একটি টাস্কের **✕** (ডিলিট) এবং তার নিচে একটি **+** লাইন দেখতে টাস্কের উপর হোভার করুন – সারির নিচে নেস্ট করা সাবটাস্ক যোগ করতে সেটিতে ক্লিক করুন। খালি টাস্কগুলো আপনি অন্যত্র ক্লিক করলে অদৃশ্য হয়ে যায়। ## কীবোর্ড শর্টকাট | শর্টকাট | অ্যাকশন | | --- | --- | | **Return** | একটি টাস্ক এডিটিং শেষ করুন / টাইপ করা টাস্ক যোগ করুন | | **Shift-Return** (বা **⌥ Return**) | একই টাস্কের মধ্যে নতুন লাইন | | **Shift-Tab** | টাস্কটিকে সাবটাস্ক বানান (এক স্তর গভীরে নেস্ট করুন) | | **⌃ Shift-Tab** | একটি সাবটাস্ক আন-নেস্ট করুন (এটি আবার বাইরে সরান) | | **⌘N** | নতুন লিস্ট | | টাইটেল বার **ডাবল-ক্লিক** | নোট রোল আপ / ডাউন করুন | আপনি একটি টাস্ক পুনর্বিন্যাস করতে ড্র্যাগ করতে পারেন, বা নেস্ট করতে ডানে ড্র্যাগ করতে পারেন – ড্রপ ইন্ডিকেটর দেখায় এটি কোথায় (এবং কোন স্তরে) পড়বে। এডিট করার সময়, ফিল্ডে একটি ছোট keycap হিন্ট (⇧⏎ line, ⇧⇥ nest) দেখা যায় যাতে আপনাকে টেবিলটি মুখস্থ করতে না হয়। ## আর্কিটেকচার Tic AppKit `NSPanel`-এর ভেতরে হোস্ট করা SwiftUI ভিউ ব্যবহার করে (সত্যিকারের ডেস্কটপ-স্টিকি আচরণ অর্জনের একমাত্র উপায়), যা GRDB-এর মাধ্যমে SQLite দ্বারা সমর্থিত। একটি `AppModel` কোঅর্ডিনেটর মেনু বারকে উইন্ডো লেয়ারের সাথে সংযুক্ত করে। সম্পূর্ণ বিবরণের জন্য `CLAUDE.md` দেখুন। **স্ট্যাক:** Swift 6 · SwiftUI + AppKit · GRDB (SQLite) · `SMAppService` (login item)। ## ডেভেলপমেন্ট ও রিলিজ - **CI** (`.github/workflows/ci.yml`) প্রতিটি পুশ/PR-এ বিল্ড, টেস্ট এবং লিন্ট করে। - **Changelog** [Conventional Commits](https://www.conventionalcommits.org) থেকে [git-cliff](https://git-cliff.org) (`cliff.toml`) দিয়ে তৈরি হয় এবং `CHANGELOG.md`-এ রাখা হয়। - **রিলিজগুলো ট্যাগ-ভিত্তিক:** একটি `v*` ট্যাগ পুশ করুন এবং রিলিজ ওয়ার্কফ্লো `Tic.app` বিল্ড করে, রিলিজ নোট তৈরি করে, এবং জিপ করা অ্যাপ সহ একটি GitHub Release প্রকাশ করে। ```sh git tag v0.1.0 && git push origin v0.1.0 ``` আইকন সোর্স আর্ট `Assets/`-এ থাকে (AppIcon / Flat / MenuBar)। ## লাইসেন্স [MIT License](LICENSE)-এর অধীনে প্রকাশিত। © 2026 Kasun Vithanage।