Package: ai-repository

All packages Open in Cursor /Users/friedrichstr/ai-mac-studio/pdai/format/ai-repository
Status
Description: This package contains all necessary templates, scripts, and documentation for migrating Edition Topoi research data collections to a modern Next.js web application, along with a unified SQLAlchemy dat
Port: —
Venv: no venv
Git: not a git repo
File tree
ai-repository/
  db/
    mcp_server/
    migrations/
    models/
    repositories/
    __init__.py
    central.db
  docs/
    CHECKLIST.md
    MIGRATION_GUIDE.md
  schemas/
    unified_schema.ts
  scripts/
    import_acdc.py
    import_bdpp.py
    import_bsdp.py
    import_bsyp.py
    import_bwcp.py
    import_clmn.py
    import_cops.py
    import_mapd.py
    import_pind.py
    import_repository.py
    init_database.py
    transform_bwcp_example.py
    transform_template.py
  styles/
    collection.css
    filter.css
    fonts.css
    menu.css
    perfect-scrollbar.css
    theme.css
  templates/
    components/
    loader.ts
    types.ts
  README.md
Register Info
Status: dormant
Components: docs_folder
Documentation
Documentation
README

Edition Topoi Repository Migration Package

This package contains all necessary templates, scripts, and documentation for migrating Edition Topoi research data collections to a modern Next.js web application, along with a unified SQLAlchemy database system for cross-repository queries.

Package Contents

ai-repository/
├── README.md                          # This file
├── docs/
│   ├── MIGRATION_GUIDE.md             # Comprehensive migration documentation
│   └── CHECKLIST.md                   # Step-by-step migration checklist
├── db/
│   ├── __init__.py                    # Database configuration
│   ├── central.db                     # Unified catalog database
│   ├── repositories/                  # Per-repository databases
│   │   ├── BWCP.db, BSDP.db, etc.
│   ├── models/                        # SQLAlchemy models
│   │   ├── core.py                    # Central catalog models
│   │   ├── bwcp.py, bsdp.py, etc.     # Repository-specific models
│   └── mcp_server/                    # MCP server for AI queries
│       ├── server.py                  # Query endpoints
│       └── tools/                     # Tool descriptors
├── schemas/
│   └── unified_schema.ts              # TypeScript type definitions
├── scripts/
│   ├── init_database.py               # Initialize all databases
│   ├── import_repository.py           # Base importer class
│   ├── import_bwcp.py                 # BWCP-specific importer
│   ├── import_bsdp.py                 # BSDP-specific importer
│   ├── import_clmn.py                 # CLMN-specific importer
│   ├── import_bsyp.py                 # BSYP-specific importer
│   ├── import_mapd.py                 # MAPD-specific importer
│   ├── import_bdpp.py                 # BDPP-specific importer
│   ├── import_cops.py                 # COPS-specific importer
│   ├── import_acdc.py                 # ACDC-specific importer
│   ├── import_pind.py                 # PIND-specific importer
│   ├── transform_template.py          # Generic transformation script template
│   └── transform_bwcp_example.py      # Working example (BWCP collection)
├── styles/
│   ├── collection.css                 # Collection layout and hero image
│   ├── filter.css                     # Filter sidebar and result grid
│   ├── theme.css                      # Overall theme colors
│   ├── menu.css                       # Navigation menu styles
│   ├── fonts.css                      # Font definitions
│   └── perfect-scrollbar.css          # Scrollbar styling
└── templates/
    ├── types.ts                       # Data type definitions
    ├── loader.ts                      # Data loading utilities
    └── components/
        ├── ObjectCard.tsx             # Grid item card component
        ├── SearchResults.tsx          # Search results container
        └── Pagination.tsx             # Pagination controls

Quick Start

1. Analyze Source Data

# Locate your collection
ls /Volumes/Repository/Topoi/repositories/{COLLECTION_CODE}/

2. Create Transformation Script

cp scripts/transform_template.py scripts/transform_{code}.py
# Edit the script to configure paths and field mappings

3. Run Transformation

python3 scripts/transform_{code}.py

4. Copy Resources

mkdir -p public/{CODE}
cp -R /Volumes/Repository/.../Service{CODE}/ public/{CODE}/Service{CODE}/
cp -R /Volumes/Repository/.../Repos{CODE}/ public/{CODE}/Repos{CODE}/

5. Update Configuration

  • Edit src/lib/data/collectionConfig.ts
  • Update hero image path in src/styles/css/collection.css

Supported Collections

This migration pattern has been successfully applied to 9 repositories with 4,668 research objects:

Collection Code Objects Description
Berlin Waterclock Project BWCP 47 Ancient water clocks and timekeeping devices
Berlin Sundial Project BSDP 724 Ancient sundials collection
Column Monuments CLMN 123 Ancient column monuments
Ancient Steelyards BSYP 400 Roman steelyards and weighing devices
Medieval Diagrams MAPD 669 Medieval astronomical planetary diagrams
Digital Pantheon BDPP 1,038 Complete 3D scans of the Rome Pantheon
Copernicus Heliograph COPS 6 Copernicus' heliograph panel at Olsztyn Castle
Construction Drawings ACDC 56 Ancient Greek construction drawings
Rock Paintings Indonesia PIND 1,605 Indonesian prehistoric rock art

Key Concepts

Unified Schema

All collections use a unified data schema that standardizes: - Object identification (obj_id) - Filter keys for faceted search - Thumbnail references - Metadata organization - Resource grouping

Resource Structure

public/{CODE}/
├── Service{CODE}/           # Web-ready thumbnails
│   ├── {SIGNATURE}/         # Resource group folder
│   │   ├── image_tiny.jpg   # Grid thumbnail (58x58)
│   │   └── image_small.jpg  # Preview size
│   └── Images/
│       └── {CODE}.jpg       # Hero image
└── Repos{CODE}/             # Full-resolution files
    └── {SIGNATURE}/
        └── image.jpg        # Original file

URL Patterns

  • Thumbnail: /{CODE}/Service{CODE}/{signature}/{name}_tiny.jpg
  • Preview: /{CODE}/Service{CODE}/{signature}/{name}_small.jpg
  • Full: /{CODE}/Repos{CODE}/{signature}/{name}.jpg

Database System

The package includes a unified SQLAlchemy database system:

Initialize Databases

cd /Users/friedrichstr/inqua2026/ai-repository
python3 scripts/init_database.py --reset  # Create all databases

Import Repository Data

python3 scripts/import_bwcp.py             # With file enumeration
python3 scripts/import_bsdp.py --skip-files  # Skip file enumeration for speed
python3 scripts/import_mapd.py --skip-files
# ... etc for each repository

Query via MCP Server

python3 db/mcp_server/server.py --stats                    # Statistics
python3 db/mcp_server/server.py --search "sundial"         # Full-text search
python3 db/mcp_server/server.py --object 1                 # Get object by ID

Database Structure

  • Central Catalog (db/central.db): Unified view of all objects
  • Repository DBs (db/repositories/*.db): Full domain-specific data

Documentation

  • MIGRATION_GUIDE.md - Full migration documentation
  • CHECKLIST.md - Step-by-step checklist
  • unified_schema.ts - TypeScript type definitions
  • db/models/ - SQLAlchemy model definitions

Requirements

  • Python 3.8+ (for transformation scripts and database)
  • SQLAlchemy 2.0+ (pip install sqlalchemy)
  • Node.js 18+ (for Next.js application)
  • Access to source repository data at /Volumes/Repository/Topoi/repositories/

License

This migration package is part of the Edition Topoi project infrastructure.

Recent commits
No git history.