Skip to content

Commit cf8dae4

Browse files
Copilotwax911
andauthored
chore(copilot): scaffold repo instructions (#404)
* Initial plan * Add GitHub Copilot Chat customization baseline assets and repo-specific instructions Co-authored-by: wax911 <[email protected]> * chore(copilot): remove chat modes and prompts; update contributing --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: wax911 <[email protected]> Co-authored-by: Maxwell Mapako <[email protected]>
1 parent 055b095 commit cf8dae4

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
applyTo: **
3+
description: This file describes the overall architecture and module structure of the android-emojify project.
4+
---
5+
6+
# Android Emojify Project Overview
7+
8+
Android Emojify is a lightweight Kotlin library that helps you use Emojis in your Android applications. It's a port of [vdurmont/emoji-java](https://github.com/vdurmont/emoji-java) rewritten in Kotlin with Android-specific optimizations.
9+
10+
## Project Structure
11+
12+
The project follows a multi-module architecture organized into distinct layers:
13+
14+
### Core Modules
15+
- **emojify** - The main library module containing the core emoji functionality
16+
- **serializer** - Module for emoji data serialization and parsing
17+
- **contract** - Shared contracts and interfaces
18+
- **app** - Sample application demonstrating library usage
19+
20+
### Build System
21+
- **buildSrc** - Contains custom Gradle plugins and build logic
22+
- Custom dependency management extensions
23+
- Android configuration components
24+
- Spotless code formatting setup
25+
- Dokka documentation generation
26+
27+
### Key Technologies
28+
- **Kotlin** - Primary language with coroutines support
29+
- **Android Gradle Plugin** - For Android-specific build configuration
30+
- **Room** - For local emoji data storage (if applicable)
31+
- **Timber** - Logging framework
32+
- **JUnit + MockK** - Testing framework
33+
34+
### Module Dependencies
35+
- The `emojify` module is the main library that other applications depend on
36+
- The `app` module serves as both a sample and testing ground for the library
37+
- The `serializer` module handles emoji data processing
38+
- Build modules in `buildSrc` provide shared build logic
39+
40+
### Architecture Principles
41+
- **Separation of Concerns** - Each module has a specific responsibility
42+
- **Dependency Inversion** - Higher-level modules don't depend on lower-level modules directly
43+
- **Testability** - Code is structured to be easily testable with unit and integration tests
44+
- **Performance** - Optimized for Android runtime with efficient emoji lookups
45+
46+
### Usage Pattern
47+
The library is designed to be used as a dependency in Android projects, providing easy emoji support through simple APIs. It's already being used in production in the AniTrend application.
48+
49+
### Documentation
50+
- Main documentation is available at: https://anitrend.github.io/android-emojify/
51+
- Supported emojis are listed in SUPPORTED.md
52+
- API documentation is generated using Dokka

0 commit comments

Comments
 (0)