* [ ] **Phase 1: Initial transfer and integration** * [ ] Transfer ktfmt repository to the Kotlin org on GitHub * [ ] Migrate the sources from `com.facebook.*` package to `org.jetbrains.kotlin.*` * [x] Clean up OS-dependent scripts and tests, replace them with OS-independent analogs * [ ] Set up CI in `Kotlin Tools and Libraries` TeamCity server * [ ] Set up the publishing process * [ ] Update ktfmt repo documentation/licence/etc. * [ ] Sync on the status of the [Gradle plugin](https://github.com/cortinico/ktfmt-gradle) and [IntelliJ plugin](https://plugins.jetbrains.com/plugin/14912-ktfmt) * [ ] **Phase 2: Kotlin repo adoption** * [ ] Kotlin repo formatting audit * [ ] sync on the current discrepancies in formatting in Kotlin repo * [ ] update ktfmt defaults where necessary * [ ] decide on the future of the `--kotlinlang-style` option * [ ] analyze the performance/memory impact/developer experience * [ ] Decide on the ktfmt in Kotlin workflow * [ ] how is the reformatting performed: IDE (IntelliJ plugin), Gradle, cli * [ ] when is the reformatting performed: incremental, on save, on commit, on push, on CI * [ ] Perform one-time reformat of the Kotlin repo * [ ] decide how to handle branch/PR conflicts * [ ] Set up CI checks and auto-reformatting * [ ] Update contribution guidelines * [ ] Configure ktfmt for the other official Kotlin repos * [ ] Set up ktfmt vs. Kotlin co-development processes * [ ] ktfmt vs. Kotlin versioning, decide on alpha/beta/experimental/release status of ktfmt * [ ] decide how and when new features are added * [ ] **Phase 3: Long-term community adoption and endorsement** * [ ] Stabilise the API surface so that external tools can rely on ktfmt * [ ] Update documentation in https://kotlinlang.org/ to recommend ktfmt * [ ] provide official IDE/CI setup recommendations * [ ] provide official Gradle/Maven/other build tools integration * [ ] Adopt ktfmt as a default formatter in IntelliJ * [ ] analyze the performance/memory impact * [ ] define deprecation/migration pipeline * [ ] sunset ktfmt IntelliJ plugin
Phase 1: Initial transfer and integration
com.facebook.*package toorg.jetbrains.kotlin.*Kotlin Tools and LibrariesTeamCity serverPhase 2: Kotlin repo adoption
--kotlinlang-styleoptionPhase 3: Long-term community adoption and endorsement