Conversation
WalkthroughUpdated development and CI configuration: added a VS Code Copilot setting, made the Claude Code extension conditional in templates, widened pre-commit exclusions to skip generated OpenAPI code, and bumped/added several dependency version pins used by template context. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Template as Template Renderer
participant Context as Context Values
participant Devcontainer as devcontainer.json
Note over Template,Context: Render devcontainer extensions list
Template->>Context: read `install_claude_cli` flag
alt install_claude_cli == true
Template->>Devcontainer: include "anthropic.claude-code@2.0.10"
else install_claude_cli == false
Template->>Devcontainer: omit Claude Code extension
end
Template->>Devcontainer: always include `"github.copilot.nextEditSuggestions.allowWhitespaceOnlyChanges": false` in settings
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.devcontainer/devcontainer.json(2 hunks).pre-commit-config.yaml(9 hunks)extensions/context.py(4 hunks)template/.devcontainer/devcontainer.json.jinja-base(2 hunks)template/extensions/context.py.jinja-base(2 hunks)
🔇 Additional comments (7)
template/extensions/context.py.jinja-base (1)
42-42: LGTM! Context keys added for new dependencies.The new context keys
syrupy_versionandnode_kiota_bundle_versionare correctly positioned and follow the existing pattern for version management in downstream templates.Also applies to: 75-75
.pre-commit-config.yaml (1)
62-62: LGTM! Comprehensive exclusions for OpenAPI codegen.The systematic addition of
.*/openapi_codegen/.*exclusions across formatting, linting, and type-checking hooks ensures that generated OpenAPI code is appropriately excluded from pre-commit checks. This aligns well with the PR's objective to improve OpenAPI codegen support.Also applies to: 74-74, 91-91, 105-105, 132-132, 254-256, 263-265, 267-271, 281-283, 295-299
template/.devcontainer/devcontainer.json.jinja-base (2)
34-35: LGTM! Conditional Claude Code extension support.The conditional inclusion of the Claude Code extension based on
install_claude_cliis properly implemented with Jinja2 templating. This allows downstream repositories to optionally include the extension.
62-62: LGTM! Improved Copilot UX setting.The new setting
"github.copilot.nextEditSuggestions.allowWhitespaceOnlyChanges": falseprevents Copilot from suggesting whitespace-only changes, which improves the editing experience by reducing noise in edit suggestions..devcontainer/devcontainer.json (1)
46-46: LGTM! Configuration aligned with template.The addition of the Copilot setting and the updated devcontainer context hash are consistent with the corresponding template changes.
Also applies to: 64-64
extensions/context.py (2)
28-28: LGTM! Dependency version updates.The version bumps for Pulumi, Pydantic, pytest-mock, Vue Router, Faker, and HappyDOM are minor/patch updates that appear to be routine maintenance. These updates align with the PR's objective to bump context values.
Also applies to: 30-30, 36-36, 45-45, 58-58, 60-60, 79-79
47-47: Ensure template consumption of new version contexts
No occurrences of{{ syrupy_version }}or{{ node_kiota_bundle_version }}were found beyond their assignments in template/extensions/context.py.jinja-base. Update downstream templates to actual-pin these versions (e.g., in requirements.txt or package.json) or remove unused contexts. Confirm the preview release fornode_kiota_bundle_versionis intentional.
| # Reformatting (should generally come before any file format or other checks, because reformatting can change things) | ||
| - repo: https://github.com/crate-ci/typos | ||
| rev: edb4e206047e89b93ebe08f1a2ccc3d581a70cc7 # frozen: v1 | ||
| rev: 6573587991823ef75e4d6ca97fe895f45e9f14e4 # frozen: v1 |
There was a problem hiding this comment.
🧩 Analysis chain
Verify updated pre-commit hook versions.
Several pre-commit hook revisions have been updated. Please verify that these rev hashes correspond to valid and stable versions of the respective tools.
Run the following script to verify the hook versions:
Also applies to: 192-192, 246-246, 274-274
🏁 Script executed:
#!/bin/bash
# Description: Verify the rev hashes correspond to valid tags/releases
# Check typos
echo "=== Checking typos ==="
gh api repos/crate-ci/typos/commits/6573587991823ef75e4d6ca97fe895f45e9f14e4 --jq '.sha,.commit.message' || echo "Failed to verify typos rev"
# Check check-jsonschema
echo "=== Checking check-jsonschema ==="
gh api repos/python-jsonschema/check-jsonschema/commits/83b816d020105076daac266dbf6bfed199a2da93 --jq '.sha,.commit.message' || echo "Failed to verify check-jsonschema rev"
# Check ruff-pre-commit
echo "=== Checking ruff-pre-commit ==="
gh api repos/astral-sh/ruff-pre-commit/commits/f9351c924055bf6c7b4a4670237d3ce141e9f57c --jq '.sha,.commit.message' || echo "Failed to verify ruff rev"
# Check pylint
echo "=== Checking pylint ==="
gh api repos/pylint-dev/pylint/commits/9a3035053154ba0c3ca3b300d6bc9fa72b95d552 --jq '.sha,.commit.message' || echo "Failed to verify pylint rev"Length of output: 833
Fix invalid pre-commit hook revisions
- Lines 45, 192, 246, 274: the
revhashes forcrate-ci/typos@6573587991823ef…andpython-jsonschema/check-jsonschema@83b816d0…do not exist—please update them to valid commit SHAs or release tags. - The revisions for
astral-sh/ruff-pre-commit@f9351c9…(v0.14.0) andpylint-dev/pylint@9a30350…(4.0.1) are confirmed valid.
Link to Issue or Message thread
#101
Why is this change necessary?
Better support OpenAPI codegen for typescript
How does this change address the issue?
Adds some ignores to pre-commit config. Adds some versions to context for use in downstream repos
What side effects does this change have?
None
How is this change tested?
Downstream repos
Other
Bumped some other context and pre-commit hooks
Summary by CodeRabbit
New Features
Chores