ShoeBox OSS

Welcome to ShoeBox!

ShoeBox is a collection of open-source libraries by Matthew Shoemaker. The ShoeBox collection aims to set precedent for high-quality, well-tested, well-documented open source software while improving the lives of developers and non-developers alike.

All libraries in the ShoeBox collection are licensed under Apache License 2.0. This ensures that the code is freely available for use, modification, and distribution, while also protecting both users and contributors through the inclusion of patent rights.

Libraries

Kdux

State management library that takes a more practical approach to the Redux pattern. Kdux takes advantage of all the great features modern Kotlin has to offer. With a custom DSL, built-in coroutines support, and an IDE plugin, you get all the benefits of Kotlin.

Kotlin Android Redux DSL

Kernl

An all-purpose library to abstract caching and data management logic with a concise, declarative approach. Uses Annotation processing to generate data "Kernl"s based on flexible cache policy rules.

Kotlin Caching DSL KSP

Stratify

A library to abstract away the boilerplate of KSP development and introduce Coroutines for efficient use of resources. Significantly reduces development time for KSP Plugins.

Kotlin KSP Framework

AutoBuilder

A KSP plugin to generate Builders for annotated classes.

Kotlin Builder Pattern KSP

MultiVers

A Gradle plugin to automate testing and validation of dependencies across a range of dependency versions. Define a dependency and its version range, then assign Gradle tasks to run against each version in the range.

Gradle Plugin Kotlin

Pasty

An IDE plugin to automate interaction with Android emulators using ADB commands to create custom workflows that can be invoked at the click of a button.

Intellij Plugin Android ADB

Trove

A CLI tool that enables you to securely store and sync shell configurations, secrets, files, and scripts across multiple machines.

Kotlin CLI Bash

Apps

Listery

An Android app that leverages AI to help create meal plans, generate recipes, and construct grocery shopping lists.

Android AI Kotlin

Guides

Thorough and organized documentation is a top priority in all ShoeBox projects.

The documentation for each library is located in the GitHub repositories themselves, reachable by clicking the link on any given tile above.

While documentation is a top priority, keeping documents up-to-date can be a challenge at times. If you find documents that are out-of-date, feel free to create an Issue in the corresponding repository, or open a Pull Request in the corresponding repository, or even just send a message via one of the Contact Methods at the bottom of the page.

Contributing

Contributions to ShoeBox OSS are welcome and encouraged! There are several ways you can get involved:

Report a Bug:

Request a Feature:

Implement Something!