mz-commit

Prepares commits and pull requests following Materialize repository conventions.

6.4k|512|Updated Feb 22, 2019
One-click install
npx skills add https://github.com/MaterializeInc/materialize --skill mz-commit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mz-commit
Source: https://github.com/MaterializeInc/materialize/tree/main/.agents/skills/mz-commit
Command: npx skills add https://github.com/MaterializeInc/materialize --skill mz-commit

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Contributing to the Materialize repository requires following specific conventions for formatting, linting, commit messages, PR titles, Cargo.lock management, and branch splitting, and missing any of these causes CI failures or review delays.

Core Features & Use Cases

  • Pre-commit checklist: Runs bin/fmt, bin/lint, and cargo clippy with warnings denied, plus correct snapshot update workflows via cargo insta and REWRITE=1 for datadriven tests.
  • PR and commit conventions: Enforces imperative-mood squash-merge PR titles, thorough descriptions, release notes, and Linear issue references like Closes: SQL-450.
  • Cargo.lock discipline: Prevents full lockfile regeneration by using cargo check or targeted cargo update -p, with diff review and pin-back procedures.
  • Use Case: You finished a large feature branch and need to land it. The Skill guides splitting it into stacked PRs under 500 lines each using non-interactive git commands, then landing them sequentially against main.

Quick Start

Ask the assistant to prepare and commit the current changes as a pull request following Materialize conventions.

Frequently Asked Questions about mz-commit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I commit code to the Materialize repository?

Run bin/fmt, bin/lint, and cargo clippy --all-targets -- -D warnings before committing, fixing any warnings. Then push a branch to your fork and open a pull request targeting main on MaterializeInc/materialize with an imperative-mood title.

How do I update snapshot test files in Materialize?

Never edit .snap files manually. Run cargo test followed by cargo insta accept to update snapshots, and use REWRITE=1 cargo test to rewrite datadriven test expectations.

How should I update Cargo.lock without breaking dependencies?

Avoid bare cargo update, which bumps every semver-compatible dependency. Use cargo check when adding dependencies or cargo update -p <crate> for a single crate, then review the diff and pin back unexpected version changes with --precise.

How do I split a large branch into smaller pull requests?

Keep each PR under roughly 500 changed lines, split by concern. Use git reset --soft to restage the full diff, stage per group with git add, and land PRs sequentially with git fetch upstream and git rebase upstream/main between merges.

Where should new Materialize issues be filed?

New issues go in Linear, never in the legacy database-issues GitHub repo. Reference them by key such as Closes: SQL-450, while existing database-issues#NNNN references remain valid for reading and closing.