Cli
Functions CLI
Command-line interface reference for functions.do - Typesafe, composable business logic and automation
Functions CLI
Typesafe, composable business logic and automation
Installation
# Install globally
npm install -g do
# Or use via npx
npx do --versionQuick Start
# Basic usage
do fn invoke functions --input=data.jsonCommands
Main Command
do fn invoke functions --input=data.jsonDescription: Typesafe, composable business logic and automation
Usage:
do functions [options]Options
Global Options
--help, -h- Show help--version, -v- Show version--verbose- Verbose output--quiet, -q- Quiet mode--json- JSON output--config <file>- Config file path
Command-Specific Options
do functions \
--option1=value1 \
--option2=value2 \
--verboseUsage Examples
Basic Example
# Simple usage
do fn invoke functions --input=data.jsonWith Options
# With configuration
do fn invoke functions --input=data.json --verbose --jsonInteractive Mode
# Interactive prompts
do functions --interactiveBatch Operations
# Process multiple items
do functions --batch items.jsonPipeline Integration
# Use with pipes
cat data.json | do functions --stdin | jq '.'Configuration
Config File
Create .doconfig in your project:
{
"functions": {
"option1": "value1",
"option2": "value2"
}
}Environment Variables
export DO_FUNCTIONS_OPTION1=value1
export DO_FUNCTIONS_OPTION2=value2
do fn invoke functions --input=data.jsonOutput Formats
Default Output
do fn invoke functions --input=data.json
# ✓ Operation completed
# Result: ...JSON Output
do fn invoke functions --input=data.json --json
# {
# "success": true,
# "result": { ... }
# }Verbose Output
do fn invoke functions --input=data.json --verbose
# → Starting operation...
# → Processing...
# → Completed in 1.2sScripting
Bash Scripts
#!/bin/bash
# Check if successful
if do fn invoke functions --input=data.json; then
echo "Success!"
else
echo "Failed!"
exit 1
fiCI/CD Integration
# GitHub Actions
- name: Run Functions
run: |
do fn invoke functions --input=data.json \
--config prod.json \
--quietError Handling
Exit Codes
0- Success1- General error2- Invalid arguments3- Timeout4- Not found
Error Messages
# Capture errors
do fn invoke functions --input=data.json 2>errors.log
# Handle errors
if ! do fn invoke functions --input=data.json; then
echo "Error occurred, check errors.log"
exit 1
fiDebugging
# Debug mode
DEBUG=* do fn invoke functions --input=data.json
# Dry run
do fn invoke functions --input=data.json --dry-run
# Verbose + timing
time do fn invoke functions --input=data.json --verboseBest Practices
- Use Config Files - Store configuration in
.doconfig - Environment Variables - Use for sensitive data
- Error Handling - Check exit codes in scripts
- JSON Output - Use
--jsonfor parsing results - Verbose Mode - Use
--verbosefor debugging