appwrite-dart

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

1|1|Updated Jul 31, 2026
One-click install
npx skills add https://github.com/appwrite/agent --skill appwrite-dart-appwrite
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: appwrite-dart
Source: https://github.com/appwrite/agent/tree/main/.agents/skills/appwrite-dart
Command: npx skills add https://github.com/appwrite/agent --skill appwrite-dart-appwrite

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers building Flutter apps or server-side Dart services with Appwrite need correct, up-to-date SDK patterns for authentication, databases, storage, and realtime, and this Skill provides working code for every core Appwrite service in Dart. ## Core Features & Use Cases - Client and Server SDK Coverage: Provides patterns for both the Flutter appwrite package (auth, OAuth, realtime subscriptions) and the server-side dart_appwrite package (API key admin operations, user management). - TablesDB and Storage Operations: Includes row CRUD with the modern TablesDB API, query builder methods, string column type selection, and file uploads via InputFile factories. - SSR Authentication Flows: Covers admin/session client separation, secure cookie handling, and OAuth2 token exchange for server-rendered Dart apps. - Use Case: A developer building a Flutter todo app can use this Skill to wire up email login, create rows in a table with per-user permissions, and subscribe to realtime row changes. ## Quick Start Use the appwrite-dart skill to add email/password authentication and a realtime table subscription to my Flutter app.

Frequently Asked Questions about appwrite-dart

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

FAQPage Schema
How do I add Appwrite authentication to a Flutter app?▼

Install the appwrite package, create a Client with your endpoint and project ID, then use the Account service. Call createEmailPasswordSession for email login or createOAuth2Session for providers like Google, and account.get() to fetch the current user.

How do I query rows in Appwrite TablesDB with Dart?▼

Use the TablesDB service's listRows method 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 named parameters like databaseId and tableId.

What is the difference between the appwrite and dart_appwrite packages?▼

The appwrite package is the client-side SDK for Flutter apps and uses user sessions. The dart_appwrite package is the server-side SDK that authenticates with an API key for admin operations like user management and database administration.

Should I use TablesDB or the Databases class in the Appwrite Dart SDK?▼

Use TablesDB for all new code, as the Databases class is deprecated. Only use Databases when maintaining an existing codebase that already relies on it or when explicitly required.

Why do users get permission errors on Appwrite rows and files?▼

Appwrite grants no access by default, so resources without explicit permissions are inaccessible even to their creator. Set permissions with Permission and Role helpers, and avoid combining Role.any() with write, update, or delete on sensitive data.

How do I handle Appwrite SSR authentication in server-side Dart?▼

Use two clients: an admin client with an API key to create sessions, and a per-request session client that reads the a_session_<PROJECT_ID> cookie. Set the cookie with HttpOnly, Secure, and SameSite=Strict flags to prevent XSS.