appwrite-dart

Implements Appwrite backend operations in Dart for Flutter and server-side applications.

Updated Sep 13, 2026
One-click install
npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill appwrite-dart-aadilmallick
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: appwrite-dart
Source: https://github.com/aadilmallick/myfitness-pal-clone/tree/main/.agents/skills/appwrite-dart
Command: npx skills add https://github.com/aadilmallick/myfitness-pal-clone --skill appwrite-dart-aadilmallick

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building apps with Appwrite requires knowing the correct Dart SDK patterns for authentication, databases, storage, and real-time features across both client-side Flutter and server-side Dart contexts, and mistakes like using deprecated classes or missing permissions cause hard-to-debug failures. ## Core Features & Use Cases - Client & Server SDK Coverage: Provides setup and code patterns for both the Flutter appwrite package and the server-side dart_appwrite package, including SSR session handling with secure cookies. - Full API Surface: Covers authentication (email/password, OAuth), TablesDB row CRUD with query builders, file storage with InputFile, teams, real-time subscriptions, and serverless functions. - Permissions & Error Handling: Documents the Permission/Role model, common error codes, and pitfalls like forgetting row-level permissions or granting write access to Role.any(). - Use Case: You are building a Flutter app with Appwrite and need to add email OTP login, query rows from a table with filters, and subscribe to real-time updates — this Skill supplies the correct, current SDK calls for each step. ## Quick Start Ask the AI to write Flutter code that logs a user in with email and password using the Appwrite Dart SDK and then lists rows from a database table.

Frequently Asked Questions about appwrite-dart

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I authenticate users with Appwrite in Flutter?

Use the Account class from the appwrite Flutter package to call createEmailPasswordSession for email login or createOAuth2Session for providers like Google. New users are registered with account.create using a unique ID from ID.unique().

How do I query rows in an Appwrite database with Dart?

Use TablesDB.listRows with Query helpers such as Query.equal, Query.greaterThan, Query.orderDesc, and Query.limit. Prefer cursor pagination with Query.cursorAfter for large datasets, and use TablesDB rather than the deprecated Databases class.

What is the difference between the appwrite and dart_appwrite packages?

The appwrite package is for client-side Flutter apps and acts as the logged-in user, while dart_appwrite is for server-side Dart and uses an API key for admin operations like user management and database creation.

Does Appwrite Dart SDK support real-time subscriptions?

Yes, the Realtime class in the client SDK subscribes to channels for rows, files, teams, and function executions. The subscription stream emits events and payloads, and you close it with subscription.close() when done.

Why can't users read rows I created in Appwrite?

Appwrite grants no access by default, so rows without explicit permissions are inaccessible to everyone including the creator. Add permissions like Permission.read(Role.user(userId)) when creating the row, or configure table-level permissions.

How do I handle Appwrite sessions in server-side Dart SSR apps?

Create the session with an admin client using an API key, then store the session secret in an HttpOnly, Secure, SameSite=Strict cookie named a_session_<PROJECT_ID>. Build a per-request session client with setSession for authenticated calls.