Skip to content

feat: scaffold Gort design system#1

Merged
ClankerGuru merged 16 commits into
mainfrom
feature/scaffold
Mar 18, 2026
Merged

feat: scaffold Gort design system#1
ClankerGuru merged 16 commits into
mainfrom
feature/scaffold

Conversation

@ClankerGuru

@ClankerGuru ClankerGuru commented Mar 18, 2026

Copy link
Copy Markdown
Owner

What

Scaffolds the Gort neobrutalist UI component library for Compose Multiplatform.

Includes

  • KMP library module (:gort) — Android, Desktop (JVM), WASM, iOS targets
  • Catalog app (:catalog) — Desktop + WASM showcase
  • Design tokens — Colors, borders, shadows (hard offset), spacing, corners
  • Core components — Button, Card, Divider, Surface
  • Theme systemGortTheme with CompositionLocal providers
  • CI workflow — Build + test on PR/push to main
  • Release workflow — Version from git tag, Maven Central publish, GPG signing
  • Pre-commit hook — Compiles desktop + wasmJs targets locally

Design

Pure neobrutalism: thick borders, hard offset shadows, flat bold colors, monospace typography, sharp corners. No Material 3 dependency.

Summary by CodeRabbit

  • New Features

    • Launched Gort design system: reusable UI components (Button, Card, Divider), theme tokens (colors, borders, spacing, shadows, corners) and a component catalog app with a desktop entry.
  • Documentation

    • Expanded README with install, quick start, examples and accessibility guidance.
    • Added MIT license.
  • Chores / CI

    • Added CI & release workflows, Gradle wrapper and version catalog, pre-commit build hook, and updated ignore patterns.

- KMP targets: Android, iOS, Desktop, WASM
- Theme system: GortColors, GortBorders, GortShadows, GortSpacing, GortCorners
- GortSurface foundation (border + hard offset shadow)
- GortButton (4 styles, press animation)
- GortCard, GortDivider
- Catalog demo app
- Zero Material 3 dependency — built on Compose Foundation
- MIT license
- Components are now Button, Card, Divider, Surface (not GortButton etc.)
- Theme keeps Gort prefix (GortTheme, GortColors) as library identity
- Removed inappropriate jokes from README
- Added .githooks/pre-commit that runs full build
- Same rules as openspec-gradle: no green build = no commit
@coderabbitai

coderabbitai Bot commented Mar 18, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a Kotlin Multiplatform UI library "Gort" (theme tokens and components), a Compose Desktop/WASM catalog app, Gradle build/versioning and wrapper, CI and release workflows, MIT license, README and .gitignore updates, and a pre-commit hook enforcing multi-target Gradle builds.

Changes

Cohort / File(s) Summary
Build & Settings
build.gradle.kts, settings.gradle.kts, gradle/libs.versions.toml
Root-level Git-derived versioning, plugin/version catalog, root project name, repositories, and included modules.
Gradle Wrapper & Properties
gradlew, gradlew.bat, gradle/wrapper/gradle-wrapper.properties, gradle.properties
Adds Gradle wrapper scripts (POSIX + Windows), wrapper config (Gradle 9.4.0), and Gradle properties enabling AndroidX and experimental Compose flags.
Module Builds
gort/build.gradle.kts, catalog/build.gradle.kts
Kotlin Multiplatform + Compose targets configured (desktop/JVM, wasmJs, Android, native frameworks) and module-specific build settings.
CI / Release Workflows
.github/workflows/ci.yml, .github/workflows/release.yml
CI on push/PR running builds/tests and reporting results; release workflow verifies tag vs project version, imports GPG key, builds/tests, publishes to Sonatype (best-effort), and uploads release artifacts.
Repo Hook & Ignore
.githooks/pre-commit, .gitignore
Adds pre-commit hook that runs multi-target Gradle build (Darwin: full build; others: targeted Kotlin desktop/wasm tasks) and updates ignore rules.
License & Docs
LICENSE, README.md
Adds MIT license and substantially expands/rewrites README content and examples.
Catalog App
catalog/src/commonMain/.../CatalogApp.kt, catalog/src/desktopMain/.../Main.kt
Adds Compose-based component catalog UI and a Desktop entrypoint launching CatalogApp.
UI Components
gort/src/commonMain/kotlin/.../components/*
New composables: Button (styles + press animation), Card, Divider implemented using Gort theme tokens.
Foundation
gort/src/commonMain/kotlin/.../foundation/Surface.kt
Adds layered Surface composable (shadow + content) with configurable shape, colors, and border.
Theme Tokens
gort/src/commonMain/kotlin/.../theme/*
Introduces theme data classes, composition locals, GortTheme provider, and composable accessors for colors, borders, shadows, spacing, and corners.
Version Catalog & Wrapper
gradle/wrapper/*, gradle/libs.versions.toml
Adds Gradle wrapper files and central version catalog mapping plugin aliases to versions.

Sequence Diagram(s)

sequenceDiagram
    participant Dev as Developer
    participant GH as GitHub Actions
    participant Runner as macos-latest Runner
    participant Gradle as Gradle Wrapper
    participant Sonatype as Sonatype/Maven Central
    participant GPG as GPG (Secrets)

    Dev->>GH: push / open PR / publish release
    GH->>Runner: trigger CI or Release workflow
    Runner->>Gradle: checkout + ./gradlew build/test
    Gradle-->>Runner: build & test results
    Runner->>GH: publish test results (test-reporter)
    alt release workflow
      Runner->>Runner: verify tag == project version
      Runner->>GPG: import GPG key from secrets
      Runner->>Gradle: ./gradlew publishToSonatype
      Gradle-->>Sonatype: upload artifacts
      Runner->>GH: upload artifacts to GitHub Release
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Poem

🐰 I nibbled bytes and stitched a theme so bright,

Buttons bounce and cards cuddle in the light,
Gradle hums, CI hops across the trees,
Catalog opens — components dance with ease.

📝 Coding Plan
  • Generate coding plan for human review comments

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

@ClankerGuru ClankerGuru merged commit 7888562 into main Mar 18, 2026
2 checks passed
@ClankerGuru ClankerGuru deleted the feature/scaffold branch March 18, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant