Token导航 LogoToken导航

Agent Skill · 运维和基础设施

appwrite-cli(appwrite CLI 命令行)

appwrite-cli 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

appwrite-cli 是运维和基础设施类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有未通过项,按安装量在运维和基础设施类的 2,449 个 Skill 里排第 159。

总安装 13,924周安装 592GitHub Stars 18下载 4,878核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:appwrite-cli(appwrite CLI 命令行)
来源仓库:https://github.com/appwrite/agent-skills
仓库路径:skills/appwrite-cli
安装命令:
npx skills add https://github.com/appwrite/agent-skills --skill appwrite-cli
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/appwrite/agent-skills --skill appwrite-cli

这个 Skill 是做什么的

运维和基础设施类 Skill 处理部署、监控、日志和云资源,多数需要较高的执行权限。

appwrite-cli 用于处理 Appwrite CLI 命令行操作,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。支持 Appwrite 项目的初始化、登录和验证,提供全局安装和多种操作系统支持。

通过 npx skills add 命令从指定 GitHub 仓库安装,需确认权限范围和维护状态,避免触发联网、命令执行或文件读写。建议结合来源仓库和原始 README 核验具体用法,确保与宿主环境兼容,并在使用前验证 API 调用和配置选项的有效性。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/appwrite-cli

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/appwrite/agent-skills --skill appwrite-cli;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

appwrite-cli 怎么安装?

在终端执行 npx skills add https://github.com/appwrite/agent-skills --skill appwrite-cli。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

appwrite-cli 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

appwrite-cli 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

appwrite-cli 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

appwrite-cli 用的人多吗?

公开数据是累计安装 13,924 次,近一周安装 592 次,下载 4,878 次,GitHub 18 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

appwrite-cli 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理运维和基础设施类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

运维和基础设施类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
brainstorming

头脑风暴 · Codex、Claude

3,148,776173,131操作浏览器MIT通过
copywriting

文案写作 · Codex、Claude

1,996,72425,583需要联网MIT通过
openclaw-secure-linux-cloud

OpenClaw secure linux cloud 命令行 · Codex、Claude

1,853,08840接触敏感数据未明确未通过
xget

xget 命令行 · Codex、Claude

1,799,28040执行命令未明确未通过
requesting-code-review

代码审查请求 · Codex、Claude

1,590,144173,103权限未标注MIT通过
appwrite-cli

appwrite CLI 命令行 · 本页

13,92418需要联网未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Appwrite CLI

Installation

# npm
npm install -g appwrite-cli

# macOS (Homebrew native binary)
brew install appwrite

# macOS / Linux (script)
curl -sL https://appwrite.io/cli/install.sh | bash

# Windows (Scoop)
scoop install https://raw.githubusercontent.com/appwrite/sdk-for-cli/master/scoop/appwrite.config.json

Verify installation:

appwrite -v

Login & Initialization

# Login to your account
appwrite login

# Login to a self-hosted instance
appwrite login --endpoint "https://your-instance.com/v1"

# Initialize a project (creates appwrite.config.json)
appwrite init project

# Verify by fetching project info
appwrite projects get --project-id "<PROJECT_ID>"

Configuration

# Authenticate with Appwrite
appwrite login
For the full list of CLI commands, see CLI Commands. For headless / CI/CD usage, see Non-Interactive Mode.

appwrite.config.json

All resources are configured in a single appwrite.config.json file at the project root:

{
    "projectId": "<PROJECT_ID>",
    "endpoint": "https://<REGION>.cloud.appwrite.io/v1",
    "functions": [],
    "sites": [],
    "tablesDB": [],
    "tables": [],
    "buckets": [],
    "teams": [],
    "topics": []
}

Deploying Functions

# Create a new function
appwrite init functions

# Pull existing functions from Console
appwrite pull functions

# Deploy functions
appwrite push functions

Function configuration in appwrite.config.json

{
    "functions": [
        {
            "$id": "<FUNCTION_ID>",
            "name": "userAuth",
            "enabled": true,
            "live": true,
            "logging": true,
            "runtime": "node-18.0",
            "deployment": "<DEPLOYMENT_ID>",
            "vars": [],
            "events": [],
            "schedule": "",
            "timeout": 15,
            "entrypoint": "userAuth.js",
            "commands": "npm install",
            "version": "v3",
            "path": "functions/userAuth"
        }
    ]
}

Function commands

CommandDescription
appwrite functions listList all functions
appwrite functions createCreate a new function
appwrite functions get --function-id <ID>Get a function by ID
appwrite functions update --function-id <ID>Update a function
appwrite functions delete --function-id <ID>Delete a function
appwrite functions list-runtimesList all active runtimes
appwrite functions list-deployments --function-id <ID>List deployments
appwrite functions create-deployment --function-id <ID>Upload a new deployment
appwrite functions update-deployment --function-id <ID> --deployment-id <ID>Set active deployment
appwrite functions delete-deployment --function-id <ID> --deployment-id <ID>Delete a deployment
appwrite functions download-deployment --function-id <ID> --deployment-id <ID>Download deployment
appwrite functions create-execution --function-id <ID>Trigger execution
appwrite functions list-executions --function-id <ID>List execution logs
appwrite functions get-execution --function-id <ID> --execution-id <ID>Get execution log
appwrite functions list-variables --function-id <ID>List variables
appwrite functions create-variable --function-id <ID> --key <KEY> --value <VALUE>Create variable
appwrite functions update-variable --function-id <ID> --variable-id <ID> --key <KEY> --value <VALUE>Update variable
appwrite functions delete-variable --function-id <ID> --variable-id <ID>Delete variable

Trigger a function with body

appwrite functions create-execution \
    --function-id <FUNCTION_ID> \
    --body '{"key": "value"}'

Local development

appwrite run functions

Deploying Sites

# Create a new site
appwrite init sites

# Pull existing sites from Console
appwrite pull sites

# Deploy sites
appwrite push sites

Site configuration in appwrite.config.json

{
    "sites": [
        {
            "$id": "<SITE_ID>",
            "name": "Documentation template",
            "enabled": true,
            "logging": true,
            "framework": "astro",
            "timeout": 30,
            "installCommand": "npm install",
            "buildCommand": "npm run build",
            "outputDirectory": "./dist",
            "specification": "s-1vcpu-512mb",
            "buildRuntime": "node-22",
            "adapter": "ssr",
            "fallbackFile": "",
            "path": "sites/documentation-template"
        }
    ]
}

Site commands

CommandDescription
appwrite sites listList all sites
appwrite sites createCreate a new site
appwrite sites get --site-id <ID>Get a site by ID
appwrite sites update --site-id <ID>Update a site
appwrite sites delete --site-id <ID>Delete a site
appwrite sites list-frameworksList available frameworks
appwrite sites list-specificationsList allowed specs
appwrite sites list-templatesList available templates
appwrite sites get-template --template-id <ID>Get template details
appwrite sites list-deployments --site-id <ID>List deployments
appwrite sites create-deployment --site-id <ID>Create deployment
appwrite sites get-deployment --site-id <ID> --deployment-id <ID>Get deployment
appwrite sites delete-deployment --site-id <ID> --deployment-id <ID>Delete deployment
appwrite sites update-site-deployment --site-id <ID> --deployment-id <ID>Set active deployment
appwrite sites update-deployment-status --site-id <ID> --deployment-id <ID>Cancel ongoing build
appwrite sites list-variables --site-id <ID>List variables
appwrite sites create-variable --site-id <ID> --key <KEY> --value <VALUE>Create variable
appwrite sites update-variable --site-id <ID> --variable-id <ID> --key <KEY> --value <VALUE>Update variable
appwrite sites delete-variable --site-id <ID> --variable-id <ID>Delete variable
appwrite sites list-logs --site-id <ID>List request logs
appwrite sites get-log --site-id <ID> --log-id <ID>Get a log
appwrite sites delete-log --site-id <ID> --log-id <ID>Delete a log

Managing Tables (Databases)

# Create a new table
appwrite init tables

# Pull existing tables from Console
appwrite pull tables

# Deploy tables
appwrite push tables

Table configuration in appwrite.config.json

{
    "tablesDB": [
        {
            "$id": "<DATABASE_ID>",
            "name": "songs",
            "enabled": true
        }
    ],
    "tables": [
        {
            "$id": "<TABLE_ID>",
            "$permissions": ["create(\"any\")", "read(\"any\")"],
            "databaseId": "<DATABASE_ID>",
            "name": "music",
            "enabled": true,
            "rowSecurity": false,
            "columns": [
                {
                    "key": "title",
                    "type": "varchar",
                    "required": true,
                    "size": 255
                }
            ],
            "indexes": []
        }
    ]
}

Database commands (TablesDB)

CommandDescription
appwrite tables-db list-tables --database-id <ID>List tables
appwrite tables-db create-table --database-id <ID>Create table
appwrite tables-db get-table --database-id <ID> --table-id <ID>Get table
appwrite tables-db update-table --database-id <ID> --table-id <ID>Update table
appwrite tables-db delete-table --database-id <ID> --table-id <ID>Delete table
appwrite tables-db list-columns --database-id <ID> --table-id <ID>List columns
appwrite tables-db get-column --database-id <ID> --table-id <ID> --key <KEY>Get column
appwrite tables-db delete-column --database-id <ID> --table-id <ID> --key <KEY>Delete column
appwrite tables-db list-column-indexes --database-id <ID> --table-id <ID>List indexes
appwrite tables-db create-column-index --database-id <ID> --table-id <ID>Create index
appwrite tables-db delete-column-index --database-id <ID> --table-id <ID> --key <KEY>Delete index

Column type commands

Note: The legacy string type is deprecated. Use explicit string column types instead.
CommandDescription
create-varchar-columnVarchar column — inline storage, fully indexable (max 16,383 chars, size ≤ 768 for full index)
create-text-columnText column — off-page storage, prefix index only (max 16,383 chars)
create-mediumtext-columnMediumtext column — off-page storage (max ~4M chars)
create-longtext-columnLongtext column — off-page storage (max ~1B chars)
create-boolean-columnBoolean column
create-integer-columnInteger column (optional min/max)
create-float-columnFloat column (optional min/max)
create-email-columnEmail column
create-url-columnURL column
create-ip-columnIP address column
create-datetime-columnDatetime column (ISO 8601)
create-enum-columnEnum column (whitelist of accepted values)
create-relationship-columnRelationship column

All column commands use appwrite tables-db <command> --database-id <ID> --table-id <ID>.

Row operations

# Create a row
appwrite tables-db create-row \
    --database-id "<DATABASE_ID>" --table-id "<TABLE_ID>" \
    --row-id 'unique()' --data '{ "title": "Hello World" }' \
    --permissions 'read("any")' 'write("team:abc")'

# List rows (JSON output)
appwrite tables-db list-rows \
    --database-id "<DATABASE_ID>" --table-id "<TABLE_ID>" --json

# Get a row
appwrite tables-db get-row \
    --database-id "<DATABASE_ID>" --table-id "<TABLE_ID>" --row-id "<ROW_ID>"

Managing Buckets (Storage)

# Create a new bucket
appwrite init buckets

# Pull existing buckets from Console
appwrite pull buckets

# Deploy buckets
appwrite push buckets

Storage commands

CommandDescription
appwrite storage list-bucketsList all buckets
appwrite storage create-bucketCreate a bucket
appwrite storage get-bucket --bucket-id <ID>Get a bucket
appwrite storage update-bucket --bucket-id <ID>Update a bucket
appwrite storage delete-bucket --bucket-id <ID>Delete a bucket
appwrite storage list-files --bucket-id <ID>List files
appwrite storage create-file --bucket-id <ID>Upload a file
appwrite storage get-file --bucket-id <ID> --file-id <ID>Get file metadata
appwrite storage delete-file --bucket-id <ID> --file-id <ID>Delete a file
appwrite storage get-file-download --bucket-id <ID> --file-id <ID>Download a file
appwrite storage get-file-preview --bucket-id <ID> --file-id <ID>Get image preview
appwrite storage get-file-view --bucket-id <ID> --file-id <ID>View file in browser

Managing Teams

# Create a new team
appwrite init teams

# Pull existing teams from Console
appwrite pull teams

# Deploy teams
appwrite push teams

Team commands

CommandDescription
appwrite teams listList all teams
appwrite teams createCreate a team
appwrite teams get --team-id <ID>Get a team
appwrite teams update-name --team-id <ID>Update team name
appwrite teams delete --team-id <ID>Delete a team
appwrite teams list-memberships --team-id <ID>List members
appwrite teams create-membership --team-id <ID>Invite a member
appwrite teams update-membership --team-id <ID> --membership-id <ID>Update member roles
appwrite teams delete-membership --team-id <ID> --membership-id <ID>Remove a member
appwrite teams get-prefs --team-id <ID>Get team preferences
appwrite teams update-prefs --team-id <ID>Update team preferences

Managing Topics (Messaging)

# Create a new topic
appwrite init topics

# Pull existing topics from Console
appwrite pull topics

# Deploy topics
appwrite push topics

Messaging commands

CommandDescription
appwrite messaging list-messagesList all messages
appwrite messaging create-emailCreate email message
appwrite messaging create-pushCreate push notification
appwrite messaging create-smsCreate SMS message
appwrite messaging get-message --message-id <ID>Get a message
appwrite messaging delete --message-id <ID>Delete a message
appwrite messaging list-topicsList all topics
appwrite messaging create-topicCreate a topic
appwrite messaging get-topic --topic-id <ID>Get a topic
appwrite messaging update-topic --topic-id <ID>Update a topic
appwrite messaging delete-topic --topic-id <ID>Delete a topic
appwrite messaging list-subscribers --topic-id <ID>List subscribers
appwrite messaging create-subscriber --topic-id <ID>Add subscriber
appwrite messaging delete-subscriber --topic-id <ID> --subscriber-id <ID>Remove subscriber

User Management

# Create a user
appwrite users create --user-id "unique()" \
    --email hello@appwrite.io

# List users
appwrite users list

# Get a user
appwrite users get --user-id "<USER_ID>"

# Delete a user
appwrite users delete --user-id "<USER_ID>"

Generate Type-Safe SDK

# Auto-detect language and generate
appwrite generate

# Specify output directory
appwrite generate --output ./src/generated

# Specify language
appwrite generate --language typescript

Generated files:

FileDescription
types.tsType definitions from your database schema
databases.tsTyped database helpers for querying and mutating rows
constants.tsConfiguration constants (endpoint, project ID)
index.tsEntry point that exports all helpers

Usage:

import { databases } from "./generated/appwrite";

const customers = databases.use("main").use("customers");

// Create
const customer = await customers.create({
    name: "Walter O' Brian",
    email: "walter@example.com"
});

// List with typed queries
const results = await customers.list({
    queries: (q) => [
        q.equal("name", "Walter O' Brian"),
        q.orderDesc("$createdAt"),
        q.limit(10)
    ]
});

// Update
await customers.update("customer-id-123", {
    email: "walter@scorpion.com"
});

// Delete
await customers.delete("customer-id-123");

// Bulk create
await customers.createMany([
    { name: "Walter O' Brian", email: "walter@example.com" },
    { name: "Paige Dineen", email: "paige@example.com" }
]);

Non-Interactive / CI/CD Mode

For headless automation, see the Non-Interactive Mode docs.

Deploy non-interactively

# Push everything
appwrite push all --all --force

# Push specific resources
appwrite push functions --all --force
appwrite push functions --function-id <FUNCTION_ID> --force
appwrite push sites --all --force
appwrite push tables --all --force
appwrite push teams --all --force
appwrite push buckets --all --force
appwrite push topics --all --force

Global Command Options

OptionDescription
-v, --versionOutput version number
-V, --verboseShow complete error log
-j, --jsonOutput in JSON format
-f, --forceConfirm all warnings
-a, --allSelect all resources
--id [id...]Pass a list of IDs
--reportGenerate GitHub error report link
--consoleGet direct link to Console
--openOpen Console link in browser
-h, --helpDisplay help

Examples

# List users with JSON output
appwrite users list --json

# Get verbose error output
appwrite users list --verbose

# View a row in the Console
appwrite tables-db get-row \
    --database-id "<DATABASE_ID>" \
    --table-id "<TABLE_ID>" \
    --row-id "<ROW_ID>" \
    --console --open

# Generate error report
appwrite login --report

平台分布

Codex

34.73%
按下载量换算1,694

Claude

32.89%
按下载量换算1,604

Cursor

17.99%
按下载量换算878

Gemini CLI

9%
按下载量换算439

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

未通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills