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

gha-doctor একটি কমান্ড-লাইন টুল যা কোনো কনফিগারেশন ছাড়াই GitHub Actions ওয়ার্কফ্লোতে flaky jobs, অপচয়কৃত মিনিট, ধীর পদক্ষেপ, ক্যাশে সমস্যা এবং ওয়ার্কফ্লো অ্যান্টি-প্যাটার্ন সনাক্ত করে। README-এ ইহাকে actionlint (সঠিকতা) এবং zizmor (নিরাপত্তা)-এর সাথে তুলনা করে, গতি, খরচ এবং নির্ভরযোগ্যতা নিয়ে কাজ করে। এটি .github/workflows থেকে স্ট্যাটিক চেক করে এবং run-history বিশ্লেষণের জন্য GITHUB_TOKEN বা gh CLI অথেন্টিকেশন ব্যবহার করে; lint-only মোড অফলাইনে কোনো অথেন্টিকেশন ছাড়া কাজ করে। --repo flag দিয়ে অন্য রিপোজিটরি থেকে API-এর মাধ্যমে ওয়ার্কফ্লো ফাইল এবং রান হিস্ট্রি আনা যায়, তাই রিপো ক্লোন করার দরকার নেই। --org দিয়ে পুরো সংস্থার fleet triage করা যায়। স্ট্যাটিক অ্যানালিসিস ২১টি প্রামাণিত রুলে (D001 থেকে D021) সাজানো, যাদের severities এবং line numbers YAML-এর সঠিক অবস্থান নির্দেশ করে। এতে missing concurrency (cancel-in-progress), jobs without timeout-minutes, setup-node/setup-python/setup-java without built-in cache input, full-history checkouts, ১৫ মিনিটের চেয়ে বেশি frequent crons, প্রতিটি push-এ macOS এবং Windows runners, docker build-push without cache-from, actions/cache without restore-keys, job-level continue-on-error, default artifact retention, large matrices, npm install instead of npm ci, unscoped push plus pull_request double triggers, cron at minute 0, shut-down বা retired runner labels, action versions, missing automated action pin updates, deprecated workflow commands, deprecated Node runtimes, এবং scheduled workflows without repository guard-এর মতো বিষয়গুলো covered আছে। Finding-গুলো inline comment দিয়ে বা --disable দিয়ে mute করা যায় এবং --explain দিয়ে প্রতিটি রুল ব্যাখ্যা করা যায়। Run-history analysis ফ্লাকি jobs সনাক্ত করে, per-workflow success rate, p50/p95 duration, queue time এবং cost রিপোর্ট করে, slowest steps এবং wasted minutes চিহ্নিত করে, cache hit/miss rate পরিমাপ করে এবং job logs থেকে flaky test-এর নাম বলে। সব কী ০ থেকে ১০০ health score-এ汇总 হয় যা SVG ব্যাজ হিসাবে লেখা যায়। আউটপুট ফরম্যাটে plain text, machine-readable JSON (JSON Schema সহ), Markdown, SARIF 2.1.0, inline annotation workflow commands এবং self-contained HTML report (inline charts সহ) রয়েছে। Auto-fix mode fixable rules-এর জন্য surgical line edits প্রয়োগ করে, diff mode changes preview করে কিন্তু লেখে না। .gha-doctor.yml বা .github/gha-doctor.yml-তে disabled rules, history sample size, log sampling এবং failure thresholds-এর মতো policy সেট করা যায়। explicit CLI flags-এর অগ্রাধিকার রয়েছে। Exit code 2 warnings-এর জন্য যা CI gate করতে পারে। এটি একটি composite GitHub Action হিসাবেও আসে যার inputs-এ args, version, token, job summary, sticky PR comments, baseline diffing এবং failure thresholds রয়েছে। GitHub Enterprise Server GH_HOST ভেরিয়েবল দিয়ে সাপোর্ট করে। Model Context Protocol stdio server mode-তে六个 read-only tool (analyze_repo, lint_repo, preview_fixes, run_deep_dive, org_overview, explain_rule) MCP clients-কে CI health query করতে দেয়। server অফিশিয়াল MCP Registry-তে তালিকাভুক্ত এবং container image থেকেও চালানো যায়। ইনস্টলেশনের বিকল্প: gh CLI extension, Homebrew, Scoop, distroless multi-arch Docker image, go install, aqua, mise/ubi, asdf, release binaries, deb/rpm/apk packages, shell completions এবং pre-commit hooks। একটি browser playground WebAssembly-এর মাধ্যমে client-side-এ লিন্টার এবং auto-fix চালায়। README বলে যে প্রজেক্টটি একটি AI agent দ্বারা তৈরি এবং তৈরি ও রক্ষণাবেক্ষণ করা হয়; টুল কেবল রিপোজিটরি থেকে পড়ে; private-repo ব্যবহারের জন্য Actions read এবং Contents read permissions লাগে।