No project description provided
Project description
Gaiah
~Python Git Automation with Innovative Heuristics~
[🌐 Website] • [🐱 GitHub] [🐦 Twitter] • [🍀 Official Blog]
[!IMPORTANT] このリポジトリはSourceSageを活用しており、リリースノートやREADME、コミットメッセージの9割はSourceSage + claude.aiで生成しています。
🌟 はじめに
Gaiah は、Python で書かれた、Git リポジトリ管理を支援するツールです。v0.6.0 では、Markdown 形式のコミットメッセージファイル .Gaiah.md
を使って、複数のコミットを一度に処理できるようになりました。
🚀 Gaiahの特徴
- Markdown でコミットメッセージ作成:
.Gaiah.md
ファイルに Markdown 形式でコミットメッセージを記述し、gaiah --process_commits
コマンドで複数のコミットを一度に実行できます。 - 設定ファイルの導入:
.gaiah/config.yml
ファイルで、リポジトリ名、説明、公開/非公開などの設定をカスタマイズできます。 - テンプレート設定ファイル: 初めて Gaiah を使う際に、
.gaiah/config.yml
ファイルのテンプレートが自動生成されます。 - モード選択:
--mode
オプションで、commit
(コミット処理)またはmake
(リポジトリ作成)のモードを選択できます。 - AI 開発に最適化: Gaiahは、AIを活用した開発ワークフローにシームレスに統合できるように設計されています。
- 直感的なコマンドラインインターフェース: シンプルで覚えやすいコマンドで、Git操作を効率的に実行できます。
- 拡張性の高いアーキテクチャ: Gaiahは、将来の機能拡張やカスタマイズに対応できる柔軟な設計を採用しています。
📦 インストール方法
pip install gaiah-toolkit
🎉 使い方
リポジトリの作成と初期コミット
- プロジェクトのルートディレクトリに移動します。
- 以下のコマンドを実行して、リポジトリを作成し、初期コミットを行います。
gaiah --mode make
コミットの実行
.Gaiah.md
ファイルに、Markdown 形式でコミットメッセージを記述します。- 以下のコマンドを実行して、コミットを実行します。
gaiah --mode commit
設定のカスタマイズ
.gaiah/config.yml
ファイルを編集して、リポジトリ名、説明、公開/非公開などの設定をカスタマイズできます。
⚙️ 設定ファイル .gaiah/config.yml
の解説
gaiah: # 共通設定
run: true
repo:
repo_name: "AIRA-Sample01"
description: ""
private: false
local:
repo_dir: "./"
no_initial_commit: false
commit:
commit_msg_path: ".Gaiah.md"
branch_name: null
dev: # 開発時の設定 (必要に応じて上書き)
repo:
create_repo: false
local:
init_repo: false
commit:
process_commits: true
init: # 初期化時の設定 (必要に応じて上書き)
repo:
create_repo: true
local:
init_repo: true
commit:
process_commits: false
gaiah
: 共通設定を定義します。dev
: 開発時の設定を定義します。共通設定を上書きします。init
: 初期化時の設定を定義します。共通設定を上書きします。- 各セクションには、以下の設定項目があります。
repo
: リポジトリに関する設定です。create_repo
: リモートリポジトリを作成するかどうかを指定します。repo_name
: リポジトリ名を指定します。description
: リポジトリの説明を指定します。private
: リポジトリを非公開にするかどうかを指定します。
local
: ローカルリポジトリに関する設定です。init_repo
: ローカルリポジトリを初期化するかどうかを指定します。repo_dir
: ローカルリポジトリのディレクトリを指定します。no_initial_commit
: 初期コミットを作成しないかどうかを指定します。
commit
: コミットに関する設定です。process_commits
:.Gaiah.md
ファイルから複数のコミットを実行するかどうかを指定します。commit_msg_path
:.Gaiah.md
ファイルのパスを指定します。branch_name
: コミットに使用するブランチ名を指定します。
🤖 Gaiahの処理フロー
graph TD
A[ユーザーがコマンドを実行] --> B{コマンドを解析}
B --> C{設定ファイルを読み込み}
C --> D{Gaiahを初期化}
D --> E{モードに応じて処理を実行}
E --> F[リポジトリ作成]
E --> G[コミット処理]
F --> H[リモートリポジトリ作成]
F --> I[ローカルリポジトリ初期化]
G --> J[コミットメッセージファイル読み込み]
J --> K[コミットメッセージごとに処理]
K --> L[ファイルをステージング]
L --> M[変更をコミット]
M --> N{プッシュ}
🤝 開発に参加しよう
- 新しいconda環境を作ります:
conda create -n gaiah python=3.11
- conda環境に入ります:
conda activate gaiah
- 必要なものをインストールします:
pip install gitpython python-dotenv PyGithub termcolor art
便利なコマンド:
script\activate-gaiah.bat
gaiah --repo_dir C:\Prj\Gaiah_Sample\Gaiah_Sample05 --process_commits
gaiah --create_repo --repo_name AIRA --description "AIRA: AI-Integrated Repository for Accelerated Development" --init_repo --repo_dir C:\Prj\AIRA --process_commits --commit_msg_path .Gaiah.md
🤝 みんなでGaiahを良くしよう
Gaiahをもっと良くするアイデアや、バグを見つけたら、GitHubのページで教えてください。
📄 ライセンス
GaiahはMITライセンスで公開されているので、自由に使ったり、変えたり、配ったりできます。
🙏 感謝
Gaiahは、次のようなすばらしいライブラリのおかげで作ることができました:
これらを作ってくれた人たちに感謝します。
さあ、Gaiahを使ってGitを楽しく使いこなしましょう! 🚀✨
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gaiah_toolkit-0.6.3.tar.gz
.
File metadata
- Download URL: gaiah_toolkit-0.6.3.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dfbe82fa804896d114401d0b14db4be6689dcdad02e77d2763d8cc6f98f732a |
|
MD5 | a10ac7007db88257312d3903ef4e51a9 |
|
BLAKE2b-256 | 07e253a233c6dfce52f1973522795ad7f0ce5236aac06f0953739b7e63f1e48e |
File details
Details for the file gaiah_toolkit-0.6.3-py3-none-any.whl
.
File metadata
- Download URL: gaiah_toolkit-0.6.3-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea4df4fd7a875a133f7ecf04483dfbb4edd6f71b04e5c757a282973c969474c5 |
|
MD5 | b79c8ab0a600d6e18869038b9c36eadb |
|
BLAKE2b-256 | a1a19fdc3e3acb4eb681fef13721997463e3fe18c29e597598b4afb85704b14e |