This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
NebulaStore is a .NET 9.0 class library that ports Eclipse Store functionality to .NET Core. It provides ultra-fast object graph persistence without object-relational mapping overhead.
This project ports the following core modules from the Eclipse Store Java repository:
- storage/embedded - Core embedded storage engine with object graph persistence
- storage/embedded-configuration - Configuration system for storage settings
- storage/storage - Core storage types, interfaces, and connection management
The .NET implementation maintains the same module structure and design patterns as the original Eclipse Store Java code.
Note: .NET SDK is installed at ~/.dotnet - ensure this is in your PATH by running export PATH="$PATH:$HOME/.dotnet" before using dotnet commands.
dotnet build- Build the entire solutiondotnet test- Run all unit testsdotnet restore- Restore NuGet packages
NebulaStore.sln # Solution file
src/
NebulaStore.Core/ # Core class library
NebulaStore.Core.csproj # Project file
ObjectStore.cs # Core object persistence engine
tests/
NebulaStore.Core.Tests/ # Unit tests
NebulaStore.Core.Tests.csproj
ObjectStoreTests.cs # Basic ObjectStore functionality tests
ObjectStoreLazyQueryTests.cs # Lazy query traversal tests
NebulaStore follows the Eclipse Store module structure:
- storage/ - Main storage module (mirrors Eclipse Store)
- embedded/ - Embedded storage submodule
- src/ - Core embedded storage implementation
- tests/ - Comprehensive test suite
- NebulaStore.Storage.Embedded.csproj - Project file
- embedded-configuration/ - Configuration module (mirrors Eclipse Store)
- src/ - Configuration classes and interfaces
- NebulaStore.Storage.EmbeddedConfiguration.csproj - Project file
- storage/ - Core storage types module (mirrors Eclipse Store)
- src/types/ - Storage interfaces and implementations
- NebulaStore.Storage.csproj - Project file
- embedded/ - Embedded storage submodule
- Dependencies: MessagePack for binary serialization
- EmbeddedStorage: Static factory class for creating storage managers
- IEmbeddedStorageManager: Main interface for storage operations
- EmbeddedStorageFoundation: Builder pattern for configuration
- IEmbeddedStorageConfiguration: Configuration system
- Type Handlers: Pluggable serialization system
- Storage Connections: Connection management and lifecycle
EmbeddedStorage: Static factory class (storage/embedded/src/EmbeddedStorage.cs)IEmbeddedStorageManager: Main storage interface (storage/embedded/src/IEmbeddedStorageManager.cs)EmbeddedStorageFoundation: Configuration builder (storage/embedded/src/EmbeddedStorageFoundation.cs)IEmbeddedStorageConfiguration: Configuration interface (storage/embedded/src/IEmbeddedStorageConfiguration.cs)ITypeHandler: Type serialization interface (storage/embedded/src/IEmbeddedStorageFoundation.cs)MessagePackTypeHandler: Built-in type handlers (storage/embedded/src/TypeHandlers/MessagePackTypeHandler.cs)