-
Notifications
You must be signed in to change notification settings - Fork 213
Apply pre-commit hooks #236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
WalkthroughThis PR performs extensive whitespace normalization and documentation cleanup across the repository, including trailing space removal, blank line standardization, and newline fixes. Additionally, Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.pre-commit-config.yaml (1)
1-19: Ensure Python 3.9+ availability before upgrading pre-commit-hooks to v6.0.0.The major version bump from v3.2.0 to v6.0.0 includes a breaking change requiring Python >= 3.9. The current configuration does not use any deprecated hooks (check-byte-order-marker, fix-encoding-pragma), so the upgrade should be safe for your CI pipeline. The 6000 KB threshold for
check-added-large-filesis reasonable and appropriate.
🧹 Nitpick comments (3)
agents-core/README.md (1)
13-13: Use standard GitHub capitalization.Line 13 should use "GitHub" instead of "Github" for consistency with the platform's official branding and documentation standards.
Apply this diff to fix the capitalization:
-See [Github](https://github.com/GetStream/Vision-Agents). +See [GitHub](https://github.com/GetStream/Vision-Agents).docs/ai/instructions/ai-plugin.md (2)
75-75: Use American English spelling "standardized" instead of "standardise".For consistency with common tech documentation conventions, use "standardized" (American English) rather than "standardise" (British English).
Apply this diff:
-The README.md of the plugin should contain a standardise format which includes an intro briefly describing the functionality of the plugin and what it allows developers to build when paired with Vision Agents. See example below: +The README.md of the plugin should contain a standardized format which includes an intro briefly describing the functionality of the plugin and what it allows developers to build when paired with Vision Agents. See example below:
84-109: Resolve markdown linting issues in code examples.The code blocks in this section have inconsistent formatting. Per markdownlint rules:
- Lines 86-87: Should use fenced code blocks (
```) instead of indented code- Lines 87, 109: Fenced code blocks should have language specified (e.g.,
```tomlor```markdown)These appear to be pre-commit-related fixes that weren't fully applied. Consider running your linter or pre-commit hooks to catch remaining issues.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (66)
.coderabbit.yaml(1 hunks).cursor/rules/python.mdc(1 hunks).github/workflows/release.yml(1 hunks).pre-commit-config.yaml(1 hunks)PRODUCTION.md(1 hunks)README.md(1 hunks)SECURITY.md(1 hunks)agents-core/README.md(1 hunks)agents-core/vision_agents/PROTOBUF_GENERATION.md(3 hunks)docs/ai/instructions/ai-events-example.md(11 hunks)docs/ai/instructions/ai-llm.md(4 hunks)docs/ai/instructions/ai-plugin.md(2 hunks)docs/ai/instructions/ai-stt.md(1 hunks)docs/ai/instructions/ai-tests.md(1 hunks)docs/ai/instructions/ai-turn-detector.md(2 hunks)docs/ai/instructions/ai-update.md(1 hunks)examples/01_simple_agent_example/README.md(0 hunks)examples/01_simple_agent_example/__init__.py(0 hunks)examples/01_simple_agent_example/instructions.md(1 hunks)examples/02_golf_coach_example/README.md(0 hunks)examples/02_golf_coach_example/golf_coach.md(1 hunks)examples/other_examples/07_function_calling_example/pyproject.toml(1 hunks)examples/other_examples/09_github_mcp_demo/README.md(1 hunks)examples/other_examples/gemini_live_realtime/voice-agent.md(1 hunks)examples/other_examples/plugins_examples/vad_silero/pyproject.toml(0 hunks)plugins/anthropic/README.md(1 hunks)plugins/aws/README.md(2 hunks)plugins/aws/example/.env.example(1 hunks)plugins/cartesia/README.md(1 hunks)plugins/decart/pyproject.toml(0 hunks)plugins/deepgram/README.md(1 hunks)plugins/elevenlabs/example/README.md(0 hunks)plugins/elevenlabs/example/__init__.py(0 hunks)plugins/elevenlabs/example/pyproject.toml(0 hunks)plugins/fast_whisper/example/pyproject.toml(0 hunks)plugins/fast_whisper/pyproject.toml(0 hunks)plugins/fish/README.md(0 hunks)plugins/fish/example/README.md(0 hunks)plugins/fish/example/elon.md(1 hunks)plugins/fish/example/pyproject.toml(0 hunks)plugins/fish/pyproject.toml(0 hunks)plugins/getstream/tests/test_message_chunking.py(1 hunks)plugins/heygen/README.md(4 hunks)plugins/heygen/example/README.md(0 hunks)plugins/heygen/example/pyproject.toml(0 hunks)plugins/heygen/pyproject.toml(0 hunks)plugins/inworld/example/inworld-audio-guide.md(1 hunks)plugins/inworld/example/pyproject.toml(1 hunks)plugins/inworld/pyproject.toml(0 hunks)plugins/moondream/README.md(2 hunks)plugins/moondream/example/README.md(1 hunks)plugins/moondream/example/pyproject.toml(1 hunks)plugins/moondream/pyproject.toml(0 hunks)plugins/openai/README.md(4 hunks)plugins/openai/examples/qwen_vl_example/README.md(3 hunks)plugins/openai/examples/qwen_vl_example/pyproject.toml(0 hunks)plugins/openrouter/example/pyproject.toml(0 hunks)plugins/openrouter/pyproject.toml(0 hunks)plugins/roboflow/README.md(0 hunks)plugins/roboflow/example/README.md(1 hunks)plugins/sample_plugin/example/.env.example(0 hunks)plugins/smart_turn/pyproject.toml(0 hunks)plugins/vogent/pyproject.toml(0 hunks)plugins/wizper/README.md(1 hunks)plugins/xai/README.md(2 hunks)pytest.ini(1 hunks)
💤 Files with no reviewable changes (26)
- plugins/inworld/pyproject.toml
- examples/other_examples/plugins_examples/vad_silero/pyproject.toml
- plugins/vogent/pyproject.toml
- plugins/openrouter/example/pyproject.toml
- plugins/roboflow/README.md
- plugins/decart/pyproject.toml
- examples/01_simple_agent_example/README.md
- plugins/heygen/example/README.md
- plugins/fast_whisper/example/pyproject.toml
- plugins/fish/example/pyproject.toml
- plugins/elevenlabs/example/README.md
- plugins/moondream/pyproject.toml
- plugins/elevenlabs/example/init.py
- plugins/smart_turn/pyproject.toml
- plugins/fish/README.md
- plugins/heygen/example/pyproject.toml
- plugins/heygen/pyproject.toml
- plugins/fish/example/README.md
- examples/01_simple_agent_example/init.py
- plugins/openrouter/pyproject.toml
- examples/02_golf_coach_example/README.md
- plugins/elevenlabs/example/pyproject.toml
- plugins/sample_plugin/example/.env.example
- plugins/openai/examples/qwen_vl_example/pyproject.toml
- plugins/fish/pyproject.toml
- plugins/fast_whisper/pyproject.toml
🧰 Additional context used
📓 Path-based instructions (2)
**/*test*.py
📄 CodeRabbit inference engine (.cursor/rules/python.mdc)
**/*test*.py: Never mock in tests; use pytest for testing
Mark integration tests with @pytest.mark.integration decorator
@pytest.mark.asyncio is not needed - it is automatic
Files:
plugins/getstream/tests/test_message_chunking.py
**/*.py
📄 CodeRabbit inference engine (.cursor/rules/python.mdc)
**/*.py: Never adjust sys.path in Python code
Never writeexcept Exception as e- use specific exception handling
Avoid using getattr, hasattr, delattr and setattr; prefer normal attribute access in Python
Docstrings should follow the Google style guide for docstrings
Files:
plugins/getstream/tests/test_message_chunking.py
🧠 Learnings (6)
📚 Learning: 2025-11-24T17:04:43.030Z
Learnt from: CR
Repo: GetStream/Vision-Agents PR: 0
File: .cursor/rules/python.mdc:0-0
Timestamp: 2025-11-24T17:04:43.030Z
Learning: Use uv for dependency management on this project, not python -m or system package managers
Applied to files:
.github/workflows/release.yml
📚 Learning: 2025-11-24T17:04:43.030Z
Learnt from: CR
Repo: GetStream/Vision-Agents PR: 0
File: .cursor/rules/python.mdc:0-0
Timestamp: 2025-11-24T17:04:43.030Z
Learning: Applies to **/*test*.py : Never mock in tests; use pytest for testing
Applied to files:
.cursor/rules/python.mdc.coderabbit.yaml
📚 Learning: 2025-11-24T17:04:43.030Z
Learnt from: CR
Repo: GetStream/Vision-Agents PR: 0
File: .cursor/rules/python.mdc:0-0
Timestamp: 2025-11-24T17:04:43.030Z
Learning: Applies to **/*.py : Never adjust sys.path in Python code
Applied to files:
.cursor/rules/python.mdc
📚 Learning: 2025-11-24T17:04:43.030Z
Learnt from: CR
Repo: GetStream/Vision-Agents PR: 0
File: .cursor/rules/python.mdc:0-0
Timestamp: 2025-11-24T17:04:43.030Z
Learning: Applies to **/*.py : Never write `except Exception as e` - use specific exception handling
Applied to files:
.cursor/rules/python.mdc
📚 Learning: 2025-11-24T17:04:43.030Z
Learnt from: CR
Repo: GetStream/Vision-Agents PR: 0
File: .cursor/rules/python.mdc:0-0
Timestamp: 2025-11-24T17:04:43.030Z
Learning: Applies to **/*test*.py : pytest.mark.asyncio is not needed - it is automatic
Applied to files:
.cursor/rules/python.mdc
📚 Learning: 2025-11-24T17:04:43.030Z
Learnt from: CR
Repo: GetStream/Vision-Agents PR: 0
File: .cursor/rules/python.mdc:0-0
Timestamp: 2025-11-24T17:04:43.030Z
Learning: Applies to **/*test*.py : Mark integration tests with pytest.mark.integration decorator
Applied to files:
.cursor/rules/python.mdc.coderabbit.yaml
🪛 dotenv-linter (4.0.0)
plugins/aws/example/.env.example
[warning] 10-10: [UnorderedKey] The DEEPGRAM_API_KEY key should go before the FAL_KEY key
(UnorderedKey)
🪛 LanguageTool
examples/02_golf_coach_example/golf_coach.md
[style] ~3-~3: Try using a synonym here to strengthen your writing.
Context: ...nt. Be a little mean and snarky. Do not give feedback if you are not sure or do not ...
(GIVE_PROVIDE)
agents-core/README.md
[uncategorized] ~13-~13: The official name of this software platform is spelled with a capital “H”.
Context: ...io/video/) for ultra-low latency. See [Github](https://github.com/GetStream/Vision-Ag...
(GITHUB)
docs/ai/instructions/ai-plugin.md
[grammar] ~75-~75: Ensure spelling is correct
Context: ...EADME.md of the plugin should contain a standardise format which includes an intro briefly ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.18.1)
plugins/deepgram/README.md
15-15: Bare URL used
(MD034, no-bare-urls)
docs/ai/instructions/ai-plugin.md
86-86: Code block style
Expected: fenced; Actual: indented
(MD046, code-block-style)
87-87: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
109-109: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🔇 Additional comments (31)
examples/01_simple_agent_example/instructions.md (1)
2-2: LGTM!Trailing newline standardization aligns with pre-commit hook enforcement. This formatting-only change has no semantic impact on the documentation.
examples/other_examples/07_function_calling_example/pyproject.toml (1)
11-11: Whitespace cleanup approved.Trailing space removed from the dependency entry—aligns with pre-commit hook standardization.
agents-core/vision_agents/PROTOBUF_GENERATION.md (1)
62-62: Formatting changes look good.The blank line standardization within code blocks aligns with pre-commit hook conventions and maintains markdown readability. No content or structure changes detected.
Also applies to: 246-246, 258-258, 264-264
plugins/fish/example/elon.md (1)
52-52: LGTM — formatting alignment for pre-commit hooks.This change correctly applies whitespace normalization and proper newline termination as part of the pre-commit hooks cleanup. The documentation content remains unchanged and intact.
plugins/inworld/example/pyproject.toml (1)
10-10: Formatting change aligns with pre-commit hook enforcement.This whitespace normalization on the gemini dependency is consistent with the PR's objective to apply pre-commit hooks across the repository. No functional or semantic impact.
examples/other_examples/gemini_live_realtime/voice-agent.md (1)
1-1: Newline normalization aligns with pre-commit hooks enforcement.Adding the trailing newline is a standard formatting fix aligned with the PR's objective of applying pre-commit hooks.
plugins/moondream/example/pyproject.toml (1)
22-22: Formatting adjustment approved.The modification to line 22 is a non-functional formatting adjustment as part of the pre-commit hooks cleanup. No dependencies, logic, or runtime behavior are affected.
plugins/aws/example/.env.example (1)
10-10: Trailing newline added correctly.The addition of a trailing newline aligns with pre-commit hook standards for file formatting normalization.
examples/other_examples/09_github_mcp_demo/README.md (1)
85-85: Pre-commit formatting fix approved.The closing code fence normalization aligns with standard markdown formatting via pre-commit hooks. Documentation content and instructions remain unaffected.
plugins/openai/README.md (1)
22-22: Markdown line reflow and whitespace normalization approved.All changes maintain documentation clarity and code example integrity. The line reflows improve consistency with pre-commit formatting standards.
Also applies to: 24-24, 60-60, 62-62, 72-72, 91-91
PRODUCTION.md (1)
20-20: Bullet list formatting standardized.Converted double-dash prefix to single-dash for consistency with markdown bullet list conventions.
plugins/anthropic/README.md (1)
1-1: Verify scope of this README.The file currently contains only "test" with a trailing newline added. Please confirm whether this is a placeholder awaiting full documentation or if this minimal content is intentional. If documentation is planned, consider creating a fuller README to match
plugins/openai/README.mdpattern.docs/ai/instructions/ai-turn-detector.md (2)
14-14: Blank line spacing in code examples normalized.Added blank lines improve readability within async method implementations, aligning with PEP 8 spacing conventions.
Also applies to: 21-21
42-42: Text formatting corrected.Removed leading dash prefix for cleaner sentence structure in documentation.
plugins/inworld/example/inworld-audio-guide.md (1)
90-90: Trailing newline normalization applied.File now ends with proper newline per POSIX standard and pre-commit hook requirements. Audio markup rules and examples remain unchanged.
plugins/roboflow/example/README.md (1)
53-53: Trailing whitespace removed from parameter comment.Trailing space cleanup improves consistency and eliminates unnecessary git diffs. Configuration example remains clear.
plugins/wizper/README.md (1)
1-1: Pre-commit artifact replaced with plugin description.File now contains appropriate plugin identifier with proper trailing newline. Consider whether expanded documentation (installation, usage examples) should be added to match patterns in other plugins like
plugins/openai/README.md.plugins/aws/README.md (1)
35-35: Formatting cleanup looks good.Normalizing code fence markers and ensuring proper file termination aligns with pre-commit standards.
Also applies to: 115-115
.cursor/rules/python.mdc (1)
7-8: Whitespace normalization in cursor rules.Trailing space removal maintains coding guideline formatting consistency.
docs/ai/instructions/ai-stt.md (1)
60-60: Blank line standardization.Normalizing whitespace in documentation formatting.
examples/02_golf_coach_example/golf_coach.md (1)
1-41: Whitespace normalization in documentation.Removing trailing spaces and standardizing line breaks aligns with pre-commit standards for markdown files.
plugins/heygen/README.md (1)
43-44: Code block formatting in documentation.Adding strategic blank lines around code examples improves readability and aligns with markdown formatting standards.
Also applies to: 47-47, 56-58, 101-103, 125-126
SECURITY.md (1)
28-28: Trailing whitespace cleanup.Minor formatting adjustment to security documentation.
.github/workflows/release.yml (1)
59-59: End-of-file newline normalization.Ensuring proper file termination aligns with pre-commit standards for YAML files.
plugins/cartesia/README.md (1)
58-60: Good: Normalized file ending.Adding a trailing newline at the end of the file aligns with pre-commit hook standards and best practices across most linters.
README.md (1)
228-228: Good: Removed trailing whitespace.Consistent with pre-commit hook standards for trailing whitespace cleanup.
plugins/xai/README.md (1)
22-40: Good: Improved code block spacing.Normalized blank lines around code examples for better readability and consistency with markdown formatting standards.
docs/ai/instructions/ai-tests.md (1)
12-13: Good: Refined bullet point formatting.Improved layout of test requirements without changing documented guidelines.
plugins/openai/examples/qwen_vl_example/README.md (1)
1-50: Good: Consistent documentation formatting.Standardized blank lines and text reflowing across the README improve consistency with markdown formatting conventions and pre-commit hook standards.
.coderabbit.yaml (1)
7-12: Configuration updated per schema.Path instructions refined for pytest testing guidelines, and
tone_instructionsfield added. The new field is valid per CodeRabbit schema and under the 250-character limit.plugins/moondream/example/README.md (1)
1-2: Good: Normalized file ending.Removed trailing whitespace and ensured file ends with newline, consistent with pre-commit standards.
| FAL_KEY= | ||
| CARTESIA_API_KEY= | ||
| DEEPGRAM_API_KEY= | ||
| DEEPGRAM_API_KEY= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reorder keys to comply with dotenv-linter.
The static analysis tool flags DEEPGRAM_API_KEY should be ordered before FAL_KEY to maintain alphabetical ordering. Since this PR applies pre-commit hooks to fix existing issues, reorder the keys accordingly.
Apply this diff to fix the key ordering:
-FAL_KEY=
-CARTESIA_API_KEY=
-DEEPGRAM_API_KEY=
+CARTESIA_API_KEY=
+DEEPGRAM_API_KEY=
+FAL_KEY=📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| FAL_KEY= | |
| CARTESIA_API_KEY= | |
| DEEPGRAM_API_KEY= | |
| \ No newline at end of file | |
| DEEPGRAM_API_KEY= | |
| CARTESIA_API_KEY= | |
| DEEPGRAM_API_KEY= | |
| FAL_KEY= |
🧰 Tools
🪛 dotenv-linter (4.0.0)
[warning] 9-9: [UnorderedKey] The CARTESIA_API_KEY key should go before the FAL_KEY key
(UnorderedKey)
[warning] 10-10: [UnorderedKey] The DEEPGRAM_API_KEY key should go before the FAL_KEY key
(UnorderedKey)
🤖 Prompt for AI Agents
In plugins/aws/example/.env.example around lines 8 to 10, the environment keys
are not alphabetically ordered which triggers dotenv-linter; reorder the keys so
DEEPGRAM_API_KEY appears before FAL_KEY (i.e., change the block to
DEEPGRAM_API_KEY, FAL_KEY, CARTESIA_API_KEY) and save the file to satisfy the
linter.
| - https://developers.deepgram.com/docs/flux/quickstart | ||
| - https://github.com/deepgram/deepgram-python-sdk/blob/main/examples/listen/v2/connect/async.py | ||
| - https://github.com/deepgram/deepgram-python-sdk/tree/main | ||
| - https://github.com/deepgram/deepgram-python-sdk/tree/main |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wrap bare URL in markdown link syntax.
The file should follow markdown conventions. The bare URL violates markdownlint's MD034 rule. Wrap it in proper markdown link syntax:
- https://github.com/deepgram/deepgram-python-sdk/tree/main
+ [Deepgram Python SDK](https://github.com/deepgram/deepgram-python-sdk/tree/main)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - https://github.com/deepgram/deepgram-python-sdk/tree/main | |
| - [Deepgram Python SDK](https://github.com/deepgram/deepgram-python-sdk/tree/main) |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)
15-15: Bare URL used
(MD034, no-bare-urls)
🤖 Prompt for AI Agents
plugins/deepgram/README.md around line 15: the README contains a bare URL which
violates markdownlint MD034; replace the bare URL with markdown link syntax by
wrapping the URL in [label](url) form (e.g., use a descriptive label like
"Deepgram Python SDK" linking to the existing URL) so the link follows markdown
conventions.
I was checking the repository for Python 3.14 support and find out that pre-commit hooks are not enforced on CI. I'm creating this PR to fix existing issues, and I can create another one to enforce those rules on CI after this one (draft PR: ulgens#1)
CodeRabbit summary below seems misleading.
There is no
in this PR.
Summary by CodeRabbit
Chores
Dependencies
Documentation
✏️ Tip: You can customize this high-level summary in your review settings.