# Mycopunk Swag - AI Assistant Context ## Project Overview This repository manages mycopunk merchandise (stickers, shirts, patches) with automated print-on-demand fulfillment. The workflow is CLI-driven, using open-source tools (Inkscape, GIMP, ImageMagick) for design work and API integrations with Printful and Prodigi for fulfillment. ## Key Concepts ### Design Structure Each design lives in its own directory under `designs/{category}/{slug}/`: - `{slug}.svg` - Source vector file - `metadata.yaml` - Product configuration and metadata - `exports/` - Generated output files (don't edit manually) ### POD Providers - **Printful** - Primary for apparel (t-shirts, hoodies) - **Prodigi** - Primary for stickers and art prints ### CLI Tool Located in `cli/`, installed with `pip install -e .` Main entry point: `mycopunk` command ## File Locations | What | Where | |------|-------| | Design sources | `designs/{stickers,shirts,misc}/` | | Product templates | `templates/{printful,prodigi}/` | | CLI source | `cli/mycopunk/` | | Configuration | `config/` | | API credentials | `config/.env` (gitignored) | ## Common Tasks ### Creating a New Design ```bash mycopunk design new stickers/design-name --template=sticker-3x3 # Then edit designs/stickers/design-name/design-name.svg in Inkscape ``` ### Exporting Designs ```bash # Export single design mycopunk design export stickers/design-name # Batch export all stickers mycopunk batch export --type=sticker ``` ### POD Operations ```bash # Always test in sandbox first mycopunk product create stickers/design-name --provider=prodigi --sandbox # Push to production mycopunk product push stickers/design-name --provider=prodigi ``` ## Design Requirements Quick Reference | Product | Dimensions | Pixels @ 300 DPI | |---------|-----------|------------------| | T-shirt front | 12" × 16" | 3600 × 4800 | | Sticker 3×3" | 3" × 3" | 900 × 900 | | Sticker 6×6" | 6" × 6" | 1800 × 1800 | | Art print 8×10 | 8" × 10" | 2400 × 3000 | ## Metadata.yaml Structure ```yaml name: "Design Name" slug: design-name description: "What this design represents" tags: [mycelium, punk, nature] created: 2025-01-24 author: jeff source: file: design-name.svg format: svg dimensions: { width: 4800, height: 4800 } dpi: 300 color_profile: sRGB products: - type: sticker provider: prodigi sku: STICKER-VINYL-KISS-3X3 variants: [matte, gloss] retail_price: 3.50 status: active # draft, active, retired ``` ## API Configuration Credentials stored in `config/.env` (never commit): ```bash PRINTFUL_API_TOKEN=xxx PRODIGI_API_KEY_SANDBOX=xxx PRODIGI_API_KEY_LIVE=xxx ``` ## Development Workflow 1. Work on `dev` branch for new features 2. Test CLI changes with `pip install -e .` 3. Run `mycopunk design validate` before committing 4. Push to Gitea, auto-mirrors to GitHub 5. Merge to `main` when verified working ## Important Notes - Always validate designs before pushing to POD services - Use `--sandbox` flag when testing POD integrations - Exports are gitignored - regenerate with `mycopunk design export` - Mockups require POD API access (not available offline) ## Links - [Printful API Docs](https://developers.printful.com/docs/) - [Prodigi API Docs](https://www.prodigi.com/print-api/docs/) - [Inkscape CLI Reference](https://wiki.inkscape.org/wiki/Using_the_Command_Line)