mycopunk-swag/docs/workflow.md

322 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Mycopunk Workflow Guide
This document describes the end-to-end workflow for creating, managing, and fulfilling mycopunk merchandise.
## Overview
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Design │ → │ Export │ → │ Publish │ → │ Fulfill │
│ (Inkscape) │ │ (CLI) │ │ (POD) │ │ (Orders) │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
```
## Phase 1: Design Creation
### 1.1 Create Design Scaffold
```bash
# Create a new sticker design
mycopunk design new stickers/mycelium-mandala --template=sticker-4x4
```
This creates:
```
designs/stickers/mycelium-mandala/
├── mycelium-mandala.svg # Source file
├── metadata.yaml # Configuration
└── exports/ # Output directory
```
### 1.2 Design in Inkscape
Open the SVG file in Inkscape:
```bash
inkscape designs/stickers/mycelium-mandala/mycelium-mandala.svg
```
**Design Guidelines:**
- Work at the specified canvas size (e.g., 1200×1200 px for 4×4" sticker)
- Use sRGB color profile
- Keep important elements away from edges (safe zone)
- Add 1/16" bleed if design touches edges
- Save frequently!
### 1.3 Configure Metadata
Edit `metadata.yaml`:
```yaml
name: "Mycelium Mandala"
slug: mycelium-mandala
description: "Sacred geometry inspired by fungal networks"
tags: [mycelium, mandala, sacred-geometry, nature]
created: 2025-01-24
author: jeff
source:
file: mycelium-mandala.svg
format: svg
dimensions:
width: 1200
height: 1200
dpi: 300
color_profile: sRGB
products:
- type: sticker
provider: prodigi
sku: GLOBAL-STI-KIS-4X4
variants: [matte, gloss]
retail_price: 4.50
- type: sticker
provider: printful
sku: 358
variants: [white]
retail_price: 4.50
status: draft # Change to 'active' when ready
```
---
## Phase 2: Export & Validate
### 2.1 Export to Print-Ready Files
```bash
mycopunk design export stickers/mycelium-mandala
```
Output:
```
✓ Exported: designs/stickers/mycelium-mandala/exports/300dpi/mycelium-mandala.png
Size: 245.3 KB
Dimensions: 1200×1200 px
```
### 2.2 Validate Design
```bash
mycopunk design validate stickers/mycelium-mandala
```
Output:
```
Validating: Mycelium Mandala
✓ Metadata field 'name' present
✓ Metadata field 'slug' present
✓ Metadata field 'source' present
✓ Metadata field 'products' present
✓ Metadata field 'status' present
✓ Source file exists: mycelium-mandala.svg
✓ Dimensions correct: 1200×1200
✓ Products configured: 2
✓ Validation passed
```
### 2.3 Generate Local Mockups (Optional)
For quick previews without API calls:
```bash
./scripts/generate-mockups.sh stickers/mycelium-mandala
```
---
## Phase 3: Publish to POD
### 3.1 Test in Sandbox First
Always test with sandbox credentials:
```bash
mycopunk product create stickers/mycelium-mandala --provider=prodigi --sandbox
```
### 3.2 Update Status
Once satisfied, update the design status:
```yaml
# In metadata.yaml
status: active
```
### 3.3 Create Production Product
```bash
# Ensure MYCOPUNK_ENV=production or use live API keys
mycopunk product create stickers/mycelium-mandala --provider=prodigi
```
### 3.4 Generate Production Mockups
```bash
mycopunk mockup generate stickers/mycelium-mandala --all
```
---
## Phase 4: Selling & Fulfillment
### Option A: Use POD Storefronts
Both Printful and Prodigi integrate with:
- Etsy
- Shopify
- WooCommerce
- Amazon
Connect your accounts in their dashboards.
### Option B: Custom Shop (Phase 5)
Build your own storefront (see architecture in plan).
### Order Flow
```
Customer Order → Payment → API Call to POD → Fulfillment → Shipping
```
---
## Batch Operations
### Export All Active Designs
```bash
mycopunk batch export --status=active
```
### Push All to POD
```bash
mycopunk batch push --status=active --provider=prodigi
```
### Generate Price Report
```bash
mycopunk report pricing > pricing.csv
```
---
## File Organization Best Practices
### Design Directory Structure
```
designs/
├── stickers/
│ ├── mycelium-mandala/
│ │ ├── mycelium-mandala.svg # Source (edit this)
│ │ ├── mycelium-mandala.xcf # GIMP working file (optional)
│ │ ├── metadata.yaml # Configuration
│ │ ├── reference/ # Inspiration images (optional)
│ │ └── exports/
│ │ ├── 300dpi/
│ │ │ └── mycelium-mandala.png
│ │ └── mockups/
│ │ ├── sticker-mockup.png
│ │ └── product-photo.jpg
│ └── spore-spiral/
│ └── ...
├── shirts/
│ └── network-tee/
│ └── ...
└── misc/
├── patches/
├── pins/
└── zines/
```
### Naming Conventions
- **Slugs**: lowercase, hyphen-separated (e.g., `mycelium-mandala`)
- **Files**: Match slug (e.g., `mycelium-mandala.svg`)
- **Categories**: Plural (e.g., `stickers/`, `shirts/`)
---
## Git Workflow
### Committing Designs
```bash
# Add new design
git add designs/stickers/mycelium-mandala/
# Don't commit exports (they're gitignored)
# They can be regenerated with mycopunk design export
git commit -m "feat(stickers): add mycelium mandala design"
```
### Branching Strategy
```
main # Production-ready designs
└── dev # Work in progress
└── feature/new-sticker-pack
```
---
## Troubleshooting
### Export Fails
**Problem**: Inkscape export produces error
**Solution**:
1. Check Inkscape is installed: `which inkscape`
2. Verify SVG is valid: open in Inkscape GUI
3. Check file permissions
### Validation Warnings
**Problem**: "Low resolution" warning
**Solution**: Ensure source SVG canvas matches target dimensions at 300 DPI
**Problem**: "No exported PNG found"
**Solution**: Run `mycopunk design export <path>` first
### API Errors
**Problem**: "401 Unauthorized"
**Solution**: Check API keys in `config/.env`
**Problem**: "Invalid SKU"
**Solution**: Sync catalog and verify SKU exists:
```bash
./scripts/sync-catalog.sh prodigi
jq '.products[] | .sku' .cache/catalogs/prodigi-catalog.json | grep -i sticker
```
---
## Quick Reference
| Task | Command |
|------|---------|
| New design | `mycopunk design new <path> --template=<t>` |
| List designs | `mycopunk design list` |
| Export design | `mycopunk design export <path>` |
| Validate design | `mycopunk design validate <path>` |
| Create product | `mycopunk product create <path> --provider=<p>` |
| Push updates | `mycopunk product push <path>` |
| Generate mockups | `mycopunk mockup generate <path>` |
| Batch export | `mycopunk batch export --type=<t>` |