Skip to content

Copier update: more AGENTS.md#86

Merged
ejfine merged 2 commits intomainfrom
more-claude
Mar 25, 2026
Merged

Copier update: more AGENTS.md#86
ejfine merged 2 commits intomainfrom
more-claude

Conversation

@ejfine
Copy link
Copy Markdown
Contributor

@ejfine ejfine commented Mar 25, 2026

Pull in upstream template changes

Summary by CodeRabbit

  • Chores

    • Updated tool versions (UV to 0.10.12, pytest-cov to >=7.1.0)
    • Updated Copier template version and devcontainer configuration
    • Enhanced Docker image build workflow with improved tag output handling
  • Documentation

    • Updated agent guidelines with project structure guidance, code best practices, testing recommendations, and CI tooling workflows

@ejfine ejfine self-assigned this Mar 25, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 25, 2026

📝 Walkthrough

Walkthrough

This PR updates the Copier template to version v0.0.106, bumps tool versions (uv from 0.10.10 to 0.10.12, pytest-cov from >=7.0.0 to >=7.1.0), refactors a GitHub Actions workflow to expose a new full-image-tag output, and expands documentation guidelines in AGENTS.md with code style rules, testing recommendations, and tooling workflows.

Changes

Cohort / File(s) Summary
Version & Configuration Pins
.copier-answers.yml, .devcontainer/install-ci-tooling.py, extensions/context.py, pyproject.toml
Updated Copier template commit from v0.0.104 to v0.0.106, bumped uv version from 0.10.10 to 0.10.12, and increased pytest-cov minimum from >=7.0.0 to >=7.1.0. Devcontainer context hash also updated in .devcontainer/devcontainer.json.
GitHub Actions Workflow
.github/reusable_workflows/build-docker-image.yaml
Refactored workflow to compute and expose a new full-image-tag output (${{ inputs.repository }}/${{ inputs.image_name }}:context-${BUILD_HASH}). Updated docker pull, docker/build-push-action tags, and docker save steps to use the new consolidated full-image-tag output instead of composing values separately.
Documentation Updates
AGENTS.md, template/AGENTS.md
Added new sections on project structure, expanded code guidelines with rules against type-checker overrides (TypeScript as, Python cast()) and guidance on type inference, added Python testing recommendations for faker pytest fixture, expanded tooling guidance with pre-commit run <hook-id> workflows and prohibition on manual edits to generated/ directories, and added memory/rules confirmation requirements.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • copier-python-package-template#84: Updates the same version pins (uv_version and pytest-cov) across multiple configuration files in a coordinated manner.
  • copier-python-package-template#80: Performs related Copier template commits and devcontainer context hash updates alongside similar tooling version bumps.
  • copier-python-package-template#71: Updates Copier template versions and tool pins across the same set of infrastructure files (.copier-answers.yml, .devcontainer/install-ci-tooling.py, extensions/context.py).
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description 'Pull in upstream template changes' is vague and generic, lacking specific details about what changes are being incorporated or why. Provide specific details about the upstream changes: version bumps (UV, pytest-cov), AGENTS.md updates, and devcontainer modifications to clarify the scope and purpose.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Copier update: more AGENTS.md' is partially related to the changeset; it mentions the AGENTS.md updates but omits significant changes like UV version, pytest-cov version, and devcontainer updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a 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

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@AGENTS.md`:
- Line 14: Update the sentence in AGENTS.md that currently reads "Prefer
keyword-only parameters (unless a very clear single-argument function): use `*`
in Python signatures and destructured options objects in TypeScript." to replace
"a very clear single-argument function" with "a clear single-argument function"
so it reads "Prefer keyword-only parameters (unless a clear single-argument
function): use `*` in Python signatures and destructured options objects in
TypeScript."

In `@template/AGENTS.md`:
- Line 14: Update the phrasing in the AGENTS.md sentence that currently reads "a
very clear single-argument function" to instead read "a clear single-argument
function" so the guideline uses a more direct tone; locate the line containing
"Prefer keyword-only parameters (unless a very clear single-argument function):
use `*` in Python signatures and destructured options objects in TypeScript."
and replace the phrase accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a7fe9036-7a30-4f9c-a61b-3fa84741b026

📥 Commits

Reviewing files that changed from the base of the PR and between 14c7185 and cc64263.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (8)
  • .copier-answers.yml
  • .devcontainer/devcontainer.json
  • .devcontainer/install-ci-tooling.py
  • .github/reusable_workflows/build-docker-image.yaml
  • AGENTS.md
  • extensions/context.py
  • pyproject.toml
  • template/AGENTS.md

- Don't sort or remove imports manually — pre-commit handles it.
- Always include type hints for pyright in Python
- Respect the pyright rule reportUnusedCallResult; assign unneeded return values to `_`
- Prefer keyword-only parameters (unless a very clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Apply the same wording cleanup here for consistency.

Replace “a very clear single-argument function” with “a clear single-argument function.”

✏️ Suggested edit
-- Prefer keyword-only parameters (unless a very clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
+- Prefer keyword-only parameters (unless a clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
📝 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.

Suggested change
- Prefer keyword-only parameters (unless a very clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
- Prefer keyword-only parameters (unless a clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
🧰 Tools
🪛 LanguageTool

[style] ~14-~14: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... Prefer keyword-only parameters (unless a very clear single-argument function): use * in P...

(EN_WEAK_ADJECTIVE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@AGENTS.md` at line 14, Update the sentence in AGENTS.md that currently reads
"Prefer keyword-only parameters (unless a very clear single-argument function):
use `*` in Python signatures and destructured options objects in TypeScript." to
replace "a very clear single-argument function" with "a clear single-argument
function" so it reads "Prefer keyword-only parameters (unless a clear
single-argument function): use `*` in Python signatures and destructured options
objects in TypeScript."

- Don't sort or remove imports manually — pre-commit handles it.
- Always include type hints for pyright in Python
- Respect the pyright rule reportUnusedCallResult; assign unneeded return values to `_`
- Prefer keyword-only parameters (unless a very clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Tighten wording by removing the weak intensifier.

Consider replacing “a very clear single-argument function” with “a clear single-argument function” for more direct style.

✏️ Suggested edit
-- Prefer keyword-only parameters (unless a very clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
+- Prefer keyword-only parameters (unless a clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
📝 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.

Suggested change
- Prefer keyword-only parameters (unless a very clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
- Prefer keyword-only parameters (unless a clear single-argument function): use `*` in Python signatures and destructured options objects in TypeScript.
🧰 Tools
🪛 LanguageTool

[style] ~14-~14: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... Prefer keyword-only parameters (unless a very clear single-argument function): use * in P...

(EN_WEAK_ADJECTIVE)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@template/AGENTS.md` at line 14, Update the phrasing in the AGENTS.md sentence
that currently reads "a very clear single-argument function" to instead read "a
clear single-argument function" so the guideline uses a more direct tone; locate
the line containing "Prefer keyword-only parameters (unless a very clear
single-argument function): use `*` in Python signatures and destructured options
objects in TypeScript." and replace the phrase accordingly.

@ejfine ejfine marked this pull request as ready for review March 25, 2026 23:58
@ejfine ejfine merged commit 747600a into main Mar 25, 2026
11 checks passed
@ejfine ejfine deleted the more-claude branch March 26, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant