Skip to main content


Gaiah

~Python Git Automation with Innovative Heuristics~

Hugging Face Spaces Gaiah - Sunwood-ai-labs stars - Sunwood-ai-labs forks - Sunwood-ai-labs GitHub Last Commit GitHub Top Language GitHub Release GitHub Tag

[🌐 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

🎉 使い方

リポジトリの作成と初期コミット

  1. プロジェクトのルートディレクトリに移動します。
  2. 以下のコマンドを実行して、リポジトリを作成し、初期コミットを行います。
gaiah --mode make

コミットの実行

  1. .Gaiah.md ファイルに、Markdown 形式でコミットメッセージを記述します。
  2. 以下のコマンドを実行して、コミットを実行します。
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{プッシュ}

🤝 開発に参加しよう

  1. 新しいconda環境を作ります:
    conda create -n gaiah python=3.11
    
  2. conda環境に入ります:
    conda activate gaiah
    
  3. 必要なものをインストールします:
    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を楽しく使いこなしましょう! 🚀✨

Release files for gaiah-toolkit 0.6.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gaiah-toolkit 0.6.3
File Size Uploaded
gaiah_toolkit-0.6.3.tar.gz 19.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gaiah-toolkit 0.6.3
File Interpreter ABI Platform
gaiah_toolkit-0.6.3-py3-none-any.whl Python 3 none any Details

Total release size: 39.5 kB

Release files / gaiah_toolkit-0.6.3.tar.gz

Download URL gaiah_toolkit-0.6.3.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
2dfbe82fa804896d114401d0b14db4be6689dcdad02e77d2763d8cc6f98f732a
BLAKE2b-256 checksum
How to use checksums
07e253a233c6dfce52f1973522795ad7f0ce5236aac06f0953739b7e63f1e48e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / gaiah_toolkit-0.6.3-py3-none-any.whl

Download URL gaiah_toolkit-0.6.3-py3-none-any.whl
Size 20.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea4df4fd7a875a133f7ecf04483dfbb4edd6f71b04e5c757a282973c969474c5
BLAKE2b-256 checksum
How to use checksums
a1a19fdc3e3acb4eb681fef13721997463e3fe18c29e597598b4afb85704b14e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.6.3 This release

2 release files

0.6.1

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.4.0

2 release files

0.3.13

2 release files

0.3.10

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page