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

# VibeCoder **ফোন থেকে GitHub issue তৈরি করুন, স্বয়ংক্রিয়ভাবে PR (Pull Request) পান, review করুন এবং thumbs up দিয়ে fix অনুরোধ করুন।** VibeCoder একটি coding-agent CLI দ্বারা চালিত স্বয়ংক্রিয় GitHub issue worker। এটি আপনার রিপোজিটরি মনিটর করে, issue নেয়, কোড লেখে, quality check চালায় এবং pull request খোলে — আপনি কীবোর্ড স্পর্শ না করেই। এটি **provider agnostic**: `claude` ([Claude Code](https://docs.anthropic.com/en/docs/claude-code)) ডিফল্ট, এবং `codex` (OpenAI Codex CLI), `gemini` (Gemini CLI) এবং `deepseek` (DeepSeek, Claude Code CLI-এর মাধ্যমে পরিবেশিত) বিল্ট-ইন এবং configuration দ্বারা নির্বাচিত। ## এটি কীভাবে কাজ করে 1. আপনি GitHub-এ একটি issue তৈরি করেন (যেমন, ফোন থেকে)। 2. VibeCoder Worker issue সনাক্ত করে এবং নিজেকে assign করে। 3. worker একটি feature branch তৈরি করে এবং কাজটি configured Coding Agent-কে delegate করে। 4. agent কোড পরিবর্তন লেখে। 5. worker quality check চালায় (linting, testing, formatting)। 6. check পাস হলে, worker GitHub-এ একটি Pull Request খোলে। 7. আপনি PR review করেন, comment রাখেন, বা fix trigger করতে thumbs-up দেন। 8. worker feedback প্রয়োগ করে এবং update push করে। 9. আপনি approve করেন এবং PR merge করেন। ## আপনার coding agent নির্বাচন করুন coding agent একটি পৃথকযোগ্য layer। চারটি provider বিল্ট-ইন: | Provider id | Agent | Credential file | | --- | --- | --- | | `claude` (default) | Claude Code | `claude/provider.env` | | `codex` | Codex CLI | `codex/provider.env` | | `gemini` | Gemini CLI | `gemini/provider.env` | | `deepseek` | DeepSeek (via Claude Code CLI) | `deepseek/provider.env` | `.config.json`-এ `agent_provider` key দিয়ে একটি নির্বাচন করুন। Mixed host quota-aware selection-এ opt in করতে পারে। ## মূল বৈশিষ্ট্য - **Issue-to-PR pipeline**: একটি issue লিখুন, একটি PR পান। worker branching, coding, testing, এবং PR creation পরিচালনা করে। - **Review feedback loop**: PR-এ comment রাখুন, fix trigger করতে thumbs-up দিন। - **Clarification & refinement**: issue অস্পষ্ট হলে, worker শুরু করার আগে প্রশ্ন করে। - **Planning mode**: সরাসরি implementation-এর পরিবর্তে task breakdown এবং sub-issue পেতে `planning` label যোগ করুন। - **Question answering**: implementation ছাড়াই codebase সম্পর্কে উত্তর পেতে `question` label যোগ করুন। - **Spelling auto-fix**: PR-এ ব্যর্থ spelling check স্বয়ংক্রিয়ভাবে সংশোধন করা হয়। - **CI failure auto-fix**: খোলা PR-এ ব্যর্থ CI check স্বয়ংক্রিয়ভাবে নির্ণয় ও সংশোধন করা হয়। - **Idle-task framework**: কোনো claimable কাজ না থাকলে, worker low-priority idle task (security, best-practices, ইত্যাদি) ফাইল করে। - **Security scans**: Idle-run monitored repo-র বিরুদ্ধে security scan চালায়। - **Priority-based work queue**: PR feedback, তারপর spelling fix, CI remediation, ইত্যাদি অগ্রাধিকার দেয়। - **Cost optimisation**: Phase-based model selection, prompt caching, এবং token usage tracking। - **Post-run callbacks**: সফল/ব্যর্থ run-এর পরে optional executable চলে। - **Per-repo configuration**: প্রতি repository-তে worker behavior কাস্টমাইজ করুন। - **Milestone enhancements**: Progress notification, আটকে থাকা branch-এর স্বয়ংক্রিয় roll-back। - **Self-healing**: Shadow-copy execution, স্বয়ংক্রিয় repo reset, disk cleanup, crash resilience। - **Safe by default**: শুধুমাত্র allowed author এবং configured label থেকে issue প্রক্রিয়া করে। - **Extendable**: Deno/TypeScript command-এর মাধ্যমে নতুন functionality যোগ করুন। ## Quality এবং control আপনার review ছাড়া কিছুই default branch (prod)-এ যায় না। প্রতিটি পরিবর্তন একটি PR হিসেবে আসে; আপনি review করেন, fix অনুরোধ করেন, এবং merge-এর আগে approve করেন। worker TDD, KISS, DRY অনুসরণ করে এবং সম্পূর্ণ quality gate চালায় (`deno test`, `deno lint`, `deno check`, `deno fmt --check`, এবং semgrep)। ## Quick Start ### macOS / Linux ```bash # Clone the repository gh repo clone <your-org>/VibeCoder cd VibeCoder # Configure via environment variables VIBE_ALLOWED_AUTHOR=myusername \ VIBE_REPOS="myorg/repo1,myorg/repo2" \ ./setup.sh # Start the worker ./run.sh ``` ### Windows (PowerShell) ```powershell # Clone the repository gh repo clone <your-org>/VibeCoder cd VibeCoder # Configure $env:VIBE_ALLOWED_AUTHOR = "myusername" $env:VIBE_REPOS = "myorg/repo1,myorg/repo2" .\setup.ps1 # Start the worker .\run.ps1 ``` ## Architecture worker একটি thin launcher + Deno TypeScript architecture ব্যবহার করে। Entry point হলো minimal shell/PowerShell script যা সমস্ত business logic Deno-তে delegate করে। Cross-platform: macOS, Linux, এবং Windows। worker একটি least-privilege container-এর ভিতরে চলে। Containment বাধ্যতামূলক। GitHub একমাত্র স্বাভাবিক remote control plane। ## Requirements - একটি supported container runtime: macOS-এ Apple `container`, Linux এবং Windows-এ Docker বা Podman। - [Deno](https://deno.com/) 2+ — launcher-এর একমাত্র host tool। - launcher চালাতে `bash` (macOS/Linux) বা PowerShell (Windows)। - শুধুমাত্র setup-এর জন্য: Git এবং একটি authenticated GitHub CLI। ## Documentation - [Overview](docs/OVERVIEW.md): Single-page walkthrough। - [Label Flows](docs/workflows/label-flows.md): কোন label কখন। - [Usage Guide](docs/USAGE.md): Issue তৈরি, PR workflow। - [Workflows Overview](docs/workflows/README.md): Repo owner-দের জন্য user manual। - [Quorum](docs/QUORUM.md): একসাথে কয়েকটি provider চালানো।