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

Genie হলো AI কোডিং এজেন্টের জন্য একটি কমান্ড-লাইন পরিকল্পনা-ও-নির্বাহ স্তর। এর মূল প্রতিশ্রুতি হলো "wishes in, PRs out": আপনি এক বাক্যে যা চান তা বর্ণনা করেন, আর Genie আপনাকে ইন্টারভিউ করে একটি প্ল্যান তৈরি করে, সমান্তরালভাবে তা বানাতে এজেন্ট পাঠায়, acceptance criteria-র বিপরীতে ফলাফল রিভিউ করে, এবং merge করার উপযোগী কিছু ফিরিয়ে দেয়। আর্কিটেকচার ইচ্ছাকৃতভাবেই ন্যূনতম। কোনো daemon নেই, Postgres নেই: মূল অংশ হলো কিছু skill, git-এ সংরক্ষিত সাধারণ markdown ডকুমেন্ট, এবং Bun-এর বিল্ট-ইন ইঞ্জিনে প্রতি-রেপো একটি SQLite ফাইল (`.genie/genie.db`)। একটি কমান্ড ডেটাবেস খোলে, একটি transaction চালায়, এবং বন্ধ হয়ে যায়। বান্ডেলটিকে প্রায় 0.9 MB এবং চারটি runtime dependency হিসেবে বর্ণনা করা হয়েছে, আর `nats` কেবল তখনই initialize হয় যখন Omni runner শুরু হয়। ইনস্টলেশন একটি curl-piped shell script। রিলিজগুলো cosign-স্বাক্ষরিত এবং SLSA provenance-যুক্ত, আর ইনস্টলার `gh attestation verify` দিয়ে বাইনারি যাচাই করে, ব্যর্থ হলে `cosign verify-blob` ফলব্যাক হিসেবে ব্যবহার করে। তিনটি সারফেস সরবরাহ করা হয়: স্বাক্ষরিত বাইনারি, skill-গুলো (skills.sh চ্যানেলের মাধ্যমে, অথবা `npx skills add automagik-dev/genie` দিয়ে), এবং একটি ঐচ্ছিক Orca প্লাগইন যা Orca-র দিকে রেজিস্টার করা হয়। ওয়ার্কফ্লো skill-চালিত: `brainstorm` (আইডিয়া থেকে DESIGN.md এবং design review), `wish` (ডিজাইন থেকে execution group-সহ সীমাবদ্ধ WISH.md), `review` (বাধ্যতামূলক plan review), `work` (native role subagent প্রতিটি অনুমোদিত group তৈরি করে), এবং শেষে একটি স্বাধীন implementation review যা SHIP, FIX-FIRST, বা BLOCKED ফেরত দেয়। skill-গুলো runtime-নিরপেক্ষভাবে লেখা হয় এবং শনাক্ত করা প্রতিটি এজেন্ট skill home-এ ইনস্টল করা হয় (Claude Code, Codex ও অন্যদের ব্যবহৃত শেয়ার্ড `~/.agents/skills` home, Goose, Windsurf)। স্টেট ও ডকুমেন্ট আলাদা রাখা হয়: wish, design ও brainstorm হলো `.genie/`-এর অধীনে markdown, আর task, board, dependency edge ও execution state থাকে SQLite-এ। একটি রেপোর linked worktree-গুলো git common directory থেকে resolve করা একটি ডেটাবেস শেয়ার করে, তাই sync ধাপ ছাড়াই worktree-জুড়ে task দৃশ্যমান থাকে। একটি `genie context` কমান্ড spawn context (branch, base SHA, ready task) বর্ণনা করা versioned JSON নির্গত করে। Genie-র দুটি lifecycle mode আছে। `standalone` হলো ডিফল্ট; `genie setup --orchestration-mode orca` একটি সামঞ্জস্যপূর্ণ runtime যাচাই করার পর Orca-কে একমাত্র lifecycle authority বানায়, এবং সেই mode-এ Genie চুপচাপ ফলব্যাক না করে স্থানীয় lifecycle read/write প্রত্যাখ্যান করে। পুরোনো MCP server ও UI bridge অবসর দেওয়া হয়েছে, যেখানে `genie mcp` ও `genie ui-bridge` স্থিতিশীল diagnostic-সহ non-zero দিয়ে exit করে। একটি ঐচ্ছিক `genie omni` bridge NATS-এর উপর Omni hub হয়ে চলমান এজেন্টকে WhatsApp-এর সাথে সংযুক্ত করে, দূরবর্তী approval ও inbound one-shot-এর জন্য। উল্লেখযোগ্য পরিচালনাগত বিবরণ: `genie doctor` ইনস্টল স্বাস্থ্য ও প্রতি-এজেন্ট skill-এর উপস্থিতি রিপোর্ট করে; `genie update` backup-first পদ্ধতিতে plugin-যুগের অবশিষ্টাংশ অবসর দেওয়া সামলায়, পরিবর্তিত বা অস্পষ্ট asset সংরক্ষণ করে; `genie uninstall` কেবল সেই artifact মুছে ফেলে যা Genie-র মালিকানা বলে প্রমাণ করতে পারে। README স্পষ্টভাবে বলে যে লাইভ WhatsApp round-trip একটি নথিভুক্ত manual-QA ধাপ, অন্যদিকে Omni-র আচরণ test suite-এ একটি fake transport-এর বিপরীতে যাচাই করা হয়।