Initial#2
Conversation
| - Introducing a new image-loading, icon, animation, or UI dependency when an | ||
| existing app stack already covers the need. | ||
| - Importing the wrong `R` because the namespace was not checked. | ||
| - Passing rich objects through navigation instead of stable identifiers. |
There was a problem hiding this comment.
No navigation section at all, just one line in Common Pitfalls about not passing rich objects. Is that intentional? If each app picks its own nav lib, where does the reader learn the baseline (route style, NavController ownership, surviving process death)?
There was a problem hiding this comment.
Nothing about composables shared across features (top app bars, avatars, shape extensions). How should the agent decide when to extract a shared component, where it lives, and whether shared tokens go as top-level consts or MaterialTheme.xxx extensions
| Many app repositories contain legacy Java, XML, platform-imported code, custom | ||
| data models, service locators, loaders, cursors, or binding systems. | ||
|
|
||
| - Preserve legacy APIs and contracts while wrapping them for new code. |
There was a problem hiding this comment.
On a quick read, "preserve legacy" sounds like "don't touch old files". But after migrating a screen the old layout/menu/prefs/activity is dead. Would it make sense to rephrase this?
|
|
||
| ## Resources | ||
|
|
||
| - Put user-visible strings in `res/values/strings.xml`. |
There was a problem hiding this comment.
It says where strings go but nothing about translation files. If an agent edits res/values-de/strings.xml, is that good or bad? Right now there's no signal.
| `repo`, `impl`, and `tmp` in ordinary code. | ||
| - Short names such as `id`, `uri`, `db`, `io`, `x`, `y`, and `it` are acceptable | ||
| where they are conventional and local. | ||
| - Use PascalCase for classes, interfaces, objects, enum entries that model |
There was a problem hiding this comment.
Works for identity enums like Action.Save. Lots of Android code has enums modeling wire constants or flags. Is UPPER_SNAKE_CASE for those allowed, forbidden, or just unspecified?
There was a problem hiding this comment.
A lot of AGENTS.md paraphrases app-architecture.md, code-style.md, unit-tests.md. What's the source of truth? How do you plan to keep them from drifting once one side is edited?
|
|
||
| ## Adopting In An App Repository | ||
|
|
||
| Copy [AGENTS.md](AGENTS.md) into the target app repository root. |
There was a problem hiding this comment.
This step puts each downstream app on its own drifting fork. Was that tradeoff considered? How does an app pick up corrections to AGENTS.md after it's forked?
| function naming, warnings-as-errors for detekt, and a small set of detekt | ||
| adjustments for app and Compose code. | ||
|
|
||
| ## Formatting |
There was a problem hiding this comment.
I noticed the formatting rules are in two docs + .editorconfig now. Maybe we can keep them in just one place so it's easier to update?
No description provided.