appwrite-go

Implements server-side Go applications using the Appwrite SDK for users, databases, storage, and functions.

Updated Jul 29, 2026
One-click install
npx skills add https://github.com/SMGolamAlif/Orbit --skill appwrite-go-smgolamalif
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: appwrite-go
Source: https://github.com/SMGolamAlif/Orbit/tree/main/.agents/skills/appwrite-go
Command: npx skills add https://github.com/SMGolamAlif/Orbit --skill appwrite-go-smgolamalif

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires github.com/appwrite/sdk-for-go.

What problem does it solve? Building server-side Go backends with Appwrite requires knowing the correct SDK patterns, service packages, and authentication flows. This Skill provides working code patterns for the Appwrite Go SDK so you avoid deprecated APIs, misconfigured permissions, and insecure session handling. ## Core Features & Use Cases - Full SDK Coverage: User management, TablesDB row CRUD, file storage, teams, and serverless function execution via per-service packages and functional options. - SSR Authentication: Admin and session client patterns for email/password and OAuth2 login flows with secure cookie handling in net/http, Gin, Echo, or Chi apps. - Permissions & Error Handling: Permission and role helpers for row/file access control plus typed AppwriteException handling with common error codes. - Use Case: You are building a Go API that stores user-generated articles in Appwrite. Use this Skill to create tables with explicit varchar/text column types, insert rows with per-user permissions, and handle 404/409 errors correctly. ## Quick Start Ask the AI to write a Go handler that creates an Appwrite table row with read and update permissions for a specific user using the TablesDB service.

Frequently Asked Questions about appwrite-go

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

FAQPage Schema
How do I use the Appwrite Go SDK for database operations?

Use the tablesdb package with a client configured via client.New and functional options. Call methods like CreateRow, ListRows, GetRow, UpdateRow, and DeleteRow with database and table IDs, passing data as map[string]interface{}.

How do I implement SSR authentication with Appwrite in Go?

Create an admin client with an API key to create sessions, then store the session secret in an HttpOnly cookie named a_session_<PROJECT_ID>. Build a per-request session client with client.WithSession to act on behalf of the user.

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

Use TablesDB for all new code since the Databases class is deprecated. Only use Databases if your existing codebase already relies on it or you explicitly need legacy compatibility.

How do I set permissions on Appwrite rows and files in Go?

Use the permission and role helper packages to build permission strings like permission.Read(role.User(userID)) and pass them via options such as tablesdb.WithCreateRowPermissions. Without explicit permissions, no user can access the resource.

How do I handle Appwrite API errors in Go?

Use errors.As with apperr.AppwriteException to extract the message, HTTP status code, and error type. Common codes include 401 for invalid credentials, 404 for missing resources, and 429 for rate limiting.

What string column types does Appwrite TablesDB support?

Appwrite supports varchar (inline, up to 16,383 chars, fully indexable), text, mediumtext, and longtext (stored off-page with prefix-only indexing). The legacy string type is deprecated; prefer varchar for short indexed fields.