awesome-sunset-compose-multiplatform

Enforce clean architecture and platform-specific boundaries in Compose Multiplatform apps.

Updated May 5, 2023
One-click install
npx skills add https://github.com/uyelikanil/AwesomeSunsetWallpapers --skill awesome-sunset-compose-multiplatform
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: awesome-sunset-compose-multiplatform
Source: https://github.com/uyelikanil/AwesomeSunsetWallpapers/tree/main/.agents/skills/awesome-sunset-compose-multiplatform
Command: npx skills add https://github.com/uyelikanil/AwesomeSunsetWallpapers --skill awesome-sunset-compose-multiplatform

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the complexity of maintaining a unified codebase for Android and iOS by enforcing a pragmatic, evolutionary design that prevents over-engineering and architecture theatre.

Core Features & Use Cases

  • Multiplatform Architecture: Provides guidance on maintaining shared domain and application logic while respecting platform-specific boundaries.
  • Pragmatic Refactoring: Offers a framework for making small, safe changes that prioritize readability and maintainability over speculative abstractions.
  • Use Case: When adding a new feature, use this skill to determine whether to implement logic in commonMain or platform-specific source sets, ensuring the implementation remains clean and testable.

Quick Start

Use the awesome-sunset-compose-multiplatform skill to refactor the current navigation logic into a shared commonMain implementation while maintaining platform-specific UI adapters.

Frequently Asked Questions about awesome-sunset-compose-multiplatform

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Kotlin Multiplatform code to share logic between Android and iOS?

Structure Kotlin Multiplatform code by enforcing clean architecture and strict source-set boundary rules. This approach maintains shared domain logic in commonMain while respecting platform-specific boundaries, preventing over-engineering and ensuring minimal boilerplate across Android and iOS targets.

What is the best way to manage Compose Multiplatform source-set boundaries?

Manage Compose Multiplatform source-set boundaries by adhering to Kotlin Multiplatform conventions that separate shared application logic from platform-specific UI adapters. This prevents architecture theatre and keeps the unified codebase readable, testable, and pragmatically maintainable.

How do I refactor navigation logic into a shared commonMain implementation?

Refactor navigation logic into commonMain by making small, safe changes that prioritize readability over speculative abstractions. Maintain platform-specific UI adapters alongside the shared implementation to ensure the evolutionary design remains clean and testable.

When do I need platform-specific source sets in Compose Multiplatform?

You need platform-specific source sets in Compose Multiplatform when implementation requires respecting platform-specific boundaries for Android and iOS targets. Evaluate whether logic belongs in commonMain or platform-specific sets to ensure the feature remains clean and testable.

How does Compose Multiplatform handle testing across Android and iOS targets?

Compose Multiplatform handles testing across Android and iOS by applying clean architecture principles that ensure shared application logic remains testable. Strict adherence to source-set conventions maintains clear boundaries, facilitating effective testing of common and platform-specific code.

Why does Kotlin Multiplatform code become over-engineered with speculative abstractions?

Kotlin Multiplatform code becomes over-engineered when architecture theatre introduces speculative abstractions instead of pragmatic, evolutionary design. Enforcing readable implementations with minimal boilerplate and strict source-set boundaries prevents unnecessary complexity in the unified codebase.