Skip to main content

sync-changelog

Sync the changelog from the Dart SDK repo to update the changelog.yml entries in the site repository.

설치로 이동

소스 정보

저장소
dart-lang/site-www
최근 소스 활동
2026년 5월 12일 17:52
감지된 SKILL.md 언어
영어
스타
1,051
포크
792

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
sync-changelog
description
Sync the changelog from the Dart SDK repo to update the changelog.yml entries in the site repository.
# Sync SDK changelog When you need to update the changelog entries in `src/data/changelog.yml` with the latest changes from the Dart SDK repository, carefully follow the steps outlined in this skill. ## Validate the SDK version Before running the sync tool, verify the Dart SDK version you wish to sync. It should be a stable release, not a pre-release, and in `major.minor.patch` format. If the user provides a version with just `major.minor`, you can assume a patch version of `0`. For example, `3.11` implies `3.11.0`. If necessary, you can validate what versions are available to sync by checking the [SDK changelog](https://raw.githubusercontent.com/dart-lang/sdk/main/CHANGELOG.md) and checking what h2 headers (`##`) are present. ## Sync and verify SDK changelog entries 1. **Run the sync tool** Execute the `sync-changelog` CLI command from within the website repository and specify the SDK version you want to sync. - **Command:** ```bash dart run dash_site sync-changelog --version <VERSION> ``` - **Example:** ```bash dart run dash_site sync-changelog --version 3.11.0 ``` > [!TIP] > You can preview the changes first by specifying the `--dry-run` flag: > > ```bash > dart run dash_site sync-changelog --version 3.11.0 --dry-run > ``` 2. **Verify changes** Check `src/data/changelog.yml` to ensure new entries are correct. - Review the diff: `git diff src/data/changelog.yml` - Ensure formatting is consistent and the new entries are prepended correctly. 3. **Filter and prune entries** Remove entries that don't represent concrete, user-facing changes to the Dart SDK, Dart language, or its surrounding tooling. **Remove entries that are:** - **Vague or nebulous:** Such as "Various performance improvements" or "Minor internal updates". Users need to know _what improved. - **Non-functional:** Such as "Thanks to @user for...", "Fixed typo in comment". - **Redundant:** Entries that duplicate others for the same feature. 4. **Refine tags** Review the `description` of each new entry. The tool uses keywords to infer tags, (such as "fixes" -> `fixed`, "adds" -> `new`), but **you must verify them**. **Rule:** If an entry has the wrong tag, or is just `changed` when it should be specific, **you must correct it** in `src/data/changelog.yml` before finishing. Entries **can and should** have multiple tags if applicable, such as having both `removed` and `breaking`. **Available tags and guidelines:** - `new`: For new features, additions, or introductions, such as indicated by "Added ..." or "Introduced...". - `fixed`: For bug fixes, such as indicated by "Fixed ..." or "Bug fix...". - `deprecated`: For deprecations, such as indicated by "Deprecated..." or "marked as legacy...". - `experimental`: For changes related to experimental features, such as indicated by "Experimental..." or "Preview...". - `removed`: For feature, capability, or API removals, such as indicated by "Removed..." or "Deleted...". - `breaking`: For breaking or backwards incompatible changes, such as indicated by "Breaking change...". Often used with `removed` or other significant modifications. - `versioned`: For changes that are language versioned, such as a new language syntax which often are. - `changed`: For general updates or modifications, a default tag that can be used as a fallback. **Example:** ```yaml - version: 3.11.0 # ... description: | Added support for Unix domain sockets... tags: - new # Changed from 'changed' because it adds a new feature. ``` 5. **Ensure the presence of links** Ensure every entry has a valid URL set as its `link` field. If no specific issue or PR link is available in the description, link to the specific section in the SDK changelog. - **Format:** `https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#<VERSION_ANCHOR>` - **Example:** `https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#3110` (for 3.11.0) ```yaml - version: 3.11.0 # ... link: https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#3110 ``` 6. **Fix any formatting or typo issues** Review the changelog entries for issues such as: - Markdown or YAML syntax issues. - Typos or grammatical errors. - `subArea` fields that aren't in sentence case. For example, use "Type promotion" instead of "Type Promotion". If a word isn't a proper noun, and it isn't the first word, don't capitalize it. If found, fix them before continuing on. 7. **Request user review** Notify the user that the changelog has been updated and tags refined. Ask them to verify the changes before committing. ## Troubleshooting - If no entries are found, verify the version exists in the [SDK changelog](https://raw.githubusercontent.com/dart-lang/sdk/main/CHANGELOG.md). - If entries are missing or malformed, check the tool logic in `tool/dash_site/lib/src/commands/sync_changelog.dart`.
GitHub에서 보기