com um clique
release
// Release a new version of flutter_line_sdk. Handles changelog, version bumps, git tag, GitHub release, and pub.dev publish.
// Release a new version of flutter_line_sdk. Handles changelog, version bumps, git tag, GitHub release, and pub.dev publish.
| name | release |
| description | Release a new version of flutter_line_sdk. Handles changelog, version bumps, git tag, GitHub release, and pub.dev publish. |
| allowed-tools | Bash(git:*), Bash(gh:*), Bash(flutter:*), Bash(dart:*), Read, Edit, Write, Grep, Glob |
Release a new version of the flutter_line_sdk Flutter plugin. This skill walks through the full release pipeline step by step, with user confirmation at each critical stage.
The user may provide:
$VERSION — the new version number (e.g. 2.8.0). If not provided, ask for it.$BUMP_TYPE — one of major, minor, patch. If provided instead of a version, calculate the new version from the current one.Before starting, verify:
git status --porcelain is empty). If not, warn the user and stop.master. If not, warn and stop.pubspec.yaml (line starting with version:).git describe --tags --abbrev=0).Collect changes since the last tag:
git log $(git describe --tags --abbrev=0)..HEAD --oneline --no-merges
Also check for merged PRs:
git log $(git describe --tags --abbrev=0)..HEAD --oneline --grep="Merge pull request"
Categorize commits into sections following the existing CHANGELOG.md format:
### Added — new features### Changed — changes to existing functionality### Fixed — bug fixes### Removed — removed featuresDraft the changelog entry in this format:
## $VERSION
### Added
* Description of addition. [#N](https://github.com/line/flutter_line_sdk/pull/N)
### Fixed
* Description of fix. [#N](https://github.com/line/flutter_line_sdk/issues/N)
Present the draft to the user for review and editing before proceeding.
Prepend the approved changelog entry to the top of CHANGELOG.md (before the first ## X.Y.Z line).
Three files must be updated with the new version:
Update version: X.Y.Z on line 3.
Update s.version = 'X.Y.Z' on line 3.
Update version: X.Y.Z+N on line 4.
N is the total commit count of the repo: git rev-list --count HEAD.Run checks to ensure everything is in order:
flutter pub get
flutter analyze --fatal-infos
flutter test
If any check fails, report the error and stop. Do NOT proceed with committing broken code.
Ask the user for confirmation before committing.
Create a single commit with all version-bump changes:
git add pubspec.yaml ios/flutter_line_sdk.podspec example/pubspec.yaml example/pubspec.lock CHANGELOG.md
git commit -m "Bump version to $VERSION"
Then tag:
git tag $VERSION
Ask the user for confirmation before pushing.
git push origin master
git push origin $VERSION
Create a GitHub release using the changelog entry as the body. The repo is on github.com (NOT git.linecorp.com).
gh release create $VERSION --title "$VERSION" --notes-file - <<'EOF'
<changelog entry content for this version>
EOF
Ask the user for confirmation before publishing. This is irreversible.
flutter pub publish
If the user wants to do a dry run first:
flutter pub publish --dry-run
After completing all steps, display a summary:
✓ CHANGELOG.md updated
✓ Version bumped to $VERSION in 3 files
✓ Committed and tagged $VERSION
✓ Pushed to origin/master
✓ GitHub release created: https://github.com/line/flutter_line_sdk/releases/tag/$VERSION
✓ Published to pub.dev
line/flutter_line_sdk on github.com. Do NOT use GH_HOST=git.linecorp.com.git log --oneline).