Command-line interface for Daptin Backend-as-a-Service.
Built with TypeScript, inspired by daptin-js-client.
npm install -g daptin-cliOr build from source:
git clone https://github.com/daptin/daptin-cli.git
cd daptin-cli
npm install
npm run build
npm link# Add a Daptin server
daptin-cli config add local http://localhost:6336
# Sign in
daptin-cli signin admin@example.com
# List all tables
daptin-cli tables
# List records from a table
daptin-cli list user_account --page-size 20
# Get a single record
daptin-cli get user_account <reference_id>The CLI stores configuration in ~/.daptin/config.yaml. You can manage multiple server contexts:
# Add servers
daptin-cli config add local http://localhost:6336
daptin-cli config add production https://api.example.com
# Switch active server
daptin-cli config use production
# List all servers
daptin-cli config list
# Show current context
daptin-cli config show
# Remove a server
daptin-cli config remove localOverride the endpoint on any command with --endpoint:
daptin-cli --endpoint http://localhost:6336 tables| Flag | Description | Default |
|---|---|---|
-e, --endpoint <url> |
Daptin server endpoint | from config |
-c, --config <path> |
Config file path | ~/.daptin/config.yaml |
-o, --output <format> |
Output format (table, json) |
table |
-t, --token <token> |
Auth token | from config |
--debug |
Enable debug output | false |
# Create a new account
daptin-cli signup user@example.com
# Sign in (prompts for password)
daptin-cli signin user@example.com
# Sign in with 2FA
daptin-cli signin-2fa user@example.com
# Show current user info
daptin-cli whoami# List all tables
daptin-cli tables
daptin-cli tables --columns table_name,is_top_level,default_permission
# Describe a table (columns, relations, actions)
daptin-cli describe user_account
daptin-cli describe product --columns ColumnName,ColumnType,DataType,IsNullable# List records
daptin-cli list product
daptin-cli list product --page-size 50 --page 2
daptin-cli list product --columns name,price,reference_id
daptin-cli list product --sort -price,name
daptin-cli list product --include category_id
# Get a single record
daptin-cli get product <reference_id>
daptin-cli get product <reference_id> --columns name,price
# Create a record
daptin-cli create product --data '{"name": "Widget", "price": 9.99}'
# Update a record
daptin-cli update product <reference_id> --data '{"price": 12.99}'
# Delete a record
daptin-cli delete product <reference_id>
# Query relationships
daptin-cli relation customer <reference_id> order_id --page-size 20# List all actions
daptin-cli actions
# List actions for a specific table
daptin-cli actions user_account
# Show action schema (input/output fields)
daptin-cli action-describe user_account signin
# Execute an action
daptin-cli execute user_account generate_jwt_token --data '{"email": "user@example.com"}'
# Execute an instance-level action
daptin-cli execute order mark_shipped --id <order_reference_id> --data '{"tracking_number": "ABC123"}'# Count records
daptin-cli aggregate product --columns count
# Sum and average
daptin-cli aggregate product --columns "count,sum(price),avg(price)"
# Group by
daptin-cli aggregate order --columns "status,count,sum(total)" --group status
# With filters
daptin-cli aggregate product --columns "count,avg(price)" --filter "gt(price,100)"
# With limit and sort
daptin-cli aggregate order --columns "status,count" --group status --sort "-count" --limit 10# Table output (default)
daptin-cli list product --output table
# JSON output
daptin-cli list product --output json
# JSON output piped to jq
daptin-cli list product -o json | jq '.[].name'| Variable | Description |
|---|---|
DAPTIN_CLI_CONFIG |
Path to config file |
DAPTIN_ENDPOINT |
Default server endpoint |
# Install dependencies
npm install
# Run in development mode
npx tsx src/index.ts tables
# Type check
npm run typecheck
# Build
npm run buildMIT