constellation-analyzer/CLAUDE.md
Jan-Henrik Bruhn f56f928dcf Initial commit
2025-10-10 11:15:51 +02:00

54 lines
2 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
Constellation Analyzer is a React-based visual editor for creating and analyzing Constellation Analyses. A Constellation Analysis examines actors (nodes) and their relationships (edges) to each other, resulting in an interactive graph visualization.
## Core Concepts
### Actors (Nodes)
- Represent entities in the analysis
- Support multiple configurable node types
- Each node type can have distinct visual properties and behaviors
### Relations (Edges)
- Connect actors to show relationships
- Support multiple definable edge types
- Edge types can represent different relationship categories
### Graph Editor
- Interactive visual canvas for creating and editing constellation graphs
- Drag-and-drop interface for node manipulation
- Visual edge creation between nodes
- Real-time graph updates
## Project Status
This is a new project. The codebase structure needs to be established including:
- React application scaffolding
- Graph visualization library integration
- State management setup
- Component architecture
- Data model definitions
## Architecture Decisions Needed
When implementing this project, consider:
1. **Graph Visualization Library**: Choose between React Flow, vis.js, Cytoscape.js, or similar
2. **State Management**: Redux, Zustand, Jotai, or React Context
3. **Build Tool**: Vite, Create React App, or Next.js
4. **Styling**: CSS Modules, Styled Components, Tailwind CSS, or plain CSS
5. **TypeScript**: Strongly recommended for type-safe node/edge definitions
6. **Data Persistence**: Local storage, backend API, or file export/import
## Development Workflow
Since this is a new project, the initial setup should include:
- Initialize React application with chosen build tool
- Install graph visualization dependencies
- Set up project structure (components, hooks, utils, types)
- Configure linting and formatting tools
- Establish data models for nodes, edges, and graph state