Skip to main content

コミットするごとにテスト実行・ドキュメント生成・AGENTS.md の自動更新を行うパイプライン

Project description

agents-docs-sync

IMPORTANT!!

まだドキュメント出力が安定していないため、内容については正確性に欠けます。プルリクエスト待ってます。

Python とシェルスクリプトで構築された agents-docs-sync は、エージェント定義のドキュメントを自動生成・同期するための CLI ツールです。
ツールは pyproject.toml[project.scripts] により agents-docs-sync コマンドとして公開されており、内部では docgen.docgen:main を実行します。

技術スタックとアーキテクチャ

  • Python 3.11+:メインロジックを記述。
  • Pydantic v2docgen/models/agents.py):設定ファイルのスキーマ定義 (ProjectOverview, AgentsConfigSection, AgentsGenerationConfig, AgentsDocument) を通じて、YAML/YML 形式で提供される構成を検証。
  • Jinja2(内部テンプレートエンジン):AGENTS.md のマークダウン出力に使用し、柔軟なレイアウトが可能。
  • GitHub Actions / CI/CD パイプライン で簡単に組み込めるよう設計されており、リポジトリクローンから agents-docs-sync --help のヘルプ表示まで一連のコマンドをサポート。
  • シェルスクリプト:Windows でも Bash が利用できない環境向けに簡易ラッパーが用意され、CLI 実行時のエイリアスやオーバーロード機能を提供。

主な機能

機能 説明
構成ファイル駆動 agents.yaml でプロジェクト概要・各エージェント設定(入力/出力型、説明文)を宣言。Pydantic が検証し、不正な定義は即座に報告。
AGENTS.md 自動生成 設定ファイルから構造化データ (AgentsDocument) を作成し、Jinja2 テンプレートで整形されたマークダウンを出力。既存のドキュメントと差分検知して更新箇所のみを書き換え。
同期機能 生成した AGENTS.md とリポジトリ内の docs/agents/ フォルダーにある個別エージェントファイルを自動で一致させ、重複や欠落がないよう監査。
CLI オプション --dry-run, --verbose, --config <path> などの便利なフラグを備え、開発者は変更前に確認できる。また agents-docs-sync --help によって全オプションが表示されます。
CI/CD 向けスクリプト GitHub Actions 用サンプルワークフロー(.github/workflows/docs.yml)を同梱し、PR での自動ドキュメント更新やビルド時に統合テストが可能です。

ワークフローレイアウト

  1. リポジトリクローン
    git clone https://github.com/your-org/agents-docs-sync.git
    cd agents-docs-sync
    
  2. 設定ファイル作成/更新 (agents.yaml) → ProjectOverview でプロジェクト全体のメタ情報を記述。
  3. ドキュメント生成
    agents-docs-sync --config agents.yaml
    
  4. 差分確認・コミット(CI/CD が自動実行)

拡張性と保守性

  • 新しいエージェントタイプやカスタムフィールドを追加する場合は、docgen/models/agents.py の Pydantic クラスに属性を追記し、Jinja2 テンプレート側で {{ agent.<field> }} を参照すれば完結。
  • 既存の構成モデル (AgentsConfigSection, AgentsGenerationConfig) は再利用可能なデータクラスとして設計されているため、他プロジェクトへの移植も容易です。

開発者向けリソース

リソース 内容
ドキュメント (docs/api.md, CONFIG_GUIDE.md) API 仕様・設定項目詳細を網羅。
Release ノート (RELEASE.md の動作確認セクション) 各リリースでの変更点とテスト手順が記載。
サンプル構成ファイル docs/agents.yaml.sample を参照し、即座に試せる設定例を提供。

このような設計によって、エージェントドキュメント作業の煩雑さを大幅に削減し、CI/CD で自動化された高品質ドキュメント生成パイプラインを実現しています。

使用技術

  • Python
  • Shell

依存関係

  • Python: pyproject.toml または requirements.txt を参照

セットアップ

前提条件

  • Python 3.12以上

インストール

Python

# uvを使用する場合
uv sync

LLM環境のセットアップ

APIを使用する場合

  1. APIキーの取得と設定

  2. API使用時の注意事項

    • APIレート制限に注意してください
    • コスト管理のために使用量を監視してください

ローカルLLMを使用する場合

  1. ローカルLLMのインストール

    • Ollamaをインストール: https://ollama.ai/
    • モデルをダウンロード: ollama pull llama3
    • サービスを起動: ollama serve
  2. ローカルLLM使用時の注意事項

    • モデルが起動していることを確認してください
    • ローカルリソース(メモリ、CPU)を監視してください

ビルドおよびテスト

ビルド

uv sync
uv build
uv run python3 docgen/docgen.py

テスト

uv run pytest tests/ -v --tb=short
npm test
go test ./...

このREADME.mdは自動生成されています。最終更新: 2025-11-29 19:10:31

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

agents_docs_sync-0.1.3.tar.gz (286.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agents_docs_sync-0.1.3-py3-none-any.whl (147.9 kB view details)

Uploaded Python 3

File details

Details for the file agents_docs_sync-0.1.3.tar.gz.

File metadata

  • Download URL: agents_docs_sync-0.1.3.tar.gz
  • Upload date:
  • Size: 286.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.4

File hashes

Hashes for agents_docs_sync-0.1.3.tar.gz
Algorithm Hash digest
SHA256 2bf23dc5372a90f52fa2873f160ed329a5bcfc48df872045e283e4449b390048
MD5 050dd8b82deec027b5d1972e28e43448
BLAKE2b-256 ef2fb13772d5440ba63f31303944ac4858034a8ca937befacbae81918e824ca2

See more details on using hashes here.

File details

Details for the file agents_docs_sync-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for agents_docs_sync-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a1c8daa6070716bebb7c605ac88dfe0c7285cba56477c9e26ef4654614f8a55e
MD5 0b478d0db243b3d6204835f70e771221
BLAKE2b-256 c3825ccb39ca5f6a4679f10aef9a8f90deb0c6a6039224fd54e98ad369017a22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page