domus-inventory: Architecture & Schema

Architecture

data/inventory.yml              # Single source of truth
scripts/inventory/
├── inv                         # CLI wrapper
├── inv-report                  # Generate reports
├── inv-qr                      # Generate QR codes
└── inv-insurance               # Insurance export

pages/inventory/
├── index.adoc                  # Summary dashboard
├── by-location.adoc            # Where is everything?
├── by-category.adoc            # Organized by type
└── maintenance-due.adoc        # What needs attention?

Key Features

Feature Description

Insurance-ready

inv report insurance generates claims-ready inventory

Location tracking

Room → zone → box hierarchy for everything

QR codes

Scan label → open inventory entry on phone

Maintenance

inv list --maintenance-due with cron alerts

Depreciation

Straight-line/declining for tax purposes

gopass integration

Receipts, warranties, access codes encrypted

Lifecycle

Purchase → maintain → dispose with full history

Schema Overview

Item Schema

items:
  - id: "ELEC-001"
    name: "Razer Blade 15 Advanced"
    category: "electronics/computers"

    # Acquisition
    acquired_date: "2023-06-15"
    purchase_price: 2499.99
    receipt: "gopass://v3/personal/receipts/razer-blade"

    # Current State
    status: "active"
    condition: "good"
    location:
      type: "room"
      name: "office"
      detail: "desk, left side"

    # Value
    current_value: 1800.00
    depreciation_method: "straight_line"
    useful_life_years: 5

    # Identification
    serial_number: "RZ09-0421..."
    mac_addresses:
      wifi: "98:BB:1E:1F:A7:13"

    # Warranty
    warranty_expires: "2026-06-15"

    # Maintenance
    maintenance_schedule:
      - task: "Clean fans"
        frequency: "6 months"
        next_due: "2026-07-15"

    # Relationships
    accessories: ["ELEC-045", "ELEC-046"]

    # Metadata
    tags: ["work", "primary"]
    qr_code: "INV:ELEC-001"

Category Hierarchy

electronics/
├── computers (desktop, laptop, tablet, server)
├── mobile (phone, watch, earbuds)
├── audio (speakers, headphones, microphones)
├── video (cameras, monitors, projectors)
├── networking (routers, switches, APs)
├── storage (drives, NAS)
└── gaming (consoles, controllers)

furniture/
├── seating (chairs, sofas)
├── tables (desks, dining)
└── storage (shelves, cabinets)

tools/
├── power_tools
├── hand_tools
└── measurement

vehicles/
collections/ (books, music, art)
kitchen/
outdoor/
documents/ (legal, financial, medical, identity)

Location Hierarchy

locations/
├── rooms/
│   ├── office (desk, bookshelf, closet)
│   ├── bedroom (nightstand, closet, dresser)
│   └── garage (workbench, shelves)
├── storage_units/
│   └── extra-space (boxes with IDs)
├── vehicles/
│   └── car-primary (trunk, glovebox)
└── lent/
    └── (person, items, expected return)