appwrite-cli

安装量: 119
排名: #7209

安装

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

Appwrite CLI Installation

npm

npm install -g appwrite-cli

macOS (Homebrew)

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 "" 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" : "" , "endpoint" : "https://.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" : "" , "name" : "userAuth" , "enabled" : true , "live" : true , "logging" : true , "runtime" : "node-18.0" , "deployment" : "" , "vars" : [ ] , "events" : [ ] , "schedule" : "" , "timeout" : 15 , "entrypoint" : "userAuth.js" , "commands" : "npm install" , "version" : "v3" , "path" : "functions/userAuth" } ] } Function commands Command Description appwrite functions list List all functions appwrite functions create Create a new function appwrite functions get --function-id Get a function by ID appwrite functions update --function-id Update a function appwrite functions delete --function-id Delete a function appwrite functions list-runtimes List all active runtimes appwrite functions list-deployments --function-id List deployments appwrite functions create-deployment --function-id Upload a new deployment appwrite functions update-deployment --function-id --deployment-id Set active deployment appwrite functions delete-deployment --function-id --deployment-id Delete a deployment appwrite functions download-deployment --function-id --deployment-id Download deployment appwrite functions create-execution --function-id Trigger execution appwrite functions list-executions --function-id List execution logs appwrite functions get-execution --function-id --execution-id Get execution log appwrite functions list-variables --function-id List variables appwrite functions create-variable --function-id --key --value Create variable appwrite functions update-variable --function-id --variable-id --key --value Update variable appwrite functions delete-variable --function-id --variable-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" : "" , "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 Command Description appwrite sites list List all sites appwrite sites create Create a new site appwrite sites get --site-id Get a site by ID appwrite sites update --site-id Update a site appwrite sites delete --site-id Delete a site appwrite sites list-frameworks List available frameworks appwrite sites list-specifications List allowed specs appwrite sites list-templates List available templates appwrite sites get-template --template-id Get template details appwrite sites list-deployments --site-id List deployments appwrite sites create-deployment --site-id Create deployment appwrite sites get-deployment --site-id --deployment-id Get deployment appwrite sites delete-deployment --site-id --deployment-id Delete deployment appwrite sites update-site-deployment --site-id --deployment-id Set active deployment appwrite sites update-deployment-status --site-id --deployment-id Cancel ongoing build appwrite sites list-variables --site-id List variables appwrite sites create-variable --site-id --key --value Create variable appwrite sites update-variable --site-id --variable-id --key --value Update variable appwrite sites delete-variable --site-id --variable-id Delete variable appwrite sites list-logs --site-id List request logs appwrite sites get-log --site-id --log-id Get a log appwrite sites delete-log --site-id --log-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" : "" , "name" : "songs" , "enabled" : true } ] , "tables" : [ { "$id" : "" , "$permissions" : [ "create(\"any\")" , "read(\"any\")" ] , "databaseId" : "" , "name" : "music" , "enabled" : true , "rowSecurity" : false , "columns" : [ { "key" : "title" , "type" : "varchar" , "required" : true , "size" : 255 } ] , "indexes" : [ ] } ] } Database commands (TablesDB) Command Description appwrite tables-db list-tables --database-id List tables appwrite tables-db create-table --database-id Create table appwrite tables-db get-table --database-id --table-id Get table appwrite tables-db update-table --database-id --table-id Update table appwrite tables-db delete-table --database-id --table-id Delete table appwrite tables-db list-columns --database-id --table-id List columns appwrite tables-db get-column --database-id --table-id --key Get column appwrite tables-db delete-column --database-id --table-id --key Delete column appwrite tables-db list-column-indexes --database-id --table-id List indexes appwrite tables-db create-column-index --database-id --table-id Create index appwrite tables-db delete-column-index --database-id --table-id --key Delete index Column type commands Note: The legacy string type is deprecated. Use explicit string column types instead. Command Description create-varchar-column Varchar column — inline storage, fully indexable (max 16,383 chars, size ≤ 768 for full index) create-text-column Text column — off-page storage, prefix index only (max 16,383 chars) create-mediumtext-column Mediumtext column — off-page storage (max ~4M chars) create-longtext-column Longtext column — off-page storage (max ~1B chars) create-boolean-column Boolean column create-integer-column Integer column (optional min/max) create-float-column Float column (optional min/max) create-email-column Email column create-url-column URL column create-ip-column IP address column create-datetime-column Datetime column (ISO 8601) create-enum-column Enum column (whitelist of accepted values) create-relationship-column Relationship column All column commands use appwrite tables-db --database-id --table-id . Row operations

Create a row

appwrite tables-db create-row \ --database-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 "" --table-id "" --json

Get a row

appwrite tables-db get-row \ --database-id "" --table-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 Command Description appwrite storage list-buckets List all buckets appwrite storage create-bucket Create a bucket appwrite storage get-bucket --bucket-id Get a bucket appwrite storage update-bucket --bucket-id Update a bucket appwrite storage delete-bucket --bucket-id Delete a bucket appwrite storage list-files --bucket-id List files appwrite storage create-file --bucket-id Upload a file appwrite storage get-file --bucket-id --file-id Get file metadata appwrite storage delete-file --bucket-id --file-id Delete a file appwrite storage get-file-download --bucket-id --file-id Download a file appwrite storage get-file-preview --bucket-id --file-id Get image preview appwrite storage get-file-view --bucket-id --file-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 Command Description appwrite teams list List all teams appwrite teams create Create a team appwrite teams get --team-id Get a team appwrite teams update-name --team-id Update team name appwrite teams delete --team-id Delete a team appwrite teams list-memberships --team-id List members appwrite teams create-membership --team-id Invite a member appwrite teams update-membership --team-id --membership-id Update member roles appwrite teams delete-membership --team-id --membership-id Remove a member appwrite teams get-prefs --team-id Get team preferences appwrite teams update-prefs --team-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 Command Description appwrite messaging list-messages List all messages appwrite messaging create-email Create email message appwrite messaging create-push Create push notification appwrite messaging create-sms Create SMS message appwrite messaging get-message --message-id Get a message appwrite messaging delete --message-id Delete a message appwrite messaging list-topics List all topics appwrite messaging create-topic Create a topic appwrite messaging get-topic --topic-id Get a topic appwrite messaging update-topic --topic-id Update a topic appwrite messaging delete-topic --topic-id Delete a topic appwrite messaging list-subscribers --topic-id List subscribers appwrite messaging create-subscriber --topic-id Add subscriber appwrite messaging delete-subscriber --topic-id --subscriber-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 ""

Delete a user

appwrite users delete --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: File Description types.ts Type definitions from your database schema databases.ts Typed database helpers for querying and mutating rows constants.ts Configuration constants (endpoint, project ID) index.ts Entry 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 Option Description -v, --version Output version number -V, --verbose Show complete error log -j, --json Output in JSON format -f, --force Confirm all warnings -a, --all Select all resources --id [id...] Pass a list of IDs --report Generate GitHub error report link --console Get direct link to Console --open Open Console link in browser -h, --help Display 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 "" \ --table-id "" \ --row-id "" \ --console --open

Generate error report

appwrite login --report

返回排行榜