প্রকল্প সম্পর্কে
## ওভারভিউ
jira-integration হল Claude Code-এর জন্য একটি প্লাগইন যা একটি Jira issue-কে ব্রাঞ্চ তৈরি → approach ডিজাইন → ইমপ্লিমেন্টেশন → টেস্ট → রিভিউ → লোকাল মার্জ পর্যন্ত প্রসেস করে এবং প্রতিটি ধাপের ফলাফল Jira comment, attachment, status transition আকারে রেকর্ড করে। একাধিক issue-কে queue-তে রেখে ক্রমান্বয়ে শেষ করার পর, পাস/আইসোলেট ফলাফল একটি exception report-এ সারসংক্ষেপ করে মানুষ শুধুমাত্র আইসোলেট হওয়া কেসগুলো বিচার করে।
## কার্যপ্রণালী কাঠামো
দুটি লুপ নিয়ে গঠিত।
- স্টেপ লুপ (`auto`): একটি টাস্ক start → approach → impl+test → review ক্রমে এগোয়। প্রতিটি ধাপ আলাদা sub-agent দিয়ে চালানো হয় এবং ধাপ অনুযায়ী ভিন্ন মডেল নির্ধারিত হয়। রিভিউ গেট ডিজাইন-ইমপ্লিমেন্টেশন ম্যাচিং রেট এবং Critical সংখ্যা কাঠামোবদ্ধ মান দিয়ে যাচাই করে; পাস না হলে মডিফিকেশন agent lint, typecheck এবং শুধুমাত্র সম্পর্কিত টেস্ট চালানো সেন্সর লুপ (সর্বোচ্চ ৫ বার) দিয়ে কনভার্জ করে, তারপর পুরো টেস্ট এবং delta পুনরায় রিভিউ প্রতিটি ১ বার করে। বাইরের লুপের সীমা ২ বার।
- টাস্ক লুপ (`loop`): `init` দিয়ে তৈরি করা queue ক্রমান্বয়ে শেষ করে, প্রতিটি টাস্কে auto → লোকাল `--no-ff` মার্জ → বাকি worktree-গুলোর rebase করে। গেট পাস না হওয়া, ধাপ ব্যর্থতা, মার্জ/rebase দ্বন্দ্ব হলে শুধুমাত্র ওই টাস্কটি আইসোলেট করে পরেরটিতে এগোয়। শুধুমাত্র অথেনটিকেশন (401/403), MCP সংযোগ, base ক্ষতিগ্রস্ত হওয়ার মতো ইনফ্রাস্ট্রাকচার সিগন্যাল বা ভিন্ন ভিন্ন টাস্কের ধারাবাহিক ব্যর্থতায় পুরো প্রক্রিয়া বন্ধ করে।
নিয়ন্ত্রণ প্রবাহ প্রম্পট ব্যাখ্যা দিয়ে নয়, বরং Workflow স্ক্রিপ্ট (`scripts/auto.workflow.js`) নির্ধারকভাবে (deterministic) চালায় বলে ডকুমেন্টে উল্লেখ আছে।
## Jira সংযোগ
একটি issue কী একটি ব্রাঞ্চ (`feature/<KEY>`), worktree এবং কনটেক্সট ফাইলের সাথে মিলে যায়। মূল রিপোর `.jira-context.json` পুরো queue-এর aggregate এবং প্রতিটি worktree-এর নিজস্ব ফাইল ওই টাস্কের অবস্থা। কমান্ড অনুযায়ী status transition (করতে হবে → চলছে → রিভিউতে → সম্পন্ন), comment, attachment (approach/review ডকুমেন্ট, টেস্ট রিপোর্ট) তৈরি হয়। আইসোলেশন Jira-তে কোনো পরিবর্তন না করেই শুধুমাত্র লোকাল অবস্থায় রেকর্ড হয়।
Jira কল করার দায়িত্ব `scripts/jira-cli.py` (REST) নেয়, যা শুধুমাত্র স্ট্যান্ডার্ড লাইব্রেরি ব্যবহার করে; credentials ওয়ার্কস্পেস-স্তরের `.jira-context.json`-এর `jira` ব্লকে সংরক্ষিত থাকে এবং পরিবেশ চলক ও লিগ্যাসি MCP সেটিংস থেকে স্বয়ংক্রিয়ভাবে স্থানান্তরিত হয়। MCP সার্ভার রেজিস্ট্রেশন ঐচ্ছিক।
## প্রধান কমান্ড
- ইস্যু তৈরি: `epic set/show/clear`, `discover`, `create`
- কিউ/অটোমেশন: `init`, `loop`, `auto`
- পৃথক ধাপ: `start`, `approach`, `impl`, `test`, `review`, `merge`, `pr`, `done`
- দেখা/পরিষ্কার: `status`, `report`, `clean`
- অন্যান্য: `/jira setup`, `/jira dashboard`
## পরিচালনা নিয়ম
কাজের পরিধি L1/L2/L3 দিয়ে নির্ধারণ করে আউটপুটের পরিমাণ এবং রিভিউয়ের গভীরতা সামঞ্জস্য করা হয়। ডেটা মডেল, ট্রানজেকশন সীমানা, বাহ্যিক API চুক্তি, কনকারেন্সি, সিকিউরিটি সীমানা স্পর্শ করলে L1 হলেও L2-তে উন্নীত হয়। `start` শুধুমাত্র approach এবং test এই দুটি ধাপের জন্য skipp করার পরামর্শ দিতে পারে; impl, review, merge skipp হয় না। প্রতিটি ধাপ `completedSteps`-এ রেকর্ড হয়, তাই পুনরায় চালানোর সময় সম্পন্ন ধাপগুলো এড়িয়ে যায়।
## আউটপুট এবং ড্যাশবোর্ড
`docs/` ফোল্ডারের নিচে requirements, approach, test, review ডকুমেন্ট এবং review-log, run-log (jsonl) জমা হয়। run-log এবং review-log রিভিউ ফলস-পজিটিভ রেট, ধাপে সময়, ফিক্সের ফ্রিকোয়েন্সি, আইসোলেশনের কারণ ইত্যাদি হারনেসের নিজস্ব পর্যবেক্ষণ ডেটা হিসেবে ব্যবহৃত হয়। ড্যাশবোর্ড `http://127.0.0.1:8765`-এ worktree অনুযায়ী কার্ড (চলমান ধাপ, টুল কল, Jira স্ট্যাটাস, blocks গ্রাফ) SSE দিয়ে রিয়েল-টাইম দেখায়; এটি শুধুমাত্র localhost-এর জন্য এবং কোনো অথেনটিকেশন নেই।
## লাইসেন্স
MIT
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.