Everything included

A complete list of features, tools, and configurations pre-wired into your Foundation.

Foundation

Multiplatform

Kotlin Multiplatform foundation for iOS and Android. Shared UI with business logic while keeping native app modules first-class.

Guides & documentation

Opinionated docs that explain architecture decisions, module boundaries, common workflows, and the “why” behind the setup—so your team can move fast without tribal knowledge.

Clean architecture

Modular structure split into clear layers (UI, Domain, Data, Toolkit). Enforces boundaries that scale with team size and feature count, reducing coupling and refactor debt.

Pre-configured DI

Metro-based dependency injection wired once for the whole workspace. Supports app + UI scopes, and native platform bindings (Android/iOS) without DIY glue.

AI instructions

Repo-level AI instructions that encode conventions, architecture rules, and file/module patterns—so AI-generated code matches your foundation instead of fighting it.

UI

Design system

Material 3-based design system with pre-wired typography, colors, spacing, shapes, and component defaults. Exposed through a single source of truth (`AppTheme`) for consistent UI at scale.

Playground

Isolated module for trying UI components and feature ideas safely. Validate design and behavior without polluting production screens or wiring temporary hacks into the app graph.

MVVM

Enforced Compose MVVM screen pattern: Route → ViewModel → immutable UI State + UI Events. Keeps rendering predictable and makes screens easy to test, refactor, and split across modules.

Snackbar Manager

Centralized snackbar/message handling so any feature can show user feedback consistently (errors, confirmations, async results).

Navigation

Pre-wired app navigation setup with a single entry point and consistent destination modeling, so features can register screens cleanly without ad-hoc navigation glue.

Toolkit

Feature toggles

Feature gating for staged rollouts, internal testing, and experiments. Ship safely, turn things off fast, and avoid long-lived “branch-only” development.

Analytics tracker

Analytics abstraction that keeps tracking code stable while letting you swap providers. Designed for clean event/property modeling without hard-coupling features to one SDK.

Initializers

Startup initializer pipeline to run feature setup during launch (while splash is visible). Useful for warmups, config fetches, lightweight migrations, and “ready before home screen” tasks.

Config Manager

Central app configuration state (endpoints, build info, environment, versions, vendor flags). Exposes a single API so features don’t invent their own config plumbing.

Tests

Core toolkit modules are covered with tests to prevent regressions and keep the foundation stable as the codebase evolves.

Build System

Unified build files

Gradle convention plugins and a consistent module setup that removes copy-pasted build logic. Makes adding modules, targets, and common config predictable and low-friction.

CI Workflows

GitHub Actions workflows that run checks on PRs (builds + core tests) to catch breakages early and keep iOS/Android targets healthy as the project grows.

Data & Persistence

Database

SQLDelight-based database setup with a ready-to-use module structure and encryption support. Includes the plumbing you normally rebuild—driver wiring, schema/migrations, and a clean place to put queries and repositories.

Key-value

Key-value storage built on AndroidX DataStore with encryption support. Great for preferences and small state that shouldn’t leak into plain-text storage.

Encryption

Simple encryption API for protecting sensitive data at rest (database, key-value, cached payloads). Minimizes the chance of shipping plain-text secrets by accident.