the signals and their derived score are provisional and subject to change.
validate manually before sharing.
3a2a61f6417e828ccf738c35e2a973f92ee539f2f7b78ba4a4e11 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTG64dd2ac956b91 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTG310d623ab2101 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTGd48b7272bb551 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTG3c32a5600f6a1 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTGd656d1c442b81 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTG8eb0bf93ea571 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTG4de1210982361 month agoClaude-Session: https://claude.ai/code/session_01H81viGBG9y5uHL3BYZ2fTG# filen-mobile
Encrypted cloud storage mobile app — Expo 57 / React Native 0.86 (bridgeless/new-arch) / React 19 / Hermes.
All server communication, encryption, and auth handled by Rust SDK (`@filen/sdk-rs@0.4.49`, exact pin).
## Architecture
Feature-based layout: `src/features/<feature>/` owns each product domain end-to-end.
`src/routes/` (expo-router) is thin, `src/components/` is shared-only, `src/lib|stores|queries|hooks/` are infra/shared-only.
```
Entry: src/entry.ts → expo-router
Setup: src# Global Instructions
Performance, efficiency and the lowest CPU/RAM usage are always the top priority in design and implementation choices; API requests are minimized by reusing data already held.
## Rust SDK (`@filen/sdk-rs`)
The Rust SDK is the backbone of all Filen apps. It handles everything below the UI layer — **never reimplement** what it already provides.
### What the SDK owns
- **Networking** — all API requests, WebSocket connections, rate limiting
- **Concurrency** — parallel uploads/d---
name: security
description: >
Filen client threat model. Use when writing or reviewing code that handles secrets, session or
key material, secure storage, deep links or intents, or links from user content, and before
flagging a security finding in review.
---
# Filen Threat Model
- The SDK (`@filen/sdk-rs`) owns crypto, auth and networking. Never reimplement any of it in TS.
- Mobile secrets go only through `src/lib/secureStore.ts` (AES-256-GCM file; its key in expo-secure-store, MMKV only---
name: expo-dev-client
description: Build and distribute Expo development clients locally or via TestFlight
version: 1.0.0
license: MIT
---
Use EAS Build to create development clients for testing native code changes on physical devices. Use this for creating custom Expo Go clients for testing branches of your app.
## Important: When Development Clients Are Needed
**Only create development clients when your app requires custom native code.** Most apps work fine in Expo Go.
You need a dev client ONLY w---
name: building-native-ui
description: Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
version: 1.0.1
license: MIT
---
# Expo UI Guidelines
## References
Consult these resources as needed:
```
references/
animations.md Reanimated: entering, exiting, layout, scroll-driven, gestures
controls.md Native iOS: Switch, Slider, SegmentedControl, DateTimePicker, Picker
form-sheet---
name: upgrading-expo
description: Guidelines for upgrading Expo SDK versions and fixing dependency issues
version: 1.0.0
license: MIT
---
## References
- ./references/react-19.md -- SDK +54: React 19 changes (useContext → use, Context.Provider → Context, forwardRef removal)
- ./references/new-architecture.md -- SDK +53: New Architecture migration guide
- ./references/react-compiler.md -- SDK +54: React Compiler setup and migration guide
- ./references/native-tabs.md -- SDK +55: Native tabs changes---
name: typescript-react-perf
description: >
React and React Native UI performance rules for filen-mobile and filen-web: React Compiler
(no manual memo), lists, gestures, images, state libraries and known RN pitfalls. Use when
writing or reviewing React components or hooks.
---
# React / React Native Performance
## React Compiler (on in filen-mobile and filen-web)
- Don't add `memo`, `useMemo` or `useCallback`; the compiler memoizes, and lint (`react-hooks` v7, `preserve-manual-memoization:---
name: Expo UI SwiftUI
description: "`@expo/ui/swift-ui` package lets you use SwiftUI Views and modifiers in your app."
---
> The instructions in this skill apply to SDK 55 only. For other SDK versions, refer to the Expo UI SwiftUI docs for that version for the most accurate information.
## Installation
```bash
npx expo install @expo/ui
```
A native rebuild is required after installation (`npx expo run:ios`).
## Instructions
- Expo UI's API mirrors SwiftUI's API. Use SwiftUI knowledge to decide whi---
name: shadcn
description: Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".
user-invocable: false
allowed-tools: Bash(npx shadcn@latest *), Bash---
name: expo-module
description: Guide for creating and writing Expo native modules and views using the Expo Modules API (Swift, Kotlin, TypeScript). Covers module definition DSL, native views, shared objects, config plugins, lifecycle hooks, autolinking, and type system. Use when building or modifying native modules for Expo.
version: 1.0.0
license: MIT
---
# Writing Expo Modules
Complete reference for building native modules and views using the Expo Modules API. Covers Swift (iOS), Kotlin (Android), a---
name: Expo UI Jetpack Compose
description: "`@expo/ui/jetpack-compose` package lets you use Jetpack Compose Views and modifiers in your app."
---
> The instructions in this skill apply to SDK 55 only. For other SDK versions, refer to the Expo UI Jetpack Compose docs for that version for the most accurate information.
## Installation
```bash
npx expo install @expo/ui
```
A native rebuild is required after installation (`npx expo run:android`).
## Instructions
- Expo UI's API mirrors Jetpack Compose---
name: use-dom
description: Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
version: 1.0.0
license: MIT
---
## What are DOM Components?
DOM components allow web code to run verbatim in a webview on native platforms while rendering as-is on web. This enables using web-only libraries like `recharts`, `react-syntax-highlighter`, or any React web library in your Expo app without modification.
## When to Use DOM Components
Use DOM ---
name: commit-work
description: >
Commit conventions for this repo: Conventional Commits scopes, splitting and staging without
interactive git, pre-commit checks and message rules. Use when asked to commit, craft a commit
message, stage changes, or split work into multiple commits.
---
# Commit Work
- **Conventional Commits** `type(scope): summary`. Scopes in use: `mobile`, `web`, `shared`, `deps`, `ci`; a bare type (`refactor: …`) for cross-package changes.
- Commit directly on `main`; n---
name: code-style
description: >
Use before writing or modifying code. Reads the style index at
$CLAUDE_PROJECT_DIR/.claude/code-style-index.json for the project's exact style rules.
Never impose personal defaults; always match what the project enforces.
---
# Code Style Matching
Before writing or modifying code, match the project's exact code style.
## Step 1: Load the Style Index
```
Read(file_path: "$CLAUDE_PROJECT_DIR/.claude/code-style-index.json")
```
The index contains all formattnone