Rimblehelm

maui-data-storage

Provides best practices and patterns for data storage in .NET MAUI apps, including SQLite, EF Core, Preferences, SecureStorage, and file system access.

Rimblehelm 0 Updated 4mo ago

Resources

4
GitHub

Install

npx skillscat add rimblehelm/net-maui-skills/skills-maui-data-storage

Install via the SkillsCat registry.

SKILL.md

.NET MAUI — Data Storage Skill

Purpose

This skill provides agents with best practices and patterns for storing, retrieving, and managing data in .NET MAUI applications. It covers SQLite, EF Core, Preferences, SecureStorage, and cross-platform file system access.

The goal is to ensure that all data-related code is secure, maintainable, and aligned with modern MAUI architecture.

Core Principles

  1. Use the right storage for the right data
    • Sensitive data → SecureStorage
    • User settings → Preferences
    • Structured relational data → SQLite/EF Core
    • Files and exports → FileSystem.AppDataDirectory
  2. Cross-platform consistency
    Always use MAUI abstractions for file paths and storage.
  3. Abstraction
    Wrap storage logic in services and interfaces.
  4. Performance
    Use a single SQLite connection per app lifecycle.
  5. Safety
    Never store secrets or tokens in Preferences.

Supported Storage Mechanisms

  • SQLite (raw or EF Core)
  • Preferences
  • SecureStorage
  • File system access
  • JSON-based local storage

Recommended Folder Structure

├─ Services
│  └─ Data
│     ├─ Interfaces
│     └─ Models
└─ Database

/Services/Data /Services/Data/Interfaces /Services/Data/Models /Database

Agent Usage Guidelines

  • When generating data models, place them in /Services/Data/Models.
  • When generating database access, create:
    • IDatabaseService
    • DatabaseService
    • AppDbContext (if using EF Core)
  • When asked to “store user settings,” use Preferences.
  • When asked to “store sensitive data,” use SecureStorage.
  • When asked to “save a file,” use FileSystem.AppDataDirectory.

Out of Scope

  • Authentication token storage (covered in maui-authentication)
  • UI logic
  • Cloud sync or remote databases