A component-based system defined through JSON Schema specifications with content-addressed storage.
spec/ # Component definitions
src/ # MCP server and validation tools
Makefile # Build and maintenance commands
The system contains validated components including:
hologram- Root componenthologram.component- Component model definitionhologram.spec- Specification schemahologram.interface- Interface conformancehologram.docs- Documentation conformancehologram.test- Test conformancehologram.manager- Lifecycle management conformancehologram.dependency- Dependency declarationshologram.build- Build instructionshologram.log- Logging interfacehologram.create- Create operationhologram.read- Read operationhologram.update- Update operationhologram.validate- Validation operationhologram.index- Index structure
Each component includes:
- spec - Component specification
- interface - Interface definition
- docs - Documentation
- test - Test specifications
- manager - Lifecycle management
- dependency - Dependency declarations
- build - Build instructions
- log - Logging configuration
- index - File mappings
make build # Build TypeScript
make test # Run tests
make validate # Validate all componentsmake gc # Analyze spec/ for orphaned files
make gc-clean # Remove orphaned files
make clean-artifacts # Clear .artifacts staging areaStart the server manually:
make mcp # Start MCP server
make mcp-validate # Validate via MCPAdd to Claude Code:
# From project root
claude mcp add hologram "node" "src/dist/mcp-server.js"
# Or with full path
claude mcp add hologram "node" "/workspaces/Hologram/src/dist/mcp-server.js"The Model Context Protocol server provides these tools:
Core Operations:
validate- Validate componentsread- Read component filescreate- Create new componentsupdate- Update existing componentsdelete- Delete components
Artifact Management:
submitArtifact- Submit artifact for validationsubmitManifest- Create component from artifacts
Discovery:
listComponents- Show all components and statusgetComponentModel- Get component requirementsgetSchema- Get specific schemagetComponentExample- Get example structuresdiscover- Discover available schemas
All files use content-addressed storage with SHA256 hashes:
namespace.index.json- Component indexnamespace.hash.json- Content files
- Node.js 22+
- TypeScript 5+