mycopunk-swag/CLAUDE.md

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