一键导入
release
Prepare Fiktion releases: bump versions, update docs and changelog, publish, and write GitHub release notes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Prepare Fiktion releases: bump versions, update docs and changelog, publish, and write GitHub release notes.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Fiktion Kotlin Multiplatform fake data library guidance for library users who need to install Fiktion, generate fake values in Kotlin tests, configure rules, use built-in generators, install add-ons, create project-local add-ons, enable optional detekt rules, or troubleshoot CannotGenerateException and configuration issues.
Repository contributor workflow for implementing, documenting, and testing custom detekt rules in the fiktion-detekt-rules module. Use when Codex needs to add, modify, refactor, or review a detekt rule, update the rule set, add autocorrect behavior, write rule tests, write Fiktion core before/after behavior tests, or update detekt rule documentation in this repository.
| name | release |
| description | Prepare Fiktion releases: bump versions, update docs and changelog, publish, and write GitHub release notes. |
Use this skill for Fiktion repository release preparation.
When bumping Fiktion from an old version to a new version:
build.gradle.kts.CHANGELOG.md.README.md.skills/fiktion/**..codex/skills/** when they contain public dependency snippets or maintainer workflow examples.examples/**/build.gradle.kts for public sample projects.compatibility/jvm-consumer/build.gradle.kts for the consumer compatibility project.README.md compatibility commands and .github/workflows/ci.yml matrix values when the supported Kotlin line changes.Version-bearing locations are intentionally split by purpose:
build.gradle.kts.CHANGELOG.md.README.md.skills/fiktion/**, especially dependency snippets in references/basic-api.md, references/addons.md, and references/detekt-rules.md..codex/skills/**, especially this release skill's examples and search patterns.examples/**/build.gradle.kts.compatibility/jvm-consumer/build.gradle.kts; compatibility/jvm-consumer/settings.gradle.kts only changes when the default consumer Kotlin version changes..github/workflows/ci.yml only when the Kotlin compatibility matrix or published Kotlin line changes.Use targeted searches instead of broad blind replacement:
rg -n "0\\.2\\.1|v0\\.2\\.1" README.md CHANGELOG.md .codex/skills skills build.gradle.kts examples compatibility .github/workflows gradle -g '!**/build/**'
Adjust the old version in the search pattern to match the release being replaced.
Also search for the Kotlin compiler line when the release changes Kotlin compatibility:
rg -n "2\\.4\\.0|2\\.4\\.x|consumer.kotlin.version" README.md skills compatibility .github/workflows gradle -g '!**/build/**'
Use this order for an actual release:
main.main and verify it points at the merged commit.main.Do not create the GitHub Release before publishing succeeds. If publishing fails, fix publishing on main before creating release notes or tags that users may follow.
Publishing usually requires credentials and network access. Before running publish tasks, confirm the exact command with the user and make sure the working tree is clean.
Use this public-facing format for GitHub Release notes:
## Highlights
- One short sentence explaining the main user-visible change.
## What's Changed
- Changed ...
- Fixed ...
- Added ...
## Upgrade
Use version `x.y.z` for all Fiktion artifacts:
```kotlin
plugins {
id("dev.s7a.fiktion") version "x.y.z"
}
dependencies {
testImplementation("dev.s7a:fiktion-core:x.y.z")
testImplementation("dev.s7a:fiktion-addon-arrow-core:x.y.z")
testImplementation("dev.s7a:fiktion-addon-java:x.y.z")
testImplementation("dev.s7a:fiktion-addon-kotlinx-datetime:x.y.z")
detektPlugins("dev.s7a:fiktion-detekt-rules:x.y.z")
}
```
## Artifacts
- `dev.s7a:fiktion-core:x.y.z`
- `dev.s7a:fiktion-addon-arrow-core:x.y.z`
- `dev.s7a:fiktion-addon-java:x.y.z`
- `dev.s7a:fiktion-addon-kotlinx-datetime:x.y.z`
- `dev.s7a:fiktion-compiler-plugin:x.y.z`
- `dev.s7a:fiktion-detekt-rules:x.y.z`
- Gradle plugin `dev.s7a.fiktion` version `x.y.z`
Keep release notes concise and user-facing. Prefer user-visible behavior over implementation detail. Mention implementation detail only when it changes upgrade behavior, compatibility, or troubleshooting. Do not include internal verification logs; verify publishing before creating the GitHub Release, then publish a clean release note.
Always run:
git diff --check
For documentation-only version snippet changes, no Gradle test is usually needed. For Gradle plugin wiring or build logic changes, run:
./gradlew :fiktion-gradle-plugin:test
For compiler plugin behavior changes, run a targeted compiler plugin test first, then broaden only when the changed surface requires it.
Before committing:
git status --short --branch.git diff --cached --stat.