Guide to prepare MLOps projects for sharing, collaboration, and community engagement.
Install
npx skillscat add fmind/mlops-python-package/mlops-collaboration Install via the SkillsCat registry.
SKILL.md
MLOps Collaboration
Goal
To transform a private project into a public, collaborative resource by establishing Governance (License, Code of Conduct), Documentation (README, Contributing), Standardization (Templates, Workstations), and Release Management.
Prerequisites
- Language: Python
- Platform: GitHub
- Context: Open sourcing or team collaboration.
Instructions
1. Repository Governance
Set the rules of engagement.
- Code of Conduct: Add
CODE_OF_CONDUCT.mdto foster a safe community. - Protection: Protect the
mainbranch (require PRs, status checks). - Review: Automate preliminary reviews with tools like Gemini Code Assist (
.gemini/config.yaml). - Ignore: Comprehensive
.gitignore(exclude secrets, data, venvs).
2. Comprehensive Documentation
Make the project usable and understandable.
- README.md: The landing page (Badges, Hook, Quickstart).
- MkDocs: Use for full documentation sites (API ref, tutorials) when
README.mdgets too long. - CONTRIBUTING.md: Guide for developers (env setup, PR process, testing standards).
- CHANGELOG.md: Track version history (use Keep a Changelog format).
3. Standardization & Workstations
Eliminate "it works on my machine".
- Templates: Use
cookiecutterfor scaffolding andcruft updateto keep projects synced. - Workstations: Add
.devcontainer/devcontainer.json.- Define Docker image, extensions, and settings.
- Enable GitHub Codespaces support.
4. Release Management
Ship with confidence.
- Versioning: Follow SemVer (MAJOR.MINOR.PATCH) and Keep a Changelog.
- Workflows:
- GitHub Flow: Small teams, continuous delivery (
mainis stable). - Git Flow: Scheduled releases (
develop+releasebranches). - Forking: Open source, distributed contributors.
- GitHub Flow: Small teams, continuous delivery (
- Process: Bump version -> Update Changelog -> Tag -> Release.
Self-Correction Checklist
- License: Is a
LICENSEfile present? - Readme: Does
README.mdhave installation instructions? - Contributing: Is
CONTRIBUTING.mdclear? - Devcontainer: Does
.devcontainer/devcontainer.jsonexist? - SemVer: Are releases using semantic versioning?