Conversation
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughUpdates across CI, configuration, tooling, and docs: adds lint-python and lint-r jobs and workflow concurrency, tightens changelog trigger, standardizes formatting and Node/Python tooling versions, and adds documentation and metadata updates (CITATION, CONTRIBUTING, MAINTAINERS, TODO, example.env). Changes
Sequence Diagram(s)sequenceDiagram
participant Push as "git push (main)"
participant GH as "GitHub Actions"
participant LintPy as "lint-python job"
participant LintR as "lint-r job"
participant LintJS as "lint (prettier) job"
participant Build as "build-optimize job"
participant Deploy as "deploy (pages) job"
Push->>GH: trigger workflows
GH->>LintPy: run lint-python
GH->>LintR: run lint-r
GH->>LintJS: run existing lint
LintPy-->>GH: result (success/fail)
LintR-->>GH: result (success/fail)
LintJS-->>GH: result (success/fail)
GH->>Build: run build-optimize (after lint jobs)
Build-->>GH: build result
GH->>Deploy: run deploy (needs: lint, lint-python, lint-r, build-optimize)
Deploy-->>GH: publish pages / cancel-in-progress if concurrent
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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.
Pull request overview
This PR updates the repository template’s configuration, documentation, and CI workflows to improve maintainability and add additional linting/metadata defaults.
Changes:
- Add Python (ruff/ty) and R (lintr) lint jobs to the Quarto publish workflow and gate deploy on them.
- Introduce/clarify project metadata and maintenance docs (CITATION.cff, MAINTAINERS.md, env setup guidance).
- Standardize formatting/config defaults (Prettier spaces, manifest/package JSON formatting, Node 24 via engines/.nvmrc).
Reviewed changes
Copilot reviewed 14 out of 20 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
site.webmanifest |
Reformat JSON indentation for consistency. |
pyproject.toml |
Add pytest to dev dependency group. |
package.json |
Reformat + add Node engine requirement (>=24). |
example.env |
Add guidance comments for local .env setup. |
TODO.md |
Update template checklist items (citation + project-management review). |
README.template.md |
Remove outdated build/ directory reference. |
CONTRIBUTING.md |
Document local environment setup using example.env → .env. |
CITATION.cff |
Populate a default Citation File Format record for the template. |
AGENTS.md |
Remove outdated build/ references in guidance. |
.prettierrc |
Switch Prettier to spaces (useTabs: false). |
.nvmrc |
Pin Node major version to 24 for local dev. |
.gitignore |
Adjust lychee cache ignore pattern. |
.github/workflows/quarto-publish.yml |
Add concurrency + Python/R lint jobs; require them before deploy. |
.github/workflows/greetings.yml |
Bump first-interaction action version. |
.github/workflows/changelog.yaml |
Restrict changelog workflow trigger to main branch pushes. |
.github/MAINTAINERS.md |
Add maintainer notes for _quarto.yml override behavior. |
.devcontainer/devcontainer.json |
Reformat JSON indentation for consistency. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
site.webmanifest (1)
2-3: Consider documenting placeholder convention for manifest fields.The
nameandshort_namefields are empty strings. If these are intentional placeholders for project instances to fill in, consider using a consistent placeholder format (like"SITE_NAME") to align with the placeholder policy documented inAGENTS.mdfor easier discovery during project setup.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@site.webmanifest` around lines 2 - 3, Replace the empty manifest fields "name" and "short_name" with explicit, consistent placeholders (e.g., "SITE_NAME" and "SITE_SHORT_NAME") to signal they must be filled per instance and update the project placeholder convention to match AGENTS.md; specifically modify the "name" and "short_name" entries to use those placeholder tokens and add a short note in the repo docs/AGENTS.md referencing that the web manifest uses these tokens so setup scripts or contributors can discover and replace them.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/quarto-publish.yml:
- Around line 17-19: The concurrency group is currently a top-level constant
("pages") which causes runs across branches to cancel each other; update the
concurrency.group value under the concurrency block to a ref-scoped string such
as '${{ github.workflow }}-${{ github.ref }}' (or alternatively remove the
top-level concurrency block and add a concurrency block scoped to the deploy
job) so builds are serialized per branch instead of globally; look for the
concurrency: block and the group: 'pages' line to make this change.
In `@example.env`:
- Around line 4-5: The sample environment variable name in the template doesn't
match the comment: update the placeholder ENV_VAR to API_KEY so the example and
comment align; replace the line containing ENV_VAR with a commented example like
API_KEY="your-api-key-here" (keeping it commented) and ensure the accompanying
comment above still reads "API key for an external service" to match the symbol
API_KEY.
---
Nitpick comments:
In `@site.webmanifest`:
- Around line 2-3: Replace the empty manifest fields "name" and "short_name"
with explicit, consistent placeholders (e.g., "SITE_NAME" and "SITE_SHORT_NAME")
to signal they must be filled per instance and update the project placeholder
convention to match AGENTS.md; specifically modify the "name" and "short_name"
entries to use those placeholder tokens and add a short note in the repo
docs/AGENTS.md referencing that the web manifest uses these tokens so setup
scripts or contributors can discover and replace them.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 43e4a9a8-14fa-435f-99c9-3bf7e43772f4
⛔ Files ignored due to path filters (2)
package-lock.jsonis excluded by!**/package-lock.jsonuv.lockis excluded by!**/*.lock
📒 Files selected for processing (18)
.devcontainer/devcontainer.json.github/MAINTAINERS.md.github/workflows/changelog.yaml.github/workflows/greetings.yml.github/workflows/quarto-publish.yml.gitignore.nvmrc.prettierrcAGENTS.mdCITATION.cffCONTRIBUTING.mdREADME.template.mdTODO.mdexample.envpackage.jsonpyproject.tomlsite.webmanifesttest/conftest.py
💤 Files with no reviewable changes (1)
- README.template.md
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/quarto-publish.yml:
- Around line 41-75: The lint jobs (lint-python and lint-r) currently inherit
excessive workflow permissions (pages: write and id-token: write); update each
job to explicitly set permissions to the minimal required scope by adding a
permissions override with contents: read for both the lint-python job and the
lint-r job (e.g., add a permissions: block containing contents: read under the
lint-python and lint-r job definitions) so they do not retain write/deployment
scopes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ad72e29b-6ffe-4a09-b8d8-e403afaffb32
📒 Files selected for processing (3)
.github/workflows/quarto-publish.yml.lycheerc.tomlexample.env
🚧 Files skipped from review as they are similar to previous changes (1)
- example.env
Pull request
Proposed changes
Types of changes
Checklist
Summary by CodeRabbit
New Features
Documentation
Chores