mycopunk-swag/docs/cli-reference.md

7.4 KiB
Raw Permalink Blame History

CLI Reference

Complete command reference for the mycopunk CLI tool.

Installation

cd cli
pip install -e .

This installs the CLI in development mode, allowing you to edit the code and see changes immediately.

Global Options

mycopunk --version    # Show version
mycopunk --help       # Show help

Design Commands

mycopunk design new

Create a new design scaffold with metadata template.

mycopunk design new <path> [--template TEMPLATE]

Arguments:

  • path - Design path in format category/design-name (e.g., stickers/my-design)

Options:

  • --template, -t - Template to use (default: sticker-3x3)

Available Templates:

Template Dimensions Use Case
sticker-3x3 900×900 px Small vinyl sticker
sticker-4x4 1200×1200 px Medium vinyl sticker
sticker-6x6 1800×1800 px Large vinyl sticker
tshirt-front 3600×4800 px Full front print
tshirt-chest 1200×1200 px Chest/pocket print
print-8x10 2400×3000 px 8×10 art print

Example:

mycopunk design new stickers/spore-spiral --template=sticker-3x3
mycopunk design new shirts/mycelium-network --template=tshirt-front

Creates:

designs/stickers/spore-spiral/
├── spore-spiral.svg      # Edit this in Inkscape
├── metadata.yaml         # Configure products here
└── exports/
    ├── 300dpi/.gitkeep
    └── mockups/.gitkeep

mycopunk design list

List all designs in the repository.

mycopunk design list [--status STATUS] [--type TYPE]

Options:

  • --status, -s - Filter by status (draft, active, retired)
  • --type, -t - Filter by category (stickers, shirts, misc)

Example:

mycopunk design list
mycopunk design list --status=active
mycopunk design list --type=stickers --status=active

mycopunk design export

Export design to print-ready files.

mycopunk design export <path> [--dpi DPI] [--format FORMAT]

Arguments:

  • path - Design path (e.g., stickers/my-design)

Options:

  • --dpi - Export resolution (default: 300)
  • --format, -f - Export format: png, jpg (default: png)

Example:

mycopunk design export stickers/spore-spiral
mycopunk design export stickers/spore-spiral --dpi=600

Requirements:

  • Inkscape must be installed for SVG export
  • PIL/Pillow for raster format conversion

mycopunk design validate

Validate design meets POD requirements.

mycopunk design validate <path> [--strict]

Arguments:

  • path - Design path to validate

Options:

  • --strict - Fail on warnings (not just errors)

Checks:

  • ✓ Required metadata fields present
  • ✓ Source file exists
  • ✓ Exported PNG dimensions match spec
  • ✓ Resolution meets minimum (300 DPI)
  • ✓ Products configured correctly

Example:

mycopunk design validate stickers/spore-spiral
mycopunk design validate stickers/spore-spiral --strict

Product Commands

mycopunk product create

Create product on POD service from design.

mycopunk product create <path> [--provider PROVIDER] [--sandbox]

Arguments:

  • path - Design path

Options:

  • --provider, -p - POD provider: printful, prodigi (default: prodigi)
  • --sandbox - Use sandbox/test mode (no real orders)

Example:

mycopunk product create stickers/spore-spiral --provider=prodigi --sandbox
mycopunk product create shirts/mycelium-network --provider=printful

mycopunk product push

Push design updates to POD product.

mycopunk product push <path> [--provider PROVIDER]

Arguments:

  • path - Design path

Options:

  • --provider, -p - Specific provider (default: all configured)

Example:

mycopunk product push stickers/spore-spiral
mycopunk product push stickers/spore-spiral --provider=printful

mycopunk product list

List all products by provider.

mycopunk product list [--provider PROVIDER]

Options:

  • --provider, -p - Filter by provider

Example:

mycopunk product list
mycopunk product list --provider=printful

Mockup Commands

mycopunk mockup generate

Generate product mockups for a design.

mycopunk mockup generate <path> [--all] [--color COLOR] [--size SIZE]

Arguments:

  • path - Design path

Options:

  • --all - Generate all variant mockups
  • --color, -c - Product color (e.g., black, white)
  • --size, -s - Product size (e.g., M, L, XL)

Example:

mycopunk mockup generate stickers/spore-spiral --all
mycopunk mockup generate shirts/mycelium-network --color=black --size=L

Catalog Commands

mycopunk catalog sync

Sync product catalog from POD services.

mycopunk catalog sync [--provider PROVIDER]

Options:

  • --provider, -p - Provider to sync: printful, prodigi, all (default: all)

Example:

mycopunk catalog sync
mycopunk catalog sync --provider=printful

Batch Commands

mycopunk batch export

Export all designs matching criteria.

mycopunk batch export [--type TYPE] [--status STATUS]

Options:

  • --type, -t - Filter by category
  • --status, -s - Filter by status (default: active)

Example:

mycopunk batch export --type=sticker
mycopunk batch export --status=active

mycopunk batch push

Push all designs to POD services.

mycopunk batch push [--status STATUS] [--provider PROVIDER]

Options:

  • --status, -s - Filter by status (default: active)
  • --provider, -p - Specific provider

Example:

mycopunk batch push --status=active
mycopunk batch push --provider=prodigi

Reports

mycopunk report

Generate various reports.

mycopunk report <type> [--output FILE]

Arguments:

  • type - Report type: pricing, inventory, orders

Options:

  • --output, -o - Output file path

Example:

mycopunk report pricing
mycopunk report pricing --output=pricing.csv

Environment Variables

Set these in config/.env:

Variable Description Required
PRINTFUL_API_TOKEN Printful API token For Printful operations
PRODIGI_API_KEY_SANDBOX Prodigi sandbox key For testing
PRODIGI_API_KEY_LIVE Prodigi production key For live orders
MYCOPUNK_ENV Environment: development/production No (default: development)
DEFAULT_PROVIDER Default POD provider No (default: prodigi)
DEBUG Enable debug logging No (default: false)

Exit Codes

Code Meaning
0 Success
1 Error (validation failed, API error, etc.)

Tips

Quick Workflow

# Create a new sticker design
mycopunk design new stickers/mushroom-logo --template=sticker-3x3

# Edit the SVG in Inkscape
inkscape designs/stickers/mushroom-logo/mushroom-logo.svg

# Edit metadata.yaml to set pricing

# Export to PNG
mycopunk design export stickers/mushroom-logo

# Validate before pushing
mycopunk design validate stickers/mushroom-logo

# Create on Prodigi (test mode)
mycopunk product create stickers/mushroom-logo --provider=prodigi --sandbox

Batch Operations

# Export all active stickers
mycopunk batch export --type=stickers --status=active

# Push everything to production
MYCOPUNK_ENV=production mycopunk batch push --status=active