Skip to content

Contributor data schema and sync pipeline #22

@PipFoweraker

Description

@PipFoweraker

Overview

Create a contributor data management system that syncs approved contributors from Airtable CRM to pdoom1 game repository.

Data Schema

contributors.json

{
  "version": "1.0",
  "last_updated": "2025-01-10T12:00:00Z",
  "contributors": [
    {
      "id": "uuid-v4",
      "name": "Contributor Display Name",
      "cat_name": "Office Cat Name",
      "cat_image_base": "contributor_uuid",
      "contribution_types": ["bug_report", "feature_request", "playtesting"],
      "date_added": "2025-01-10",
      "total_contributions": 5
    }
  ]
}

Cat Image Assets

  • Directory structure: cats/contributor_uuid/
  • 5 variants per contributor:
    • happy.png (0-20% doom)
    • concerned.png (21-40% doom)
    • worried.png (41-60% doom)
    • distressed.png (61-80% doom)
    • corrupted.png (81-100% doom)
  • Image specs: 256x256px, PNG with transparency
  • Style: Consistent with game art style, "doom-ifies" as meter increases

Sync Pipeline

Airtable → pdoom-data

  1. Manual trigger or scheduled workflow (GitHub Actions)
  2. Fetch approved contributors from Airtable API
  3. Process cat images (see Cat Processing Pipeline below)
  4. Update contributors.json
  5. Commit and push to pdoom-data repository

pdoom-data → pdoom1

  1. pdoom1 CI/CD watches pdoom-data for updates
  2. On new commit: Download contributors.json and cat images
  3. Place in pdoom1: data/contributors.json and assets/cats/
  4. Auto-commit to pdoom1 if changes detected

Cat Processing Pipeline

Phase 1 (MVP): Manual Processing

  • Contributor uploads photo
  • Admin manually creates 5 doom variants using GPT or image editor
  • Upload to pdoom-data repository

Phase 2 (Future): Automated Processing

  • Python script: tools/process_cat_image.py
  • Input: Contributor photo
  • AI processing (GPT Vision, Stable Diffusion, or custom model):
    • Extract subject, remove background
    • Generate 5 progressive "doom" variants
    • Ensure consistent style with game art
  • Output: 5 PNG files in correct directory

Validation

Schema Validation

  • JSON schema validation on commit
  • Required fields check
  • UUID format validation
  • Image file existence check

CI/CD Integration

  • Automated validation on PR
  • Preview deployed contributors before merge
  • Changelog generation for new contributors

Related

  • pdoom-website: Airtable CRM system (source of truth)
  • pdoom1: Contributor manager (consumer of data)

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions