⚠️ Alpha Release: This is an early alpha version. APIs may change before stable release.
A lightweight cross-platform utility kit providing essential functions for Android (Kotlin) and Web (TypeScript) development. Built as a monorepo with identical APIs across platforms.
KompKit provides essential utility functions that work seamlessly across web (TypeScript) and Android (Kotlin) platforms. Built with developer experience in mind, it offers identical APIs across platforms while leveraging platform-specific optimizations.
| Module | Platform | Description | Status |
|---|---|---|---|
packages/core/web |
TypeScript | Web utilities with Node.js support | ✅ Alpha |
packages/core/android |
Kotlin JVM | Android utilities with coroutines | ✅ Alpha |
docs/ |
Documentation | API docs, guides, and examples | ✅ Alpha |
.github/workflows/ |
CI/CD | Automated testing and validation | ✅ Active |
- 🕐 debounce - Delay function execution until after a wait period (prevents excessive API calls)
- 📧 isEmail - Validate email addresses with robust regex patterns
- 💰 formatCurrency - Format numbers as currency with full locale support
- ✅ Cross-platform compatibility - Identical APIs for web and Android
- ✅ TypeScript support - Full type safety and IntelliSense
- ✅ Zero dependencies - Lightweight with no external dependencies
- ✅ Comprehensive testing - 100% test coverage across platforms
- ✅ Modern tooling - Built with latest TypeScript 5.6+ and Kotlin 2.1+
- ✅ Rich documentation - Auto-generated API docs with examples
- ✅ CI/CD Ready - Automated testing with GitHub Actions
- Web: Node.js 20+ and npm/yarn
- Android: JDK 17+ and Kotlin 2.1+
Note: Alpha packages are not yet published to registries. Clone the repository for local development.
# Clone the repository
git clone https://github.com/Kompkit/KompKit.git
cd KompKit
# Install dependencies
npm install
# Build the web package
npm run build
# Run tests
npm run test:web# Clone the repository
git clone https://github.com/Kompkit/KompKit.git
# Include in your Android project's settings.gradle.kts
include(":kompkit-core")
project(":kompkit-core").projectDir = file("path/to/KompKit/packages/core/android")
# Add to your app's build.gradle.kts
dependencies {
implementation(project(":kompkit-core"))
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
}Once installed, you can import and use KompKit utilities:
TypeScript/JavaScript:
import { debounce, isEmail, formatCurrency } from '@kompkit/core';
const search = debounce((query: string) => {
console.log('Searching:', query);
}, 300);
console.log(isEmail('user@example.com')); // true
console.log(formatCurrency(1234.56)); // "1.234,56 €"Kotlin:
import com.kompkit.core.*
val search = debounce<String>(300L, scope) { query ->
println("Searching: $query")
}
println(isEmail("user@example.com")) // true
println(formatCurrency(1234.56)) // "1.234,56 €"- Getting Started Guide - Complete setup and first steps
- API Reference - Auto-generated API documentation
- Web/TypeScript API - TypeDoc generated docs
- Android/Kotlin API - Dokka generated docs
- Architecture Overview - Monorepo structure and design
- Contributing Guide - Development workflow and guidelines
- CI/CD Documentation - Build and deployment processes
KompKit/
├── .github/workflows/ # CI/CD pipelines
│ ├── web.yml # Web package testing
│ └── android.yml # Kotlin package testing
├── packages/core/
│ ├── web/ # TypeScript package
│ │ ├── src/ # Source files
│ │ ├── tests/ # Test files
│ │ └── package.json
│ └── android/ # Kotlin JVM package
│ ├── src/main/kotlin/ # Source files
│ ├── src/test/kotlin/ # Test files
│ └── build.gradle.kts
├── docs/ # Documentation
│ ├── api/ # Generated API docs
│ └── *.md # Guides and references
└── package.json # Root configuration
- Current Version:
0.1.0-alpha - Minimum Requirements:
- Node.js 20+ (Web)
- JDK 17+ (Android)
- TypeScript 5.6+
- Kotlin 2.1+
We welcome contributions! Please see our Contributing Guide for details on:
- Development setup
- Code style and conventions
- Testing requirements
- Pull request process
This project is licensed under the MIT License - see the LICENSE file for details.
- 📖 Documentation: ./docs/
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
Alpha Notice: This project is in active development. APIs may change before the stable 1.0 release. We recommend pinning to specific versions in production applications.