这是indexloc提供的服务,不要输入任何密码
Skip to content

Sunwood-ai-labs/Gaiah

 
 

Repository files navigation


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割はSourceSageclaude.aiで生成しています。

🌟 はじめに

Gaiahは、直感的でAIにやさしいメソッドを使用してGit操作を簡素化する革新的なPythonライブラリです。Gitリポジトリを制御するための高レベルなインターフェースを提供し、AIシステムがバージョン管理とシームレスに連携することを容易にします。新機能としてMarkdownから直接コミットを生成する機能が追加され、文書化されたコミットメッセージの管理がさらに効率的に行えます。

🚀 主な特徴

  • 🤖 AIフレンドリー: AI主導の開発プロセスの独自の要件に対応するメソッドとユーティリティを提供し、AIを念頭に置いて設計されています。
  • 🌐 リモートリポジトリのサポート: リモートリポジトリとのシームレスな連携を可能にし、GitHubやその他のGitホスティングプラットフォームにリポジトリを作成、クローン、プッシュできるようにします。
  • 📂 リポジトリ管理: 新しいリポジトリの初期化、ファイルの追加、コミットの作成、ブランチの管理をシンプルなPythonコードを介して簡単に行うことができます。
  • 🔧 カスタマイズ: 柔軟性とカスタマイズオプションを提供し、特定のニーズと設定に合わせてGitワークフローを調整できます。
  • 📘 Markdownからのコミット生成: Markdown形式のドキュメントから直接コミットを生成する機能を追加し、文書化されたコミットメッセージの効率的な管理を可能にします。

📦 インストール

Gaiahの使用を開始するには、次の手順に従ってください:

  1. 新しいconda環境を作成します:
    conda create -n gaiah python=3.11
    
  2. conda環境をアクティベートします:
    conda activate gaiah
    
  3. 必要な依存関係をインストールします:
    pip install gitpython python-dotenv PyGithub termcolor art
    

🎉 使用方法

CLI

GaiahのCLI機能に

より、コマンドラインから直接Git操作を行うことができます。例えば、以下のコマンドを使用してリポジトリにコミットを追加することができます:

gaiah

応用的な使い方

gaiah --repo_dir="C:\\Prj\\Gaiah_Sample02" --commit_msg_path=./tmp2.md

リポジトリの初期化

gaiah --create_repo --repo_name Gaiah_Sample05 --description "Gaiah_Sample05 repo" --init_repo --repo_dir C:\Prj\Gaiah_Sample\Gaiah_Sample05 --process_commits --commit_msg_path .Gaiah.md

処理フロー

graph TD
   A[ユーザーがCLIを実行] --> B{コマンドライン引数を解析}
   B --> C{Gaiahオブジェクトを作成}
   C --> D{--create_repoオプションが指定されている?}
   D -->|Yes| E[新しいリポジトリをGitHub上に作成]
   E --> E1[.envファイルから環境変数を読み込む]
   E1 --> E2[環境変数からアクセストークンを取得]
   E2 --> E3[GitHubオブジェクトを作成]
   E3 --> E4[リポジトリ名とパラメータを指定]
   E4 --> E5[GitHub上に新しいリポジトリを作成]
   E5 --> E6[リポジトリ作成完了のメッセージを表示]
   E6 --> Q[処理完了]
   D -->|No| F{--process_commitsオプションが指定されている?}
   F -->|Yes| G[コミットメッセージファイルからコミットを処理]
   G --> H[すべてのファイルをアンステージ]
   H --> I{コミットセクションごとに処理}
   I --> J{ファイル名とコミットメッセージを取得}
   J --> K{ファイルを処理}
   K --> L{ファイルをステージ}
   L --> M{変更をコミット}
   M --> N{次のコミットセクションがある?}
   N -->|Yes| I
   N -->|No| O[リモートリポジトリにプッシュ]
   O --> P[処理完了]
   F -->|No| Q[処理完了]

Loading

開発用

gaiah --repo_dir C:\Prj\Gaiah_Sample\Gaiah_Sample05 --process_commits

🤝 貢献

Gaiahをさらに良くするために、コミュニティからの貢献を歓迎します。アイデア、提案、バグ報告がある場合は、GitHubリポジトリで issue を開くか、プルリクエストを送信してください。

📄 ライセンス

Gaiahは、MITライセンスの下でリリースされており、ライブラリの自由かつオープンソースでの使用、変更、配布が可能です。

🙏 謝辞

Gaiahは、以下のライブラリの優れた機能に基づいて構築されています:

これらのプロジェクトの開発者とコントリビューターの皆様が、オープンソースコミュニティに貴重な貢献をしてくださったことに感謝します。


Gaiahを使用してGitワークフローの自動化を開始し、AI主導の開発の力を解き放ちましょう! 🚀✨

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published