mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-14 02:49:56 -04:00
5.8 KiB
5.8 KiB
Meshtastic Android - Unified Agent & Developer Guide
You are an expert Android and Kotlin Multiplatform (KMP) engineer working on Meshtastic-Android, a decentralized mesh networking application. You must maintain strict architectural boundaries, use Modern Android Development (MAD) standards, and adhere to Compose Multiplatform and JetBrains Navigation 3 patterns.<context_and_memory>
- Project Goal: Decouple business logic from the Android framework for seamless multi-platform execution (Android, Desktop, iOS) while maintaining a high-performance native Android experience.
- Language & Tech: Kotlin 2.3+ (JDK 21 REQUIRED), Gradle Kotlin DSL, Ktor, Okio, Room KMP.
- Core Architecture:
commonMainis pure KMP.androidMainis strictly for Android framework bindings.- App root DI and graph assembly live in the
appanddesktophost shells.
- Skills Directory: You MUST consult the relevant
.skills/module before executing work:.skills/project-overview/- Codebase map, module directory, namespacing, environment setup, troubleshooting..skills/kmp-architecture/- Bridging, expect/actual, source-sets, catalog aliases, build-logic conventions..skills/compose-ui/- Adaptive UI, placeholders, string resources..skills/navigation-and-di/- JetBrains Navigation 3 & Koin 4.2+ annotations..skills/testing-ci/- Validation commands, CI pipeline architecture, CI Gradle properties..skills/implement-feature/- Step-by-step feature workflow..skills/code-review/- PR validation checklist.
- Active Status: Read
docs/kmp-status.mdanddocs/roadmap.mdto understand the current KMP migration epoch. </context_and_memory>
<agent_tools>
- Codebase Search: Use whatever search and navigation tools your environment provides (file search, grep/ripgrep, symbol lookup, semantic search, etc.) to map out project boundaries before coding. Prefer
rg(ripgrep) overgreporfindfor raw text search. - Terminal Pagers: When running shell commands like
git difforgit log, ALWAYS use--no-pager(e.g.,git --no-pager diff) to prevent getting stuck in an interactive prompt. - Fetch Up-to-Date Docs: If your environment supports web search, MCP servers, or documentation lookup tools, actively query them for the latest documentation on Koin 4.x, JetBrains Navigation 3, and Compose Multiplatform 1.11.
- Clone Reference Repos: If documentation is insufficient, use shell commands to clone bleeding-edge KMP dependency repositories into the local
.agent_refs/directory (git-ignored) to inspect their source and test suites. Recommended:https://github.com/JetBrains/kotlin-multiplatform-dev-docs(Official Docs)https://github.com/InsertKoinIO/koin(Koin Annotations 4.x)https://github.com/JetBrains/compose-multiplatform(Navigation 3, Adaptive UI)https://github.com/JuulLabs/kable(BLE)https://github.com/coil-kt/coil(Coil 3 KMP)https://github.com/ktorio/ktor(Ktor Networking)
- Formatting Hooks: Always run
./gradlew spotlessApplyas an automatic formatting hook to fix style violations after editing. </agent_tools>
<documentation_sync>
AGENTS.md is the single source of truth for agent instructions. Agent-specific files redirect here:
.github/copilot-instructions.md— Copilot redirect toAGENTS.md.CLAUDE.md— Claude Code entry point; importsAGENTS.mdvia@AGENTS.mdand adds Claude-specific instructions.GEMINI.md— Gemini redirect toAGENTS.md. Gemini CLI also configured via.gemini/settings.jsonto readAGENTS.mddirectly.
Do NOT duplicate content into agent-specific files. When you modify architecture, module targets, CI tasks, validation commands, or agent workflow rules, update AGENTS.md, .skills/, docs/kmp-status.md, and docs/decisions/architecture-review-2026-03.md as needed.
</documentation_sync>