Conversation
WalkthroughThis update primarily consists of version bumps for dependencies and tooling, refinements to pre-commit and linting configurations, and the introduction of new exclusion patterns for generated or minified files. Several configuration files are renamed or replaced, and a global patch-ignore rule is added to Dependabot settings. Minor workflow improvements and context version updates are also included. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant Pre-commit
participant Linter/Formatter
participant CI Workflow
User->>Pre-commit: Run hooks on commit
Pre-commit->>Linter/Formatter: Check files (skip excluded/minified/generated)
Linter/Formatter-->>Pre-commit: Return results
Pre-commit-->>User: Show hook results
User->>CI Workflow: Trigger install job
CI Workflow->>CI Workflow: Install package
CI Workflow->>CI Workflow: Run pip list
CI Workflow-->>User: Output installed packages
Estimated code review effort1 (<30 minutes) Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Pull Request Overview
This PR updates the Copier template to integrate Biome configuration changes and update various tool versions. The changes include migrating from biome.json to biome.jsonc format, updating pre-commit hooks, and bumping dependency versions across the template.
- Migrates Biome configuration from JSON to JSONC format with enhanced file inclusion patterns
- Updates various tool versions including typos, biome, ruff, pnpm, pyright, and multiple Python dependencies
- Enhances pre-commit configuration with better exclusion patterns for generated and minified files
Reviewed Changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| template/biome.jsonc | New Biome configuration file with JSONC format and expanded file inclusion rules |
| template/biome.json | Removed old JSON format Biome configuration |
| template/.pre-commit-config.yaml | Updated tool versions and improved exclusion patterns for various file types |
| template/ruff.toml | Added TC006 rule ignore for type checking quotes |
| extensions/context.py | Updated version numbers for multiple dependencies including pnpm, pyright, pulumi, pydantic, fastapi, and uvicorn |
| template/.github/workflows/publish.yaml.jinja | Added dependency display steps in CI workflow |
| .copier-answers.yml | Updated commit reference from v0.0.55 to v0.0.57 |
| - dependency-name: "*" | ||
| update-types: | ||
| - "version-update:semver-patch" # we don't want to be bothered with patch updates for anything except security updates |
There was a problem hiding this comment.
The wildcard dependency-name pattern "*" is overly broad and may prevent important security patches from being automatically updated. Consider being more specific about which dependencies should ignore patch updates.
| - dependency-name: "*" | |
| update-types: | |
| - "version-update:semver-patch" # we don't want to be bothered with patch updates for anything except security updates | |
| - dependency-name: "example-lib1" # Replace "*" with specific dependencies to ignore | |
| update-types: | |
| - "version-update:semver-patch" # we don't want to be bothered with patch updates for anything except security updates | |
| - dependency-name: "example-lib2" # Add other specific dependencies as needed | |
| update-types: | |
| - "version-update:semver-patch" |
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (2)
.pre-commit-config.yaml (2)
116-120: Same regex escaping issue as in the template configReplicate the fix suggested for
template/.pre-commit-config.yamlto avoid unintended exclusions in the root config.
104-108: Archived Prettier mirror – apply upstream advice here as wellApply the alternative hook strategy in the root config to stay in sync with the template.
🧹 Nitpick comments (6)
ruff.toml (1)
64-65: Minor: keep ignore list ordered for readabilityGreat to see
TC006ignored. Consider alphabetising / grouping the ignore codes to avoid duplicate additions in future diff churn.template/.github/workflows/publish.yaml.jinja (1)
242-244: Mirror the same diagnostics in downstream scripts if anyIf other publish/install workflows exist outside this template, mirror this new step to keep logs consistent.
biome.jsonc (1)
1-16: Remove trailing commas for wider JSON tooling compatibilityWhile Biome’s JSONC parser accepts trailing commas, other tools (e.g. simple
jqviewers, Dependabot) parse the file as plain JSON and will choke. Dropping the trailing comma after the final element of each object/array avoids surprises.- "formatter": { - "enabled": false, - }, + "formatter": { + "enabled": false + }, ... - "!**/*.css", // still too many false positives, so we exclude CSS files - ], - }, + "!**/*.css" // still too many false positives, so we exclude CSS files + ] + }.github/dependabot.yml (1)
12-15: Global patch-ignore may hide important (non-security) bug-fixesSuppressing every patch update reduces noise but also delays innocuous fixes. An alternative is weekly auto-merge of patch PRs or grouping them, which keeps you current without manual effort.
template/biome.jsonc (1)
3-7: Remove trailing commas to maximise parser compatibility
JSONCtolerates comments, but not every consumer gracefully handles trailing commas (e.g., some VS Code extensions fail to parse them).
Safe-guard future tooling by dropping the commas after"enabled": false.- "formatter": { - "enabled": false, - }, + "formatter": { + "enabled": false + }, - "linter": { - "enabled": false, - }, + "linter": { + "enabled": false + },template/.pre-commit-config.yaml (1)
104-108: Prettier mirror repository is archived – plan a replacementThe comment notes that
pre-commit/mirrors-prettierwas archived in 2024.
Relying on an archived repo risks stalled updates and security fixes. Evaluate:
- Switching to
jamesgeorge007/pre-commit-prettieror- Invoking Prettier via a local hook (
npm exec prettier …)before this mirror becomes obsolete.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (15)
.copier-answers.yml(1 hunks).devcontainer/devcontainer.json(1 hunks).devcontainer/install-ci-tooling.py(1 hunks).github/dependabot.yml(1 hunks).pre-commit-config.yaml(4 hunks)biome.json(0 hunks)biome.jsonc(1 hunks)extensions/context.py(1 hunks)pyproject.toml(1 hunks)ruff.toml(1 hunks)template/.github/workflows/publish.yaml.jinja(2 hunks)template/.pre-commit-config.yaml(4 hunks)template/biome.json(0 hunks)template/biome.jsonc(1 hunks)template/ruff.toml(1 hunks)
💤 Files with no reviewable changes (2)
- biome.json
- template/biome.json
🔇 Additional comments (7)
.copier-answers.yml (1)
2-8: Confirm CI matrix vs. default runtime versions
python_ci_versionslists3.13.2, while the defaultpython_versionremains3.12.7. GitHub-hosted runners may not yet expose a stable 3.13.x image. If 3.13.x is unavailable the matrix will fail early.Please double-check the runner image availability (or pin to a prerelease tag) before merging.
template/.github/workflows/publish.yaml.jinja (1)
168-170: 👍 Helpful diagnostics stepThe extra
pip listafter staging-install will make debugging dependency resolution much easier..devcontainer/install-ci-tooling.py (1)
11-12: Version bump looks fine
PNPM_VERSIONupdated to10.13.1– no other logic impacted. Confirm that any lock-step tooling (e.g., pnpm-workspaces configs) doesn’t pin an older major/minor.pyproject.toml (1)
12-13: Dependency bump acknowledged
pyright[nodejs] >= 1.1.403aligns with the context version update. No further action required..devcontainer/devcontainer.json (1)
64-64: No functional impact – safe to ignoreThe change is limited to the auto-generated context hash. Nothing else to review.
template/ruff.toml (1)
64-65: Confirm Ruff knows aboutTC006before merging
TC006(fromflake8-type-checking) is only recognised in Ruff ≥ 0.12.0. Your pre-commit hook is pinned to v0.12.3, which is fine, but if anyone runs an older Ruff locally CI will pass while local lint fails.Would you like me to add a pre-commit check that fails fast when an unknown ignore code is encountered?
extensions/context.py (1)
14-37: All pinned versions are valid on PyPI
Verified that FastAPI 0.115.14 and Uvicorn 0.35.0 both exist on PyPI—no changes needed.
| .*/__snapshots__/.*| | ||
| .*.min.js| | ||
| .*.min.css| | ||
| .*.umd.js| | ||
| .*.yaml| |
There was a problem hiding this comment.
Regex typo – .*.min.js will not behave as intended
.*.min.js (note the un-escaped dot before min) matches any char, not a literal dot, so files such as fooXmin.js will also be skipped.
Use the same, correctly-escaped pattern you applied in the typos hook (.*\.min\.js, etc.) for consistency and precision.
- .*.min.js|
- .*.min.css|
- .*.umd.js|
+ .*\.min\.js|
+ .*\.min\.css|
+ .*\.umd\.js|📝 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.
| .*/__snapshots__/.*| | |
| .*.min.js| | |
| .*.min.css| | |
| .*.umd.js| | |
| .*.yaml| | |
| .*/__snapshots__/.*| | |
| .*\.min\.js| | |
| .*\.min\.css| | |
| .*\.umd\.js| | |
| .*.yaml| |
🤖 Prompt for AI Agents
In template/.pre-commit-config.yaml around lines 116 to 120, the regex patterns
like `.*.min.js` are incorrect because the dot before "min" is not escaped,
causing unintended matches. Fix this by escaping the dots before "min" and the
file extensions, changing patterns to `.*\.min\.js`, `.*\.min\.css`, and
`.*\.umd\.js` for accurate matching and consistency with other hooks.
Pull in upstream template changes
Summary by CodeRabbit