Files
astrolabe-nvc/CLAUDE.md
Oleh Omelchenko 615c2d7f98 Add Dataset Manager functionality with IndexedDB support
- Introduced a new modal for managing datasets, including options to create, view, and delete datasets.
- Implemented IndexedDB for persistent storage of datasets, allowing for efficient data retrieval and management.
- Added UI components for dataset details, including statistics and preview.
- Enhanced the app's JavaScript to handle dataset operations such as saving, updating, and deleting datasets.
- Integrated dataset reference resolution in the visualization editor to support dynamic data sources.
- Updated styles for the new modal and dataset management UI for improved user experience.
2025-10-13 18:17:09 +03:00

1.5 KiB

CLAUDE.md

Instructions for Claude Code when working on this project.

Project Overview

Astrolabe is a lightweight, browser-based snippet manager for Vega-Lite visualizations. Pure vanilla JavaScript, no build tools, retro Windows 2000 aesthetic.

Architecture

  • Frontend-only: HTML/CSS/JavaScript with CDN dependencies (Monaco Editor, Vega-Embed)
  • Storage:
    • Snippets: localStorage with Phase 0 schema (id, name, created, modified, spec, draftSpec, comment, tags, datasetRefs, meta)
    • Datasets: IndexedDB (unlimited size, multi-format: JSON/CSV/TSV/TopoJSON, inline & URL sources)
  • Structure: Three resizable panels (snippet library, Monaco editor, live preview) + Dataset Manager modal
  • No build tools: Open index.html directly in browser (needs local server for IndexedDB)

Current Status

Completed: Phases 0-10 (Core functionality + Dataset Management) Next: Phase 11 - Advanced Dataset Features (optional enhancements)

Key Features Implemented

  • Snippet management with draft/published workflow
  • Multi-field sorting and real-time search
  • Storage monitoring and import/export
  • Dataset management with IndexedDB
    • Multi-format support (JSON, CSV, TSV, TopoJSON)
    • Multi-source support (inline data, URL references)
    • Automatic metadata calculation and URL fetching
    • Dataset reference resolution in Vega-Lite specs
    • Modal UI with button-group selectors

See docs/dev-plan.md for complete roadmap and technical details.