Skip to content

supernovae-st/novanet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2,273 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿชฝ NovaNet

Native content generation engine powered by Neo4j knowledge graphs

Generate culturally-native content across 200+ locales โ€” not translation, but true localization from semantic concepts.

CI Tests Rust TypeScript Neo4j Turborepo pnpm Node


Generation, NOT Translation

Source โ†’ Translate โ†’ Target                           โŒ Traditional
Entity (defined) โ†’ Generate natively โ†’ EntityNative โœ… NovaNet

Content is generated natively per locale from defined semantic entities, not translated from a source language. Each locale gets culturally-native content, preserving local nuances that translation would lose.


Features

Knowledge Graph 200+ Locales Graph Studio AI-Powered
47 node types, 153 arcs Native generation per locale Interactive 2D visualization Claude API for natural language queries
Neo4j with APOC Locale knowledge layer React Flow + ELK.js layouts Cypher generation from text

Architecture

%%{init: {'theme': 'base', 'themeVariables': {
  'primaryColor': '#6366f1',
  'primaryTextColor': '#fff',
  'primaryBorderColor': '#4f46e5',
  'lineColor': '#94a3b8',
  'secondaryColor': '#06b6d4',
  'tertiaryColor': '#f8fafc'
}}}%%
flowchart TB
    subgraph MONO["NovaNet Monorepo"]
        direction TB
        CORE["@novanet/core v0.24.0\nTypes ยท Schemas ยท Filters"]
        DB["@novanet/db v0.24.0\nDocker ยท Seeds ยท Migrations"]
        STUDIO["@novanet/studio v0.24.0\nNext.js 16 ยท React 19"]
        RUST["novanet CLI v0.24.0\nRust ยท 30 commands ยท TUI"]
    end

    CORE --> STUDIO
    RUST -.->|reads YAML| CORE
    RUST -.->|generates| DB

    NEO4J[("Neo4j 5.26\n~120,000 nodes")]
    DB -.-> NEO4J
    STUDIO --> NEO4J
    RUST --> NEO4J

    style CORE fill:#06b6d4,stroke:#0891b2,color:#fff
    style DB fill:#10b981,stroke:#059669,color:#fff
    style STUDIO fill:#8b5cf6,stroke:#7c3aed,color:#fff
    style RUST fill:#DEA584,stroke:#B7410E,color:#fff
    style NEO4J fill:#018bff,stroke:#0284c7,color:#fff
Loading

Quick Start

Prerequisites

Node.js pnpm Docker

# 1. Clone the repository
git clone git@github.com:supernovae-st/supernovae-agi.git
cd supernovae-agi/novanet

# 2. Install dependencies
pnpm install

# 3. Start Neo4j
pnpm infra:up

# 4. Seed the database
pnpm infra:seed

# 5. Start development server
pnpm dev

Open http://localhost:3000 โ€” Neo4j Browser at http://localhost:7474


Monorepo Structure

novanet/
โ”œโ”€โ”€ turbo.json                 # Turborepo pipeline config
โ”œโ”€โ”€ pnpm-workspace.yaml        # Workspace definitions
โ”œโ”€โ”€ packages/
โ”‚   โ”œโ”€โ”€ core/                  # @novanet/core โ€” types, schemas, filters
โ”‚   โ”‚   โ”œโ”€โ”€ models/            # YAML schema definitions (source of truth)
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ taxonomy.yaml  # 2 realms (shared 4 + org 5), 9 layers
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ node-classes/    # node definitions by realm/layer
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ arc-classes/     # arc definitions by family
โ”‚   โ”‚   โ”œโ”€โ”€ data/              # YAML data files (1,269 โ€” single source of truth)
โ”‚   โ”‚   โ””โ”€โ”€ src/               # TypeScript implementation
โ”‚   โ””โ”€โ”€ db/                    # @novanet/db โ€” Neo4j infrastructure
โ”‚       โ”œโ”€โ”€ docker-compose.yml # Neo4j 5.26 + APOC
โ”‚       โ”œโ”€โ”€ seed/              # Cypher seed scripts
โ”‚       โ””โ”€โ”€ seed.sh            # Seed runner
โ”œโ”€โ”€ tools/
โ”‚   โ”œโ”€โ”€ novanet/               # Rust CLI + TUI binary
โ”‚   โ”‚   โ”œโ”€โ”€ src/               # Rust source (30 commands, 19 generators)
โ”‚   โ”‚   โ””โ”€โ”€ Cargo.toml         # 2,215 tests passing, zero clippy warnings
โ”‚   โ””โ”€โ”€ novanet-mcp/           # MCP Server (7 tools)
โ””โ”€โ”€ apps/
    โ””โ”€โ”€ studio/                # @novanet/studio โ€” web visualization
        โ”œโ”€โ”€ src/app/           # Next.js App Router
        โ”œโ”€โ”€ src/components/    # React components
        โ”œโ”€โ”€ src/stores/        # Zustand state management
        โ””โ”€โ”€ src/lib/           # Utilities

Packages

Package Version Description
@novanet/core 0.24.0 Types, Zod schemas, NovaNetFilter API, Cypher generators
@novanet/db 0.24.0 Docker Compose for Neo4j, Cypher seeds, migrations
@novanet/studio 0.24.0 Interactive graph visualization with AI chat
tools/novanet 0.24.0 Rust CLI + TUI for schema generation, validation, queries
tools/novanet-mcp 0.24.0 MCP Server for AI agent integration (7 tools)

Commands

Development

Command Description
pnpm dev Start Studio dev server
pnpm build Build all packages
pnpm lint Lint all packages
pnpm type-check TypeScript type checking
pnpm test Run all tests

Infrastructure

Command Description
pnpm infra:up Start Neo4j container
pnpm infra:down Stop Neo4j container
pnpm infra:seed Seed database with initial data
pnpm infra:reset Reset database (down + up + seed)

Rust CLI (tools/novanet)

# Schema operations (YAML โ†’ Cypher/TS/Mermaid)
cargo run -- schema generate        # Regenerate all artifacts
cargo run -- schema validate        # Validate YAML coherence

# Navigation
cargo run -- blueprint              # Schema-graph visualization
cargo run -- doctor                 # System health check

# Seed pipeline (YAML-first data management)
cargo run -- seed export            # Parse Cypher seeds โ†’ YAML data files
cargo run -- seed generate-data     # Generate Cypher from YAML data
cargo run -- seed validate          # Validate YAML data files (CI gate)
cargo run -- seed diff              # Compare YAML data with Neo4j
cargo run -- seed scaffold          # Scaffold pages, blocks, instructions for entities

# Data management
cargo run -- data backup            # Save Neo4j data to YAML
cargo run -- data status            # Compare backup vs live
cargo run -- data promote           # Promote runtime nodes to seed
cargo run -- data pull              # Pull Neo4j native content to YAML data

# Interactive TUI
cargo run -- tui                    # Galaxy-themed terminal UI

Turborepo Filters

pnpm build --filter=@novanet/core        # Build only core
pnpm test --filter=@novanet/studio       # Test only studio
pnpm build --filter=...[HEAD^1]          # Build changed packages

Neo4j Access

Browser:  http://localhost:7474
Bolt:     bolt://localhost:7687
User:     neo4j
Password: (see NEO4J_PASSWORD env var)

Graph Schema

NovaNet models content as a knowledge graph with 2 Realms and 9 Layers (v0.24.0):

Realm Layers Description
Shared config, locale, geography, knowledge Universal definitions + locale knowledge (READ-ONLY) โ€” 33 nodes
Org foundation, structure, semantic, instruction, output Organization-specific content โ€” 14 nodes

Arcs are classified by 6 ArcFamilies: ownership, localization, semantic, generation, mining, schema.

See packages/core/models/taxonomy.yaml for complete schema.


TUI (Terminal UI)

NovaNet TUI is an interactive terminal explorer for the knowledge graph:

โ•ญโ”€ โ— Data โ”‚ Org โ†’ Foundation โ†’ Entity (12) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎโ•ญโ”€ Identity โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ–ถ Node Classes (47)                                    โ”‚โ—‰โ”‚  โ”‚ โ—‡ Entity        โ”‚
โ”‚   โ”œโ”€โ–ถ โ—‰ Shared (33)                                   โ”‚ โ”‚  โ”‚ realm: org      โ”‚
โ”‚   โ”‚  โ”œโ”€โ–ถ โš™ config (2)                                 โ”‚โ—‰โ”‚  โ”‚ layer: found.   โ”‚
โ”‚   โ”‚  โ”œโ”€โ–ถ ๐ŸŒ locale (3)                                โ”‚ โ”‚  โ”‚                 โ”‚
โ”‚   โ”‚  โ”œโ”€โ–ถ ๐Ÿ—บ geography (7)                              โ”‚โ—‰โ”‚  โ”‚ โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฑโ–ฑ 80%โ”‚
โ”‚   โ”‚  โ””โ”€โ–ถ ๐Ÿง  knowledge (21)                            โ”‚ โ”‚  โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ”‚   โ””โ”€โ–ถ โ—Ž Org (14)                                      โ”‚โ—Žโ”‚  โ•ญโ”€ Properties โ”€โ”€โ”€โ”€โ•ฎ
โ”‚      โ”œโ”€โ–ถ ๐Ÿ› foundation (6)                             โ”‚ โ”‚  โ”‚ key    qr-code  โ”‚
โ”‚      โ”‚  โ”œโ”€ Entity (12)                                 โ”‚ โ”‚  โ”‚ name   QR Code  โ”‚
โ”‚      โ”‚  โ”‚  > qr-code ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฑโ–ฑ  โ”‚ โ”‚  โ”‚ desc   Quick... โ”‚
โ”‚      โ”‚  โ”‚    barcode ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท โ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฐโ–ฑโ–ฑโ–ฑโ–ฑ  โ”‚ โ”‚  โ”‚ slug   qr-code  โ”‚
โ”‚      โ”‚  โ”‚    nfc-tag ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท โ–ฐโ–ฐโ–ฐโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑโ–ฑ  โ”‚ โ”‚  โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏโ•ฐโ•ฏ

Galaxy-themed terminal UI with 40+ keybindings, fuzzy search, and live Neo4j data

  • Viewport culling โ€” Only renders visible lines (O(1) per frame)
  • 5 render caches โ€” Zero-allocation idle frames
  • Fuzzy search โ€” nucleo-powered smart-case matching
  • Panel zoom โ€” z maximizes any panel to full screen
  • YAML preview โ€” Syntax-highlighted schema definitions
  • Atom tree โ€” Browse knowledge atoms (Expression, Pattern, CultureRef) per class
  • Keyword tree โ€” SEOKeyword locale/intent grouping with load-more

MCP Server (AI Agent Integration)

7 tools for AI agents to interact with the knowledge graph via Model Context Protocol:

Tool Purpose
novanet_describe Bootstrap โ€” first contact with graph
novanet_search Find nodes + graph walk (4 modes)
novanet_introspect Schema info (classes, arcs)
novanet_context LLM context assembly (page/block/knowledge)
novanet_write Mutations (dry_run=true to validate first)
novanet_audit Quality checks + CSR metrics
novanet_batch Parallel operations

Studio Features

NovaNet Studio is a web-based graph visualization tool:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  NovaNet Studio                                          โŒ˜K  โŒ˜J  ?  N  F   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ โ”Œโ”€ Filters โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€ Graph View โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€ Details โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚ โ”‚ Realm          โ”‚  โ”‚                                  โ”‚  โ”‚ Page         โ”‚ โ”‚
โ”‚ โ”‚ โ˜‘ Shared       โ”‚  โ”‚      [Locale]โ”€โ”€โ”                 โ”‚  โ”‚ key: home    โ”‚ โ”‚
โ”‚ โ”‚ โ˜‘ Org          โ”‚  โ”‚          โ”‚     โ–ผ                 โ”‚  โ”‚ realm: org   โ”‚ โ”‚
โ”‚ โ”‚                โ”‚  โ”‚   [Project]โ”€โ”€[Page]โ”€โ”€[Block]     โ”‚  โ”‚ layer: struc โ”‚ โ”‚
โ”‚ โ”‚                โ”‚  โ”‚          โ”‚     โ”‚                 โ”‚  โ”‚              โ”‚ โ”‚
โ”‚ โ”‚ Layer          โ”‚  โ”‚          โ–ผ     โ–ผ                 โ”‚  โ”‚ Relations:   โ”‚ โ”‚
โ”‚ โ”‚ โ˜‘ Foundation   โ”‚  โ”‚   [Entity]โ”€โ”€[EntityNative]       โ”‚  โ”‚ โ†’ 3 blocks   โ”‚ โ”‚
โ”‚ โ”‚ โ˜‘ Structure    โ”‚  โ”‚          โ”‚                       โ”‚  โ”‚ โ†’ 1 project  โ”‚ โ”‚
โ”‚ โ”‚ โ˜‘ Semantic     โ”‚  โ”‚          โ–ผ                       โ”‚  โ”‚              โ”‚ โ”‚
โ”‚ โ”‚ ...            โ”‚  โ”‚   [BlockNative]                  โ”‚  โ”‚ [Copy JSON]  โ”‚ โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  Mode: Graph  โ”‚  47 nodes  โ”‚  153 arcs  โ”‚  Zoom: 100%  โ”‚  Locale: fr-FR โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Interactive 2D graph visualization with AI-powered queries (โŒ˜J)

  • Graph Mode โ€” Unified tree exploration with [1] key
  • 9 Filter Presets โ€” Quick views via 1-8, 0 keys
  • AI Chat โ€” Natural language to Cypher with โŒ˜J
  • 40+ Keyboard Shortcuts โ€” Full keyboard navigation
  • DX-First โ€” Every property is copyable (JSON/TS/YAML)

Tech Stack

Runtime

React Next.js TypeScript Tailwind

Data

Neo4j Zustand Zod

Tools

Turborepo pnpm Docker


Environment Variables

Copy .env.example to .env.local in apps/studio/:

# Required
NEO4J_PASSWORD=novanetpassword

# Optional (for AI features)
ANTHROPIC_API_KEY=sk-ant-xxx

Target Application

NovaNet powers QR Code AI โ€” generating native content across 200+ locales for the world's most advanced QR code platform.


License

This project is proprietary software owned by SuperNovae Studio. All rights reserved.


About

๐Ÿชฝ NovaNet โ€” Native content generation engine powered by Neo4j knowledge graphs (Turborepo monorepo)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors