Isar Database

SkillDatabases & data

Use when configuring local persistence with Isar NoSQL database, defining schemas, or executing reactive queries in Flutter.

Use Isar Database in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Isar Database and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Isar Database skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Isar DatabaseStart free

What this skill tells your AI

The instructions your AI receives, as published by dhruvanbhalara/skills in skills/flutter/flutter-isar/SKILL.md and read by Ahel’s review.

  • Use Isar as the primary local database for structured data persistence
  • Define collections using @collection annotation with Id field
  • Place collection definitions in the data/local/ directory of the relevant feature
  • Run dart run build_runner build --delete-conflicting-outputs after modifying collections

Schema Design

  • Keep collections focused: one collection per domain entity
  • Use @Index annotations for fields queried frequently
  • Use @enumerated for enum fields
  • Use Links and Backlinks for relationships between collections
  • NEVER store derived/computed values: compute them in the domain layer

Migrations

  • Isar handles additive schema changes automatically (new fields, new collections)
  • For breaking changes (renamed fields, removed fields), write migration logic in the repository
  • Version your database schema and check version on app startup

Repository Pattern for Local Data

  • Local DataSource wraps all Isar put, get, delete, watch calls
  • Repositories orchestrate between remote and local DataSources
  • Repositories decide cache-first vs network-first strategy per use case

Offline-First Patterns

  • Cache-First: Read from Isar first, fetch from network in background, update Isar on success
  • Network-First: Fetch from network, fall back to Isar on failure
  • Write-Behind: Write to Isar immediately, sync to server asynchronously (queue pending changes)
  • Always show cached data immediately while refreshing in background

Reactive Queries

  • Use Isar's watchLazy() or watch() to stream changes to the UI via BLoC
  • Wrap Isar watch streams in the repository and expose as Stream<List<DomainModel>>
  • Dispose stream subscriptions properly in BLoC close() method

Secure Storage

  • Use flutter_secure_storage for sensitive key-value data (tokens, encryption keys)
  • Use SharedPreferences ONLY for non-sensitive user preferences (theme, locale, onboarding flags)
  • NEVER store passwords, tokens, or secrets in SharedPreferences or plain Isar

Signals

GitHub stars
30
Forks
4
Last commit
Aug 2026
Advanced
Item type
skill
Key
flutter-isar
Source
github.com/dhruvanbhalara/skills