Semua Karya

Engineering case study

Compose Template Generator

Plugin Android Studio dan IntelliJ IDEA untuk menyiapkan fitur Compose/KMP dengan preview perubahan sebelum file ditulis.

Developer ToolingPublished2026
Compose Template Generator preview

Developer Tooling · Published

Project overview

Tentang Proyek

Compose Template Generator membantu developer membuat screen, state, repository, navigasi, DI, preview, dan test scaffold mengikuti struktur proyek yang sudah ada. Plugin mendeteksi source set serta library yang digunakan, lalu menampilkan file baru dan patch integrasi untuk ditinjau.

Jenis
Karya / Project
Platform
Developer Tooling
Tahun
2026
Status
Published

Contribution

Peran Saya

Kontribusi di bawah hanya menggunakan informasi yang tersedia di data portfolio.

Role

Developer tooling

Context & approach

Tantangan & Solusi

Tantangan

Pembuatan fitur berulang membutuhkan banyak file yang saling terhubung. Generator juga harus menghormati source set KMP, struktur DI, dan file pengguna yang sudah ada.

Solusi

Pemisahan deteksi proyek, perencanaan perubahan, preview, dan penulisan file membuat hasil generator dapat diperiksa. Integrasi otomatis dibatasi pada bentuk proyek yang dikenali.

Delivered scope

Yang Saya Bangun

Ringkasan scope pada level produk, bukan klaim detail implementasi yang belum terverifikasi.

  • Scaffold MVVM, MVI, Slack Circuit, Decompose, dan Clean Architecture
  • Pemetaan commonMain, commonTest, androidMain, dan iosMain
  • Preview file dan patch DI, navigasi, serta dependency
  • Inspeksi batas Android API dan implementasi actual

Public evidence

Bukti Publik

Delivery status

Status & Batas Verifikasi

  • Dukungan auto-wiring mengikuti support matrix; struktur proyek yang berbeda dapat memerlukan patch manual.
  • Fixture dan perintah verifikasi tersedia di repository. Kecocokan dengan versi IDE proyek perlu diperiksa sebelum digunakan.

Product value

Fitur Utama

Kemampuan utama yang membentuk pengalaman pengguna.

01

Preview sebelum menulis

Developer meninjau file dan patch yang akan dibuat; file yang sudah ada dilewati secara default.

02

Scaffold sesuai source set

Template membedakan kode bersama, kode platform, dan test sehingga penempatan file mengikuti struktur KMP.

03

Integrasi yang dibatasi

Koin, Kotlin Inject, Hilt, navigasi, dan version catalog dipatch hanya ketika struktur yang didukung terdeteksi.

Technical credibility

Engineering Highlights

Sorotan pendekatan yang dapat diverifikasi dari scope produk.

01

Perubahan eksplisit

Rencana integrasi masuk ke preview yang sama dengan file fitur. Struktur yang tidak dikenali menghasilkan patch TODO untuk dikerjakan manual.

02

Fixture hasil generator

Repository menyediakan fixture Gradle KMP untuk memeriksa sumber yang dihasilkan, selain pengujian plugin.

Trade-offs

Keputusan Teknis

01

Auto-wiring pada struktur yang dikenali

Decision
Batasi perubahan otomatis pada bentuk DI, navigasi, dan Gradle yang didukung.
Why
Proyek KMP dapat memakai susunan modul dan pola registrasi yang berbeda.
Trade-off
Struktur di luar support matrix tetap membutuhkan integrasi manual.
02

Lewati file existing

Decision
Tampilkan rencana perubahan dan hindari menimpa file fitur yang sudah ada.
Why
Generator perlu menjaga kode yang telah dikerjakan developer.
Trade-off
Developer tetap meninjau hasil dan menyelesaikan konflik integrasi.

System view

Architecture

  1. 1

    IDE action

    Wizard menerima nama fitur, package, dan source root.

  2. 2

    Project scanning

    Deteksi source set, library, serta bentuk DI dan navigasi.

  3. 3

    Generation plan

    Template membentuk file baru dan patch integrasi.

  4. 4

    Preview and write

    Perubahan ditinjau sebelum file yang dipilih ditulis.

Stack

Technology

Language

Kotlin

IDE plugin

IntelliJ Platform

Build and fixture

Gradle

Verified outcome

Hasil

Hanya hasil kualitatif yang tersedia di data portfolio yang ditampilkan.

  • Plugin tersedia di JetBrains Marketplace dengan source berlisensi Apache-2.0.

Next step

Punya Produk yang Mirip?

Ceritakan target pengguna dan workflow utama yang Anda butuhkan. Saya dapat membantu memetakan scope, pendekatan teknis, budget, dan timeline pengembangannya.