[🌐 Website] • [🐱 GitHub] [🐦 Twitter] • [🍀 Official Blog]
Important
このリポジトリはSourceSageを活用しており、リリースノートやREADME、コミットメッセージの9割はSourceSage + claude.aiで生成しています。
Gaiah は、Python で書かれた、Git リポジトリ管理を支援するツールです。v0.6.0 では、Markdown 形式のコミットメッセージファイル .Gaiah.md を使って、複数のコミットを一度に処理できるようになりました。
- 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: # 共通設定
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: falsegaiah: 共通設定を定義します。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: コミットに使用するブランチ名を指定します。
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{プッシュ}
Gaiah はオープンソースプロジェクトです。開発にご協力いただける方は、ぜひ GitHub リポジトリ [無効な URL を削除しました] をご覧ください。