Create changelog files for important commits in a PR
日本語の概要は準備中です。原文の説明を表示しています。
Document a Python module and its classes using Google style
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
Document a Python module or class using Google-style docstrings following project conventions. The argument can be a class name or a module path.
Determine what to document based on the argument:
If a module path is provided (e.g. src/pipecat/audio/vad/vad_analyzer.py):
If a class name is provided (e.g. VADAnalyzer):
class ClassName in src/pipecat/Once the file is identified, read the module to understand its structure:
Apply documentation in this order:
__init__ methods (always document constructor parameters)_)Skip documentation for:
_)__str__, __repr__, __post_init__)"""[One-line description of module purpose].
[Optional: Longer explanation of functionality, key classes, or use cases.]
"""
Example:
"""Neuphonic text-to-speech service implementations.
This module provides WebSocket and HTTP-based integrations with Neuphonic's
text-to-speech API for real-time audio synthesis.
"""
class ClassName:
"""One-line summary describing what the class does.
[Longer description explaining purpose, behavior, and key features.
Use action-oriented language.]
[Optional: Event handlers, usage notes, or important caveats.]
"""
Example:
class FrameProcessor(BaseObject):
"""Base class for all frame processors in the pipeline.
Frame processors are the building blocks of Pipecat pipelines, they can be
linked to form complex processing pipelines. They receive frames, process
them, and pass them to the next or previous processor in the chain.
Event handlers available:
- on_before_process_frame: Called before a frame is processed
- on_after_process_frame: Called after a frame is processed
Example::
@processor.event_handler("on_before_process_frame")
async def on_before_process_frame(processor, frame):
...
@processor.event_handler("on_after_process_frame")
async def on_after_process_frame(processor, frame):
...
"""
Note: When listing event handlers, do NOT use backticks. Include an Example:: section (with double colon for Sphinx) showing the decorator pattern and function signature for each event.
__init__) Formatdef __init__(self, *, param1: Type, param2: Type = default, **kwargs):
"""Initialize the [ClassName].
Args:
param1: Description of param1 and its purpose.
param2: Description of param2. Defaults to [default].
**kwargs: Additional arguments passed to parent class.
"""
Example:
def __init__(
self,
*,
api_key: str,
voice_id: Optional[str] = None,
sample_rate: Optional[int] = 22050,
**kwargs,
):
"""Initialize the Neuphonic TTS service.
Args:
api_key: Neuphonic API key for authentication.
voice_id: ID of the voice to use for synthesis.
sample_rate: Audio sample rate in Hz. Defaults to 22050.
**kwargs: Additional arguments passed to parent InterruptibleTTSService.
"""
async def method_name(self, param1: Type) -> ReturnType:
"""One-line summary of what method does.
[Longer description if behavior isn't obvious.]
Args:
param1: Description of param1.
Returns:
Description of return value.
Raises:
ExceptionType: When this exception is raised.
"""
Example:
async def put(self, item: Tuple[Frame, FrameDirection, FrameCallback]):
"""Put an item into the priority queue.
System frames (`SystemFrame`) have higher priority than any other
frames. If a non-frame item is provided it will have the highest priority.
Args:
item: The item to enqueue.
"""
@dataclass
class ConfigName:
"""One-line description of configuration.
[Explanation of when/how to use this config.]
Parameters:
field1: Description of field1.
field2: Description of field2. Defaults to [default].
"""
field1: Type
field2: Type = default_value
Example:
@dataclass
class FrameProcessorSetup:
"""Configuration parameters for frame processor initialization.
Parameters:
clock: The clock instance for timing operations.
task_manager: The task manager for handling async operations.
observer: Optional observer for monitoring frame processing events.
"""
clock: BaseClock
task_manager: BaseTaskManager
observer: Optional[BaseObserver] = None
class EnumName(Enum):
"""One-line description of the enum purpose.
[Longer description of how the enum is used.]
Parameters:
VALUE1: Description of VALUE1.
VALUE2: Description of VALUE2.
"""
VALUE1 = 1
VALUE2 = 2
Good: "Neuphonic API key for authentication." Bad: "str: The API key (string) that is used for authenticating with Neuphonic."
Good: "Triggers on_speech_started when the VADAnalyzer detects speech."
Bad: "Triggers on_speech_started when the VADAnalyzer detects speech."
When documenting deprecated code:
"""[Description].
.. deprecated:: X.X.X
`ClassName` is deprecated and will be removed in a future version.
Use `NewClassName` instead.
"""
Before finishing, run /prose-review <path> over the documented file and fix
anything it flags, then verify:
__init__ methods document their parameters_)まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Create changelog files for important commits in a PR
日本語の概要は準備中です。原文の説明を表示しています。
Review, refactor, document, and validate code changes in the current branch
日本語の概要は準備中です。原文の説明を表示しています。
Automated code review for pull requests using multiple specialized agents
日本語の概要は準備中です。原文の説明を表示しています。
Draft or update a GitHub PR description that explains the problem, changed behavior, and review concerns in plain language.
日本語の概要は準備中です。原文の説明を表示しています。
Create and submit a GitHub PR from the current branch
日本語の概要は準備中です。原文の説明を表示しています。
Check that added comments, docstrings, and changelog entries document the code rather than narrate the change that produced it
日本語の概要は準備中です。原文の説明を表示しています。