コミットするごとにテスト実行・ドキュメント生成・AGENTS.md の自動更新を行うパイプライン
Project description
agents-docs-sync
概要
agents-docs-sync は、Python と Shell スクリプトを組み合わせた GitHub Actions ベースの CI パイプラインです。 リポジトリへの push 1 回で以下の処理が自動実行されます
| フェーズ | 実施内容 |
|---|---|
| テスト & 品質検証 | pytest と coverage.py を併用し、単体・統合テストを走らせるとともにカバレッジ報告(.xml, .html)を生成。失敗した場合はビルドが中断され、GitHub Actions のログで詳細なエラー情報と共に通知されます。また --maxfail=1 などのオプションで早期停止も可能です。 |
| ドキュメント生成 | README.md と docs/api.md が出力されます |
| AGENTS.md 自動同期 | リポジトリ内のエージェントモジュール (agents/*.py) を走査し、クラス名と docstring の冒頭行を抽出して AGENTS.md を再生成します。このファイルは GitHub Actions で自動コミット&pushされるため、人手による編集作業が不要です。 |
主なメリット
- 変更即時反映:開発者は一度の push だけでテスト、ドキュメント生成、およびエージェント一覧更新まで完了でき、ミスを最小限に抑えられます。
- 継続的品質保証:カバレッジ低下やテスト失敗はすぐに検知され、CI のログで詳細確認が可能です。必要に応じて
coverageスコア閾値を設定し、ビルド停止させることもできます。 - 保守性の高い実装:Python スクリプトと軽量な Shell ラッパーだけで構成されており、新しいエージェントやテストケースが追加された際にも最小限の変更で済みます。
技術スタック
- 言語: Python, Bash/Shell
- CI ツール: GitHub Actions (
.github/workflows/ci.yml) - テストフレームワーク: pytest + coverage.py
このパイプラインを導入することで、コードベースとその周辺情報の一貫性が保たれ、開発サイクル全体で品質向上に寄与します。
使用方法
・フックの有効化
user@hogehoge: ~$ agents_docs_sync hooks enable # git hookで自動テスト、AGENTS.md、README.md更新
・フックの無効化
user@hogehoge: ~$ agents_docs_sync hooks disable # git hook無効化
・ヘルプ
user@hogehoge: ~$ agents_docs_sync --help
usage: agents_docs_sync [-h] [--version] [--config CONFIG] [--detect-only] [--no-api-doc] [--no-readme] {commit-msg,hooks} ...
汎用ドキュメント自動生成システム
positional arguments:
{commit-msg,hooks} 実行するコマンド
commit-msg コミットメッセージ生成
hooks Git hooksの管理
options:
-h, --help show this help message and exit
--version show program's version number and exit
--config CONFIG 設定ファイルのパス
--detect-only 言語検出のみ実行
--no-api-doc APIドキュメントを生成しない
--no-readme READMEを更新しない
使用技術
- Python
- Shell
セットアップ
必要な環境
- Python 3.8以上
インストール
・GitHub
git clone https://github.com/shiohamu/agents-docs-sync.git
uv sync
・pip
pip install agents_docs_sync
・uv
uv add agents_docs_sync
など
ビルドおよびテスト
ビルド
uv run python3 docgen/docgen.py
テスト
uv run pytest
npm test
uv run pytest tests/ -v --tb=short
このREADMEは自動生成されています。最終更新: 2025-11-22 19:11:58
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agents_docs_sync-0.0.8.tar.gz.
File metadata
- Download URL: agents_docs_sync-0.0.8.tar.gz
- Upload date:
- Size: 210.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbed3a8d54d1c2fd9b6b6a582273467cccfdcf2504e8a4532a0248e4bb3c5967
|
|
| MD5 |
e5d1eb43ffdfccb088eecb9da2d882a1
|
|
| BLAKE2b-256 |
e33f6d5138ded2ed59aa8170f0a7e1f401b0c3c1bd079d2479f12ff3dc1f47f3
|
File details
Details for the file agents_docs_sync-0.0.8-py3-none-any.whl.
File metadata
- Download URL: agents_docs_sync-0.0.8-py3-none-any.whl
- Upload date:
- Size: 87.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fd7f564ce66ab0c544e7b4a5cd59658bca598968e1c48b2b5d890252dcc1cf2
|
|
| MD5 |
305a7470f1912c8fe6a158a1aa4a38de
|
|
| BLAKE2b-256 |
814177c35c0fca384c202fff3ef681d49acca1bea2f534f72b150c8bcf88478c
|