dart-package-maintenance

Guides versioning, publishing, and pull request workflows for Dart packages.

1|Updated Apr 30, 2026
One-click install
npx skills add https://github.com/Wishtohear/bucket-water-oms --skill dart-package-maintenance-wishtohear
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dart-package-maintenance
Source: https://github.com/Wishtohear/bucket-water-oms/tree/main/bucket-water-oms-admin-mobile/tool/dart_skills_lint/.agents/skills/dart-package-maintenance
Command: npx skills add https://github.com/Wishtohear/bucket-water-oms --skill dart-package-maintenance-wishtohear

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Maintaining Dart packages involves error-prone tasks like keeping pubspec.yaml and CHANGELOG.md versions in sync, avoiding edits to already-released versions, and following correct publish and tagging conventions. This Skill codifies Dart team best practices so releases stay consistent and collaborative changes stay clean. ## Core Features & Use Cases - Semantic Versioning Rules: Enforces major/minor/patch bumps, unstable 0.x versioning, and -wip suffix handling after each publish. - Release Workflow: Walks through removing -wip suffixes, running dart pub publish, and creating correctly named git tags for single-package repos and monorepos. - Pull Request Hygiene: Prescribes squash merging, avoiding force pushes on open PRs, and resolving conflicts by merging main instead of rebasing. - Use Case: After merging a bug fix into a Dart package, use this Skill to verify the published version via git tags, bump pubspec.yaml to the next -wip version, and add a matching CHANGELOG.md section. ## Quick Start Use the dart-package-maintenance skill to prepare my Dart package for its next release, including version bump, changelog update, and publish steps.

Frequently Asked Questions about dart-package-maintenance

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

FAQPage Schema
How do I version a Dart package before publishing?▼

Dart packages follow semantic versioning: major for breaking changes, minor for new features, patch for bug fixes. Check the currently released version via git tags or pub.dev first, then increment pubspec.yaml and add a matching CHANGELOG.md section, typically with a -wip suffix.

How to publish a Dart package to pub.dev?▼

Remove the -wip suffix from pubspec.yaml and CHANGELOG.md in a dedicated pull request, then run dart pub publish or flutter pub publish and resolve all warnings. After publishing, create and push a git tag like v1.2.3, or package_name-v1.2.3 for monorepos.

Should I edit a CHANGELOG entry for an already released version?▼

No, never add new entries to a version header that corresponds to a released tag. Instead, increment the version in pubspec.yaml, usually with a -wip suffix, and create a new CHANGELOG.md section whose header matches the new version.

How do I resolve merge conflicts on an open Dart package PR?▼

Prefer merging main into the PR branch rather than rebasing, since rebasing rewrites shared history and loses review comments. Avoid force pushing once a PR is open, and use gh pr checkout <number> to inspect changes locally.

When should a Dart package use a 0.x version instead of 1.0.0?▼

Unstable packages use the 0.major.minor+patch format while the API is still evolving. Once the package is stable, aim to release 1.0.0 as soon as possible to signal a dependable public API to consumers.