124 lines
3.3 KiB
Markdown
124 lines
3.3 KiB
Markdown
# 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)
|