appwrite-ruby

Implements server-side Appwrite integrations in Ruby covering users, databases, storage, and SSR authentication.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires appwrite.

What problem does it solve? Building server-side Ruby applications against Appwrite requires knowing the correct SDK patterns for users, tables, storage, teams, functions, and SSR session handling, and mistakes like using deprecated classes or missing permissions cause silent failures. ## Core Features & Use Cases - Full SDK Coverage: Provides working Ruby examples for user management, TablesDB CRUD with typed string columns, Query builders, file storage, teams, and serverless functions. - SSR Authentication: Shows the admin-client/session-client pattern with secure cookie handling for Rails and Sinatra, including email/password and OAuth2 flows. - Permissions & Error Handling: Documents Permission/Role strings, common security mistakes, and Appwrite::Exception handling with common HTTP error codes. - Use Case: A developer building a Sinatra backend needs to log users in via Appwrite, store their data in tables with row-level permissions, and upload files to a bucket, all using the Ruby server SDK. ## Quick Start Ask the assistant to write Ruby code that connects to Appwrite with an API key and creates a table row with read permissions for a specific user.

Frequently Asked Questions about appwrite-ruby

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

FAQPage Schema
How do I use the Appwrite Ruby SDK for server-side apps?

Install the appwrite gem, create a Client with set_endpoint, set_project, and set_key using your API key, then instantiate services like Users, TablesDB, or Storage. Use keyword arguments for all method calls and ID.unique for new resource IDs.

How do I handle Appwrite authentication in Rails or Sinatra SSR apps?

Use two clients: an admin client with an API key to create sessions, and a per-request session client configured with set_session from the a_session_<PROJECT_ID> cookie. Set the cookie with httponly, secure, and same_site: :strict flags.

Should I use Databases or TablesDB in the Appwrite Ruby SDK?

Use TablesDB for all new code since the Databases class is deprecated. TablesDB provides create_row, list_rows, get_row, update_row, and delete_row methods, and only fall back to Databases when maintaining an existing codebase that relies on it.

Why is my Appwrite row inaccessible after creating it in Ruby?

Appwrite grants no access by default, so rows created without a permissions array are inaccessible to everyone including the creator. Pass permissions like Permission.read(Role.user(user_id)) when creating rows, or configure table-level permissions instead.

What string column types does Appwrite TablesDB support?

Appwrite supports varchar (inline, fully indexable up to 16,383 chars), text, mediumtext (~4M chars), and longtext (~1B chars), with the latter three stored off-page and limited to prefix indexing. The legacy string type is deprecated for new columns.