androidbooster-architecture — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited androidbooster-architecture (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use the architecture base classes from core/architecture/src/main/kotlin/com/huhx0015/androidbooster/architecture/ when building features.
Extend these for all activities, fragments, and ViewModels:
| Class | Path | Usage |
|---|---|---|
BaseActivity | architecture/base/BaseActivity.kt | Extend AppCompatActivity; includes Hilt @AndroidEntryPoint, CompositeDisposable |
BaseFragment | architecture/base/BaseFragment.kt | Extend Fragment; includes Hilt @AndroidEntryPoint |
BaseViewModel | architecture/base/BaseViewModel.kt | Extend AndroidViewModel; includes DataBinding Observable, CompositeDisposable, lifecycle callbacks |
Use architecture/mvi/ when implementing Model-View-Intent:
| Class | Purpose |
|---|---|
BaseContract | Defines View : BaseView |
BaseView | initView(), observe() |
BaseViewModel<S, I, E> | state: StateFlow<S>, events: Flow<E>, sendIntent(I) |
BaseState | State object observed by View via StateFlow |
BaseIntent | Intents sent from View → ViewModel |
BaseEvent | Events sent from ViewModel → View |
Flow: View sends intents via sendIntent() → ViewModel processes in processIntent() → ViewModel updates state and emits events → View observes state and handles events.
For Compose-first MVI Activity screens (for example, setContent, ComposeDataScreen, snackbar handling from BaseEvent), also apply androidbooster-ui-compose.
Use architecture/mvvm/ when implementing Model-View-ViewModel:
| Class | Purpose |
|---|---|
BaseContract | Defines View : BaseView, ViewModel : BaseViewModel<View> |
BaseView | initView() |
BaseViewModel<V> | ViewModel bound to View |
Use architecture/mvp/ when implementing Model-View-Presenter:
| Class | Purpose |
|---|---|
BaseContract | Defines View : BaseView<Presenter>, Presenter : BasePresenter, Repository |
BaseView<P> | View with presenter reference |
BasePresenter | Presenter interface |
Reference: https://www.codeproject.com/Articles/1098822/Learn-Android-MVP-Pattern-By-Example
Use architecture/viper/ when implementing VIPER:
| Class | Purpose |
|---|---|
BaseContract | Defines View, Interactor, InteractorOutput, Presenter, Entity, Router |
Reference: https://cheesecakelabs.com/blog/using-viper-architecture-android/
Use architecture/event/RxBus.kt for cross-component event communication.
Hilt modules in architecture/modules/:
ActivityModule, FragmentModule, ViewModelModule, RxBusModuleApiRecyclerViewModel (extends BaseViewModel) for list screens with error/progress visibilityApiRecyclerViewActivity, ApiRecyclerViewFragment for API-backed RecyclerView screens~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.