# craft-cli > Interact with Craft Documents via the `craft` CLI tool. Fast, token-efficient, LLM-ready. - Author: Adam Delisi - Repository: massiveadam/skills - Version: 20260131183437 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/massiveadam/skills - Web: https://mule.run/skillshub/@@massiveadam/skills~craft-cli:20260131183437 --- # Craft CLI Skill Interact with Craft Documents via the `craft` CLI tool. Fast, token-efficient, LLM-ready. ## Installation The `craft` CLI binary should be installed at `/usr/local/bin/craft`. If not installed: ```bash curl -L https://github.com/nerveband/craft-cli/releases/download/v1.0.0/craft-darwin-arm64 -o craft chmod +x craft sudo mv craft /usr/local/bin/ ``` ## Configuration Two Craft spaces are available: ### wavedepth Space (Business) ```bash ~/clawd/skills/craft-cli/craft config set-api https://connect.craft.do/links/5VruASgpXo0/api/v1 ``` ### Personal Space ```bash ~/clawd/skills/craft-cli/craft config set-api https://connect.craft.do/links/HHRuPxZZTJ6/api/v1 ``` ### Quick Switch (Helper Script) ```bash # Switch to wavedepth space ~/clawd/skills/craft-cli/craft-helper.sh wavedepth # Switch to personal space ~/clawd/skills/craft-cli/craft-helper.sh personal # Check current space ~/clawd/skills/craft-cli/craft-helper.sh current ``` **Check current configuration:** ```bash ~/clawd/skills/craft-cli/craft config get-api ``` ## Commands ### List Documents ```bash # JSON format (default - LLM-friendly) ~/clawd/skills/craft-cli/craft list # Human-readable table ~/clawd/skills/craft-cli/craft list --format table # Markdown format ~/clawd/skills/craft-cli/craft list --format markdown ``` ### Search Documents ```bash # Search for documents ~/clawd/skills/craft-cli/craft search "query terms" # With table output ~/clawd/skills/craft-cli/craft search "query" --format table ``` ### Get Document ```bash # Get document by ID (JSON) ~/clawd/skills/craft-cli/craft get # Save to file ~/clawd/skills/craft-cli/craft get --output document.md # Different format ~/clawd/skills/craft-cli/craft get --format markdown ``` ### Create Document ```bash # Create with title only ~/clawd/skills/craft-cli/craft create --title "My New Document" # Create from file ~/clawd/skills/craft-cli/craft create --title "My Document" --file content.md # Create with inline markdown ~/clawd/skills/craft-cli/craft create --title "Quick Note" --markdown "# Hello\nThis is content" # Create as child of another document ~/clawd/skills/craft-cli/craft create --title "Child Doc" --parent ``` ### Update Document ```bash # Update title ~/clawd/skills/craft-cli/craft update --title "New Title" # Update from file ~/clawd/skills/craft-cli/craft update --file updated-content.md # Update with inline markdown ~/clawd/skills/craft-cli/craft update --markdown "# Updated\nNew content" # Update both title and content ~/clawd/skills/craft-cli/craft update --title "New Title" --file content.md ``` ### Delete Document ```bash ~/clawd/skills/craft-cli/craft delete ``` ### Info Commands ```bash # Show API info and recent documents ~/clawd/skills/craft-cli/craft info # List all available documents ~/clawd/skills/craft-cli/craft docs ``` ### Version ```bash ~/clawd/skills/craft-cli/craft version ``` ## Output Formats - **json** (default): Machine-readable JSON, ideal for LLMs and scripts - **table**: Human-readable table format - **markdown**: Markdown-formatted output Set default format in config or use `--format` flag per command. ## API URL Override Override the configured API URL for any command: ```bash ~/clawd/skills/craft-cli/craft list --api-url https://connect.craft.do/links/ANOTHER_LINK/api/v1 ``` ## Error Handling The CLI provides clear error messages with exit codes: - **Exit Code 0**: Success - **Exit Code 1**: User error (invalid input, missing arguments) - **Exit Code 2**: API error (server-side issues) - **Exit Code 3**: Configuration error Common errors: - `authentication failed. Check API URL` - Invalid/unauthorized API URL - `resource not found` - Document ID doesn't exist - `rate limit exceeded. Retry later` - Too many requests - `no API URL configured. Run 'craft config set-api ' first` - Missing config ## Usage Examples ### Workflow: List and Search ```bash # List all documents in wavedepth space ~/clawd/skills/craft-cli/craft config set-api https://connect.craft.do/links/5VruASgpXo0/api/v1 ~/clawd/skills/craft-cli/craft list --format table # Search for specific documents ~/clawd/skills/craft-cli/craft search "proposal" --format table ``` ### Workflow: Create and Update ```bash # Create a new document ~/clawd/skills/craft-cli/craft create --title "Project Notes" --markdown "# Initial notes\n\nStart here." # Get the document ID from output, then update ~/clawd/skills/craft-cli/craft update --title "Updated Project Notes" # Verify the update ~/clawd/skills/craft-cli/craft get --format markdown ``` ### Workflow: Export Document ```bash # Get a specific document and save to file ~/clawd/skills/craft-cli/craft get --output exported-notes.md ``` ### LLM Integration ```bash # Get all documents as JSON (pipe to processing) ~/clawd/skills/craft-cli/craft list | jq '.[] | {id, title}' # Search and extract specific fields ~/clawd/skills/craft-cli/craft search "meeting" | jq '.[].title' ``` ## Tips 1. **Default to JSON format** for LLM consumption (it's the default) 2. **Use table format** when showing results to humans 3. **Check configuration** before operations: `craft config get-api` 4. **Switch spaces easily** with `craft config set-api ` 5. **Override API URL** temporarily with `--api-url` flag instead of changing config ## GitHub Repository Source code and documentation: https://github.com/nerveband/craft-cli ## Version Current version: 1.6.0