协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
mlops-collaboration【开发与工程】Prepare a project for public collaboration — license, code of conduct, docs, branch rulesets, templates, and git-cliff releases. Use when open-sourcing a repository, onboarding contributors, or cutting a tagged release.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
To prepare a repository for collaboration while preserving its requested visibility by establishing Governance (License, Code of Conduct, branch rulesets), Documentation (README, AGENTS, Contributing), Standardization (Templates, Workstations), and Release Management.
Preserve existing work and repository visibility. Prepare local changes first; commit, push, change remote settings, publish, or deploy only with user authorization.
Set the rules of engagement.
pyproject.toml as license = "MIT" plus license-files = ["LICENSE.txt"] (PEP 639), and make sure the file itself carries its title and copyright line — a bare license body with no Copyright (c) <year> <author> is legally ambiguous.CODE_OF_CONDUCT.md to foster a safe community..github/rulesets/main.json and apply it with mise run install:rulesets. A ruleset in the repository is reviewable, diffable, and restorable; a setting clicked in the web UI is none of those. A useful baseline blocks deletion and non-fast-forward pushes, requires linear history, requires a pull request, and requires the CI status check to pass.
PUT over it when it exists, POST only when it does not. A plain POST creates a duplicate ruleset on every run.name or matrix can change that context; verify the displayed check before requiring it..gemini/config.yaml)..gitignore (exclude secrets, data, virtualenvs, and local MLflow state such as mlflow.db and mlartifacts/).Make the project usable and understandable.
sqlite:///mlflow.db locally), Ruff, ty, uv, and mise. Derive versions from the project's tool configuration and lockfiles so the README matches what a newcomer installs.mise run all) they must pass before opening a pull request.git-cliff (replaces Commitizen); commit the rendered file.Eliminate "it works on my machine".
cookiecutter for scaffolding and cruft update to keep projects synced.mise pins the toolchain (mise.lock) and uv pins the Python dependencies (uv.lock). They reproduce resolved versions across supported platforms; operating systems, hardware, and build inputs still matter. Both work with any editor..devcontainer/devcontainer.json adds one-click GitHub Codespaces and a pinned OS-level image. It is a genuine improvement for teams onboarding non-Python contributors, but it is not part of the course's reference package or its cookiecutter template today — so treat it as an upgrade to propose, not a box a project must tick. If you add one, install mise in the image and let it install everything else, so the devcontainer and a bare laptop resolve the same versions.Ship with confidence.
git-cliff from the commit history (replaces Commitizen/Keep-a-Changelog by hand).main is stable).develop + release branches).mise run all green -> bump version -> git-cliff changelog -> annotated vX.Y.Z tag (git tag -a vX.Y.Z) -> gh release create vX.Y.Z.LICENSE file present, titled, copyrighted, and declared with SPDX + license-files?README.md have installation instructions that match the real commands?AGENTS.md exist and describe the current stack and gate?CONTRIBUTING.md state the branch convention and require mise run all?.github/rulesets/main.json committed and applied idempotently by mise run install:rulesets?uv.lock and mise.lock committed? (A devcontainer is a recommended bonus, not a requirement.)vX.Y.Z) via gh release create?CHANGELOG.md generated by git-cliff from Conventional Commits?