GitWizard কী?

GitWizard হলো একটি প্রফেশনাল গ্রেড পাইথন CLI টুল যা Git কমিট জেনারেশন, পুশিং এবং রিপোজিটরি ম্যানেজমেন্ট সম্পূর্ণভাবে অটোমেট করে। এটি ডেভেলপারদের জন্য তৈরি করা হয়েছে যারা পুনরাবৃত্তিমূলক git অপারেশন অটোমেট করে সময় বাঁচাতে চান এবং পরিষ্কার ও অর্থবহ কমিট হিস্ট্রি বজায় রাখতে চান।

আপনি একটি সম্পূর্ণ নতুন প্রজেক্ট শুরু করছেন বা বিদ্যমান রিপোজিটরি ম্যানেজ করছেন, GitWizard প্রাথমিক GitHub সেটআপ থেকে শুরু করে স্মার্ট diff-ভিত্তিক কমিট মেসেজ জেনারেশন পর্যন্ত সবকিছু পরিচালনা করার জন্য শক্তিশালী কমান্ড প্রদান করে। টুলটি আপনার প্রকৃত কোড পরিবর্তনগুলো বিশ্লেষণ করে এবং স্বয়ংক্রিয়ভাবে বর্ণনামূলক কমিট মেসেজ তৈরি করে, ভেরিয়েবল রিনেমের মতো শব্দ-স্তরের প্রতিস্থাপন সনাক্ত করে, এবং অটোমেটেড ও ম্যানুয়াল উভয় কমিট ওয়ার্কফ্লো সাপোর্ট করে।

টুলটি ২৪০+ প্রোগ্রামিং ও স্ক্রিপ্টিং ভাষা সাপোর্ট করে প্রতিটি প্রধান ক্যাটাগরিতে, যা একে আধুনিক ডেভেলপমেন্ট এনভায়রনমেন্টের জন্য সত্যিকারের ইউনিভার্সাল করে তোলে। এটি সম্পূর্ণ লোকালি কাজ করে, কোনো কোড বাহ্যিক সার্ভারে পাঠায় না, কোনো API টোকেনের প্রয়োজন হয় না, এবং Windows, macOS ও Linux এ কাজ করে।

প্রধান তথ্য: GitWizard আপনার বিদ্যমান Git ও GitHub CLI কনফিগারেশন ব্যবহার করে। কোনো API টোকেন লাগবে না, কোনো বাহ্যিক সার্ভার নেই, আপনার মেশিন থেকে কোনো ডেটা বের হয় না। গোপনীয়তা প্রথম

প্রধান বৈশিষ্ট্যসমূহ

GitHub Auth ইন্টিগ্রেশন

স্বয়ংক্রিয় VS Code এবং GitHub CLI অথরাইজেশন চেক প্রথমবার ব্যবহারকারীদের জন্য ইন্টারেক্টিভ সেটআপ গাইডেন্সসহ।

ওয়ান-কমান্ড সেটআপ

gitwizard setup সবকিছু হ্যান্ডেল করে: git init, স্টেজিং, কমিট, রিমোট কানেকশন এবং পুশ — একটি ফ্লোতে।

স্মার্ট Diff-ভিত্তিক কমিট

git diff আউটপুট স্বয়ংক্রিয়ভাবে বিশ্লেষণ করে অর্থবহ, বর্ণনামূলক কমিট মেসেজ জেনারেট করে।

শব্দ প্রতিস্থাপন সনাক্তকরণ

টেক্সট রিনেম সনাক্ত করে (যেমন, ভেরিয়েবল Fahim থেকে Hasib) এবং কমিট মেসেজে অন্তর্ভুক্ত করে।

অ্যাটমিক পার-ফাইল কমিট

--atomic ফ্ল্যাগ প্রতিটি ফাইলের জন্য আলাদা কমিট তৈরি করে, আপনার git হিস্ট্রি পরিষ্কার ও গ্র্যানুলার রাখে।

বাল্ক অটো-কমিট

কাস্টমাইজযোগ্য ডিলে, মেসেজ টেমপ্লেট এবং ঐচ্ছিক অটো-পুশ সহ একাধিক অটোমেটেড কমিট জেনারেট করুন।

অটো ও ম্যানুয়াল মোড

সম্পূর্ণ স্বয়ংক্রিয় কমিট মেসেজ জেনারেশন ব্যবহার করুন বা যেকোনো সময় নিজের কাস্টম মেসেজ দিন।

২৪০+ ভাষা সাপোর্ট

প্রোগ্রামিং ভাষা বুদ্ধিমানভাবে সনাক্ত করে এবং অটো-কমিট অপারেশনের জন্য সঠিক কমেন্ট সিনট্যাক্স প্রয়োগ করে।

ড্রাই-রান সিমুলেশন

--dry-run ফ্ল্যাগ ব্যবহার করে কোনো আসল পরিবর্তন না করেই কী হবে তা প্রিভিউ করুন।

রিয়েল-টাইম প্রগ্রেস বার

সুন্দর ASCII প্রগ্রেস বার যা রিয়েল টাইমে কমিট জেনারেশনের অগ্রগতি দেখায়।

নিরাপদ ইন্টারাপ্ট হ্যান্ডলিং

যেকোনো মুহূর্তে Ctrl+C ইন্টারাপ্ট গ্রেসফুলি হ্যান্ডেল করে আপনার রিপোজিটরি অবস্থা নষ্ট না করে।

সম্পূর্ণ লোকাল এক্সিকিউশন

সমস্ত অপারেশন লোকালি চলে। কোনো কোড বাহ্যিক সার্ভারে পাঠানো হয় না। কোনো API টোকেন লাগে না।

ক্রস-প্ল্যাটফর্ম

স্বয়ংক্রিয় কালার ডিটেকশনসহ Windows, macOS এবং Linux এ নিরবচ্ছন্নভাবে কাজ করে।

ইনস্টলেশন

PyPI থেকে একটি কমান্ডে ইনস্টল করুন:

bash
pip install gitwizard-pro

প্রয়োজনীয়তা

Python 3.7+

Python 3.7 থেকে 3.14 পর্যন্ত সম্পূর্ণভাবে সাপোর্টেড

Git

আপনার সিস্টেম PATH এ ইনস্টল থাকতে হবে

GitHub CLI (রিকমেন্ডেড)

অথেনটিকেশন ফিচারের জন্য প্রয়োজন। cli.github.com থেকে ইনস্টল করুন

আপগ্রেড

bash
pip install gitwizard-pro --upgrade

দ্রুত শুরু

আপনার যদি কোনো প্রজেক্ট থাকে যা GitHub এ এখনও কানেক্ট না হয়ে থাকে, তাহলে সেটআপ কমান্ড সবকিছু হ্যান্ডেল করবে:

bash
gitwizard setup

এই ইন্টারেক্টিভ কমান্ডটি আপনাকে ধাপে ধাপে গাইড করবে:

1
GitHub অথেনটিকেশন চেক

যাচাই করে আপনি GitHub CLI তে লগইন আছেন কিনা। না থাকলে, ধাপে ধাপে অথেনটিকেশন প্রসেস গাইড করে।

2
Git রিপোজিটরি ইনিশিয়ালাইজ

প্রজেক্টটি ইতিমধ্যে git রিপোজিটরি না হলে git init রান করে।

3
সব ফাইল স্টেজ

আপনার প্রজেক্ট ডিরেক্টরির প্রতিটি ফাইল স্টেজ করতে git add . স্বয়ংক্রিয়ভাবে রান করে।

4
কমিট তৈরি

কমিট মেসেজের জন্য প্রম্পট করে (টাইমস্ট্যাম্প-ভিত্তিক ডিফল্ট দেয়) এবং প্রাথমিক কমিট তৈরি করে।

5
রিমোট কানেক্ট

আপনার GitHub রিপোজিটরি URL এর জন্য প্রম্পট করে এবং এটিকে origin রিমোট হিসেবে কনফিগার করে।

6
GitHub এ পুশ

কমিটটি স্বয়ংক্রিয়ভাবে GitHub এ পুশ করে। রেগুলার পুশ ব্যর্থ হলে, ফোর্স পুশ ট্রাই করে।

আপনাকে একটি git কমান্ডও টাইপ করতে হবে না। পুরো প্রক্রিয়াটি সম্পূর্ণ অটোমেটেড এবং ইন্টারেক্টিভ।

প্রাথমিক সেটআপের পর, শুধু পরিবর্তন করুন এবং রান করুন:

bash
gitwizard push

টুলটি স্বয়ংক্রিয়ভাবে git add . রান করবে, git diff পার্স করবে, অর্থবহ কমিট মেসেজ জেনারেট করবে, এবং পুশ করবে।

bash
# Custom commit message
gitwizard push -m "fix: resolve login bug"

# Atomic commits (one per file)
gitwizard push --atomic

# Commit locally without pushing
gitwizard push --no-push

রিপোজিটরি অ্যাক্টিভিটির জন্য একাধিক অটোমেটেড কমিট জেনারেট করুন:

bash
# Generate 10 auto commits
gitwizard auto --count 10

# With auto-push after each commit
gitwizard auto --count 5 --push

# Preview mode (no actual commits)
gitwizard auto --count 3 --dry-run

# Custom delay range and message template
gitwizard auto --count 5 --min-delay 1 --max-delay 3 -m "update {file}"

কমান্ড রেফারেন্স

gitwizard setup

ইন্টারেক্টিভ প্রজেক্ট সেটআপ। একটি কমান্ডে আপনার লোকাল প্রজেক্ট GitHub এ কানেক্ট করে।

bash
gitwizard setup
ধাপকাজবিস্তারিত
1GitHub auth চেকঅথেনটিকেট না থাকলে লগইন প্রম্পট করে
2Git রিপো ইনিশিয়ালাইজgit init রান করে (ইতিমধ্যে রিপো থাকলে স্কিপ করে)
3সব ফাইল স্টেজgit add . রান করে
4কমিট তৈরিকমিট মেসেজ জিজ্ঞাসা করে
5রিমোট কানেক্টGitHub রিপো URL জিজ্ঞাসা করে
6GitHub এ পুশস্বয়ংক্রিয়ভাবে কমিট ও পুশ করে

gitwizard push

সনাক্তকৃত কোড পরিবর্তনের উপর ভিত্তি করে স্মার্ট কমিট ও পুশ।

bash
gitwizard push                   # Auto-generate commit message
gitwizard push -m "message"      # Custom commit message
gitwizard push --atomic          # Separate commit per file
gitwizard push --no-push         # Commit only, don't push
ফ্ল্যাগবিবরণ
-m, --messageঅটো-জেনারেশনের পরিবর্তে কাস্টম কমিট মেসেজ দিন
--atomicপ্রতিটি পরিবর্তিত ফাইলের জন্য আলাদা কমিট তৈরি করুন
--no-pushরিমোটে পুশ না করে শুধু লোকালি কমিট করুন

gitwizard auto --count N

বাল্ক অটো-কমিট জেনারেটর। ট্র্যাকড সোর্স ফাইলে নিরাপদ কমেন্ট লাইন যোগ করে একাধিক কমিট তৈরি করে।

bash
gitwizard auto --count 5                           # Generate 5 auto commits
gitwizard auto --count 10 --push                   # With auto-push
gitwizard auto --count 3 --dry-run                 # Preview mode
gitwizard auto --count 5 --min-delay 1 --max-delay 3  # Custom delay
gitwizard auto --count 5 -m "update {file}"        # Custom template
ফ্ল্যাগডিফল্টবিবরণ
--count, -c(প্রয়োজনীয়)জেনারেট করার কমিটের সংখ্যা
--min-delay2কমিটের মধ্যে ন্যূনতম বিলম্ব (সেকেন্ড)
--max-delay4কমিটের মধ্যে সর্বোচ্চ বিলম্ব (সেকেন্ড)
--message, -mauto commit at {time}কমিট মেসেজ টেমপ্লেট
--push, -pfalseপ্রতিটি কমিটের পরে রিমোটে পুশ
--dry-runfalseআসল কমিট না করে সিমুলেট করুন

টেমপ্লেট ভেরিয়েবল

ভেরিয়েবলআউটপুট উদাহরণ
{time}2025-01-15 14:30:00
{iteration}3
{file}src/main.py

gitwizard auth

GitHub / VS Code অথেনটিকেশন চেক বা সেটআপ করুন।

bash
gitwizard auth            # Full interactive setup guide
gitwizard auth --check    # Quick auth status check

এই কমান্ডটি চেক করে GitHub CLI (gh) অথেনটিকেটেড আছে কিনা। GitHub CLI একই অথেনটিকেশন সিস্টেম যা VS Code এর বিল্ট-ইন Git ইন্টিগ্রেশন ব্যবহার করে। অথেনটিকেশন কনফিগার না থাকলে, টুলটি ধাপে ধাপে ইন্টারেক্টিভ গাইড প্রদান করে লগইন করতে সাহায্য করে।


gitwizard help

কালার আউটপুট সহ সম্পূর্ণ কমান্ড রেফারেন্স দেখান, সাথে ডকুমেন্টেশন এবং সমস্যা রিপোর্ট লিংক।

bash
gitwizard help

স্মার্ট Diff বিশ্লেষণ কীভাবে কাজ করে

যখন আপনি gitwizard push রান করেন, টুলটি একটি মাল্টি-স্টেপ বিশ্লেষণ পাইপলাইন পারফর্ম করে:

1

পরিবর্তন সনাক্তকরণ

টুলটি সব পরিবর্তন স্টেজ করতে git add . রান করে, তারপর git diff --cached আউটপুট ক্যাপচার করে। এটি টুলকে প্রতিটি ফাইলে ঠিক কোন লাইন যোগ, মুছে বা পরিবর্তন হয়েছে তার সম্পূর্ণ চিত্র দেয়।

2

ফাইল ক্যাটাগরাইজেশন

প্রতিটি পরিবর্তিত ফাইল তার নাম ও পথের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ক্যাটাগরাইজ হয়। কনফিগারেশন ফাইল, টেস্ট ফাইল, ডকুমেন্টেশন ফাইল, ডিপেন্ডেন্সি ফাইল এবং ডেটা ফাইল প্রতিটি চেনা হয় এবং উপযুক্ত কমিট প্রিফিক্স দেওয়া হয়।

3

শব্দ-স্তর প্রতিস্থাপন সনাক্তকরণ

টুলটি মুছে ফেলা এবং যোগ করা লাইনগুলো জোড়ায় জোড়ায় তুলনা করে নির্দিষ্ট শব্দ বা ফ্রেজ প্রতিস্থাপন সনাক্ত করে। যেমন, আপনি যদি একটি ভেরিয়েবল Fahim থেকে Hasib এ রিনেম করেন, টুলটি এটি শব্দ স্তরে সনাক্ত করে এবং উপযুক্ত মেসেজ জেনারেট করে।

4

কন্টেন্ট বিশ্লেষণ

টুলটি পরিবর্তিত কন্টেন্টে সাধারণ প্যাটার্ন যেমন ইমপোর্ট স্টেটমেন্ট, ফাংশন ডেফিনিশন, ক্লাস ডেফিনিশন এবং অন্যান্য স্ট্রাকচারাল এলিমেন্ট স্ক্যান করে অর্থবহ কমিট মেসেজ জেনারেট করতে।

5

কমিট মেসেজ জেনারেশন

সমস্ত বিশ্লেষণ ফলাফল একটি একক, বর্ণনামূলক কমিট মেসেজে কনভেনশনাল কমিট ফরম্যাটে (type: description) একত্রিত হয়। মাল্টি-ফাইল পরিবর্তনের জন্য, মেসেজে কতগুলো ফাইল পরিবর্তন হয়েছে তার সারাংশ থাকে।

অ্যাটমিক কমিট মোড

যখন আপনি --atomic ফ্ল্যাগ ব্যবহার করেন, প্রতিটি ফাইলের পরিবর্তন আলাদা কমিট হয় নিজস্ব অটো-জেনারেটেড মেসেজসহ:

steps
1. Unstage all files
2. Stage only the first file
3. Analyze the diff for that file
4. Generate a commit message specific to that file's changes
5. Commit with the generated message
6. Repeat for each changed file
7. Push all commits at once

অটো-জেনারেটেড কমিট মেসেজের উদাহরণ

টুলটি আপনার git diff আউটপুটের একটি ব্যাপক বিশ্লেষণ রান করে এবং কনভেনশনাল কমিট ফরম্যাট ব্যবহার করে বর্ণনামূলক কমিট মেসেজ জেনারেট করে:

পরিবর্তনের ধরনজেনারেট করা মেসেজ
কোডে শব্দ প্রতিস্থাপিতupdate: replace 'Fahim' with 'Hasib' in main.py
নতুন ফাইল যোগfeat: add config.py
ফাইল মুছে ফেলাremove: delete old_script.js
ইমপোর্ট স্টেটমেন্ট পরিবর্তিতrefactor: update imports in utils.py
ফাংশন/ক্লাস পরিবর্তিতupdate: modify login in auth.py
ফাংশন/ক্লাস মুছে ফেলাupdate: remove calculate from math_utils.py
কনফিগ ফাইল পরিবর্তিতconfig: modify settings.yaml (+3/-1)
টেস্ট ফাইল পরিবর্তিতtest: modify test_auth.py (+5/-2)
ডকস ফাইল পরিবর্তিতdocs: modify README.md (+12/-3)
ডিপেন্ডেন্সি ফাইল পরিবর্তিতdeps: modify requirements.txt (+1/-1)
একাধিক ফাইল পরিবর্তিতupdate: modify 3 file(s) [main.py, app.py, utils.py] (+12/-3)
সব নতুন ফাইলfeat: add 5 new file(s) (config.py, utils.py, ...)
সব মুছে ফেলা ফাইলremove: delete 3 file(s) (old.py, backup.py, ...)

২৪০+ সাপোর্টেড ভাষা

অটো-কমিট জেনারেটর ২৪০+ প্রোগ্রামিং ও স্ক্রিপ্টিং ভাষা বুদ্ধিমান কমেন্ট স্টাইল ডিটেকশনসহ সাপোর্ট করে। প্রতিটি ভাষা তার উপযুক্ত কমেন্ট স্টাইলে ম্যাপ করা হয় যাতে অটো-জেনারেটেড কমেন্ট লাইন সঠিক সিনট্যাক্স ব্যবহার করে।

ক্যাটাগরিভাষাসমূহ
Web FrontendJavaScript, TypeScript, JSX, TSX, HTML, CSS, SCSS, SASS, LESS, PHP
Systems ProgrammingC, C++, C#, Rust, Go, Zig, Assembly
Scripting LanguagesPython, Ruby, Bash, Zsh, PowerShell, Perl, Lua, Tcl
Mobile DevelopmentSwift, Kotlin, Dart
Functional ProgrammingHaskell, Erlang, Elixir, Clojure, Scala
Data & AnalysisSQL, R, MATLAB, CSV, TSV, JSON
ConfigurationYAML, TOML, INI, XML, JSON
IaC / DevOpsDockerfile, Terraform, Nix, Kubernetes, CI/CD configs
Blockchain / Web3Solidity, Move, Vyper
Low-Level / HardwareAssembly, VHDL, Verilog, Fortran, Ada, COBOL
Niche / AcademicLean, Coq, Agda, Idris, Mercury, Joy, Forth
আরও ২০০+ ভাষাবিদ্যমান প্রতিটি প্রধান প্রোগ্রামিং ভাষা কভার করে

নিরাপত্তা ও সুরক্ষা

সম্পূর্ণ লোকাল এক্সিকিউশন

কোনো কোড কখনো বাহ্যিক সার্ভারে পাঠানো হয় না। সমস্ত git অপারেশন সরাসরি আপনার মেশিনে চলে।

API টোকেন প্রয়োজন নেই

আপনার বিদ্যমান Git ও GitHub CLI কনফিগারেশন ব্যবহার করে। অতিরিক্ত টোকেনের প্রয়োজন নেই।

নিরাপদ কমেন্ট লাইন

অটো-জেনারেটেড কমেন্ট লাইনগুলো টাইমস্ট্যাম্পসহ স্পষ্টভাবে চিহ্নিত এবং অ-আক্রমণাত্মক।

ড্রাই-রান মোড

--dry-run ব্যবহার করে কোনো আসল কমিট না করেই ঠিক কী হবে তা প্রিভিউ করুন।

Ctrl+C নিরাপত্তা

সমস্ত দীর্ঘস্থায়ী অপারেশন স্টেট নষ্ট না করে কীবোর্ড ইন্টারাপ্ট গ্রেসফুলি হ্যান্ডেল করে।

MIT লাইসেন্স

MIT লাইসেন্সের অধীনে ওপেন সোর্স এবং বিনামূল্যে ব্যবহার, পরিবর্তন ও বিতরণ করুন।

প্ল্যাটফর্ম সামঞ্জস্যতা

Windows

সাপোর্টেড

Git for Windows প্রয়োজন। নন-টার্মিনাল এনভায়রনমেন্টে কালর অটো-ডিসেবল।

macOS

সাপোর্টেড

Intel ও Apple Silicon উভয় Mac এ কাজ করে।

Linux

সাপোর্টেড

সমস্ত প্রধান ডিস্ট্রিবিউশনে কাজ করে।

টুলটি স্বয়ংক্রিয়ভাবে ডিটেক্ট করে আপনার টার্মিনাল ANSI কালর কোড সাপোর্ট করে কিনা। আপনি NO_COLOR এনভায়রনমেন্ট ভেরিয়েবল সেট করে ম্যানুয়ালি কালর ডিসেবল করতে পারেন।

প্রয়োজনীয়তা

প্রয়োজনীয়তাভার্সনবিস্তারিত
Python3.7+Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14
Gitযেকোনো সাম্প্রতিক ভার্সনআপনার সিস্টেম PATH এ ইনস্টল থাকতে হবে
GitHub CLIসর্বশেষ রিকমেন্ডেডঅথেনটিকেশনের জন্য প্রয়োজন। cli.github.com থেকে ইনস্টল করুন