Uh oh!
There was an error while loading. Please reload this page.
docs(mlops): add first-time contributor checklist (fixes #121) - #163
docs(mlops): add first-time contributor checklist (fixes #121)#163emberb170d wants to merge 4 commits into
Conversation
📝 WalkthroughWalkthroughThe PR standardizes editor settings and Python 3.12 declarations across templates. It expands MLOps contribution guidance and links the authoring documentation to the shared MLOps contract. ChangesTemplate standards and guidance
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 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.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@templates/celery-worker/.editorconfig`:
- Around line 11-12: Update the 2-space glob in
templates/celery-worker/.editorconfig, templates/cli-starter/.editorconfig,
templates/django-api/.editorconfig, templates/fastapi-starter/.editorconfig,
templates/mlops-sklearn-starter/.editorconfig, and
templates/uv-workspace-starter/.editorconfig at lines 11-12 to include md
alongside yml, yaml, json, and toml, preserving the existing indent_size
setting.
In `@templates/mlops-sklearn-starter/CONTRIBUTING.md`:
- Around line 44-50: Update the “Template registration” checklist in
CONTRIBUTING.md to explicitly scope the registration, documentation,
.python-version, and .editorconfig requirements to contributors adding a new
template. Use a “When adding a new template” qualifier or conditional subsection
while preserving the existing required fields and files.
- Around line 6-9: Update the step-registration instructions and checklist in
templates/mlops-sklearn-starter/CONTRIBUTING.md at lines 6-9 and 23-28 to use
one explicit path convention, referencing src/mlops_sklearn/data/,
src/mlops_sklearn/models/, src/mlops_sklearn/pipeline/base.py,
src/mlops_sklearn/pipeline/steps_registry.py, and the corresponding
configuration paths; ensure both sites consistently direct contributors to files
inside the installed package.
- Around line 10-12: Update the testing guidance in CONTRIBUTING.md to require a
generated-project smoke test: scaffold mlops-sklearn-starter with
all-mlops-github-actions using CI=true and --no-interactive, then run uv sync
and uv run pytest from the generated project root.
🪄 Autofix
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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 1db8c523-5d87-411e-a694-4d3cd01d5c5e
📒 Files selected for processing (13)
docs/AUTHORING.mdtemplates/celery-worker/.editorconfigtemplates/celery-worker/.python-versiontemplates/cli-starter/.editorconfigtemplates/cli-starter/.python-versiontemplates/django-api/.editorconfigtemplates/django-api/.python-versiontemplates/fastapi-starter/.editorconfigtemplates/fastapi-starter/.python-versiontemplates/mlops-sklearn-starter/.editorconfigtemplates/mlops-sklearn-starter/.python-versiontemplates/mlops-sklearn-starter/CONTRIBUTING.mdtemplates/uv-workspace-starter/.editorconfig
| [*.{yml,yaml,json,toml}] | ||
| indent_size = 2 No newline at end of file |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Keep Markdown formatting aligned across all template .editorconfig files.
Each file sets root = true, so it does not inherit the repository root Markdown rule. Add md to each 2-space glob.
templates/celery-worker/.editorconfig#L11-L12: addmdto the glob.templates/cli-starter/.editorconfig#L11-L12: addmdto the glob.templates/django-api/.editorconfig#L11-L12: addmdto the glob.templates/fastapi-starter/.editorconfig#L11-L12: addmdto the glob.templates/mlops-sklearn-starter/.editorconfig#L11-L12: addmdto the glob.templates/uv-workspace-starter/.editorconfig#L11-L12: addmdto the glob.
📍 Affects 6 files
templates/celery-worker/.editorconfig#L11-L12(this comment)templates/cli-starter/.editorconfig#L11-L12templates/django-api/.editorconfig#L11-L12templates/fastapi-starter/.editorconfig#L11-L12templates/mlops-sklearn-starter/.editorconfig#L11-L12templates/uv-workspace-starter/.editorconfig#L11-L12
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/celery-worker/.editorconfig` around lines 11 - 12, Update the
2-space glob in templates/celery-worker/.editorconfig,
templates/cli-starter/.editorconfig, templates/django-api/.editorconfig,
templates/fastapi-starter/.editorconfig,
templates/mlops-sklearn-starter/.editorconfig, and
templates/uv-workspace-starter/.editorconfig at lines 11-12 to include md
alongside yml, yaml, json, and toml, preserving the existing indent_size
setting.
| 2. Add or modify a pipeline step under `data/` or `models/`, implementing | ||
| `BaseStep` from `pipeline/base.py`. | ||
| 2. Register it in `pipeline/steps_registry.py`. | ||
| 3. Add or update its config section in `config.py` and `configs/default.yaml`. | ||
| 4. Add tests — see `docs/TESTING_GUIDE.md`. | ||
| 5. Run `uv run ruff check .`, `uv run mypy .`, `uv run pyright`, and | ||
| 3. Register it in `pipeline/steps_registry.py`. | ||
| 4. Add or update its config section in `config.py` and `configs/default.yaml`. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Use one explicit path convention for MLOps steps and configuration.
The supplied template stores implementation under src/mlops_sklearn/, but the guide uses package-relative paths without stating that convention. Contributors can create files outside the installed package, so the registry and pipeline runner will not load them.
templates/mlops-sklearn-starter/CONTRIBUTING.md#L6-L9: documentsrc/mlops_sklearn/data/,src/mlops_sklearn/models/,src/mlops_sklearn/pipeline/base.py, andsrc/mlops_sklearn/pipeline/steps_registry.py, or explicitly declare package-relative paths.templates/mlops-sklearn-starter/CONTRIBUTING.md#L23-L28: apply the same convention to the checklist and configuration paths.
📍 Affects 1 file
templates/mlops-sklearn-starter/CONTRIBUTING.md#L6-L9(this comment)templates/mlops-sklearn-starter/CONTRIBUTING.md#L23-L28
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/mlops-sklearn-starter/CONTRIBUTING.md` around lines 6 - 9, Update
the step-registration instructions and checklist in
templates/mlops-sklearn-starter/CONTRIBUTING.md at lines 6-9 and 23-28 to use
one explicit path convention, referencing src/mlops_sklearn/data/,
src/mlops_sklearn/models/, src/mlops_sklearn/pipeline/base.py,
src/mlops_sklearn/pipeline/steps_registry.py, and the corresponding
configuration paths; ensure both sites consistently direct contributors to files
inside the installed package.
| 5. Add tests — see `docs/TESTING_GUIDE.md`. | ||
| 6. Run `uv run ruff check .`, `uv run mypy .`, `uv run pyright`, and | ||
| `uv run pytest` before committing. |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
export CPA_TEMPLATES_URL="file://$PWD"
CI=true uvx create-awesome-python-app /tmp/mlops-sklearn-check \
--template mlops-sklearn-starter \
--addons all-mlops-github-actions \
--no-interactive
(
cd /tmp/mlops-sklearn-check
uv sync
uv run pytest
)Repository: Create-Python-App/cpa-templates
Length of output: 353
🏁 Script executed:
#!/bin/bashset -euo pipefail
echo"== locate markdown files =="
git ls-files '*.md'| rg '(^|/)CONTRIBUTING\.md$|docs/TESTING_GUIDE\.md|README\.md'||trueechoecho"== inspect CONTRIBUTING around listed lines =="if [ -f templates/mlops-sklearn-starter/CONTRIBUTING.md ];then
cat -n templates/mlops-sklearn-starter/CONTRIBUTING.md | sed -n '1,60p'fiechoecho"== search for generate/app/smoke/testing validation patterns in Markdown =="
rg -n "generate|scaffold|CI=true|uv sync|create-awesome-python-app|--no-interactive|mlops-sklearn-starter|pytest" --glob '*.md'.| sed -n '1,200p'Repository: Create-Python-App/cpa-templates
Length of output: 27231
🏁 Script executed:
#!/bin/bashset -euo pipefail
echo"== inspect mlops template files =="
git ls-files templates/mlops-sklearn-starter | sed -n '1,80p'echoecho"== inspect AGENTS for mlops (if any) =="if [ -f templates/mlops-sklearn-starter/AGENTS.md ];then
cat -n templates/mlops-sklearn-starter/AGENTS.md | sed -n '1,120p'fiechoecho"== check mlops README quality checklist item =="
cat -n templates/mlops-sklearn-starter/README.md | sed -n '1,80p'||trueechoecho"== check docs/TESTING_GUIDE.md if present =="
cat -n templates/mlops-sklearn-starter/docs/TESTING_GUIDE.md | sed -n '1,120p'||trueechoecho"== search exact commands in mlops markdown =="
rg -n "uv sync|uvx|create-awesome-python-app|CI=true|--no-interactive|uv run pytest|mlops-sklearn-starter" templates/mlops-sklearn-starter/*.md templates/mlops-sklearn-starter/**/*.md templates/mlops-sklearn-starter/**/**/*.md ||trueRepository: Create-Python-App/cpa-templates
Length of output: 6339
Add the required generated-project smoke test.
These commands only validate the repository. Add a local scaffold test that generates mlops-sklearn-starter + all-mlops-github-actions with CI=true and --no-interactive, then runs uv sync and uv run pytest from the generated project root.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/mlops-sklearn-starter/CONTRIBUTING.md` around lines 10 - 12, Update
the testing guidance in CONTRIBUTING.md to require a generated-project smoke
test: scaffold mlops-sklearn-starter with all-mlops-github-actions using CI=true
and --no-interactive, then run uv sync and uv run pytest from the generated
project root.
Source: Coding guidelines
| ### Template registration | ||
| - [ ] New templates are registered in `templates.json` with all required fields: | ||
| `name`, `slug`, `description`, `url`, `type`, `category`, `labels`. | ||
| - [ ] New templates have a `docs/README.md.append` describing the template's | ||
| purpose and unique features. | ||
| - [ ] New templates have a `.python-version` and `.editorconfig` file. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Scope template-registration requirements conditionally.
The checklist states that every item must pass, but these bullets apply only when a contributor creates a new template. A normal pipeline-step change cannot satisfy them without adding unrelated registry and documentation files. Add a When adding a new template qualifier or move these items into a conditional subsection.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@templates/mlops-sklearn-starter/CONTRIBUTING.md` around lines 44 - 50, Update
the “Template registration” checklist in CONTRIBUTING.md to explicitly scope the
registration, documentation, .python-version, and .editorconfig requirements to
contributors adding a new template. Use a “When adding a new template” qualifier
or conditional subsection while preserving the existing required fields and
files.
ulises-jeremias
commented
Aug 16, 2026
Please open a fresh branch from current main with only This PR conflicts because AUTHORING already has the MLOPS contract link (#164) and the EditorConfig files already landed in #159. The checklist also points at paths that do not exist on this template ( Once the paths match |
ulises-jeremias
commented
Aug 17, 2026
#169, #165, and #162 are now on main, so this branch conflicts. The remaining unique file is Please rebase onto current |
Adds a comprehensive first-time contributor checklist to CONTRIBUTING.md in the mlops-sklearn-starter template.
The checklist covers:
This helps newcomers make successful first PRs to MLOps templates by providing
clear, actionable guidelines that align with the MLOps track constraints
from issue #74.
Summary by CodeRabbit
Documentation
Template Improvements