An open API service indexing awesome lists of open source software.

https://github.com/supernovae-st/novanet

๐Ÿชฝ NovaNet โ€” Native content generation engine powered by Neo4j knowledge graphs (Turborepo monorepo)
https://github.com/supernovae-st/novanet

ai content-generation knowledge-graph localization mcp neo4j nextjs ratatui rust tui turborepo typescript

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# ๐Ÿชฝ NovaNet

**Native content generation engine powered by Neo4j knowledge graphs**

> **Status: Active Development** โ€” NovaNet is the knowledge layer of the [SuperNovae](https://github.com/supernovae-st) ecosystem. Currently in stabilization while [Nika](https://github.com/supernovae-st/nika) (the runtime) prepares for its open source launch. v0.21.0 stable, 2,215 tests passing.

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

[![CI](https://img.shields.io/github/actions/workflow/status/supernovae-st/novanet/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/supernovae-st/novanet/actions)
[![Tests](https://img.shields.io/badge/tests-2215_passing-success?style=flat-square)](https://github.com/supernovae-st/novanet)
[![Rust](https://img.shields.io/badge/Rust-1.86-DEA584?style=flat-square&logo=rust&logoColor=white)](https://rust-lang.org)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?style=flat-square&logo=typescript&logoColor=white)](https://typescriptlang.org)
[![Neo4j](https://img.shields.io/badge/Neo4j-5.26-018bff?style=flat-square&logo=neo4j&logoColor=white)](https://neo4j.com)
[![Turborepo](https://img.shields.io/badge/Turborepo-2.8-EF4444?style=flat-square&logo=turborepo&logoColor=white)](https://turbo.build)
[![pnpm](https://img.shields.io/badge/pnpm-9-F69220?style=flat-square&logo=pnpm&logoColor=white)](https://pnpm.io)
[![Node](https://img.shields.io/badge/Node-โ‰ฅ20-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org)

---

> **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

```mermaid
%%{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
```

---

## Quick Start

**Prerequisites**

![Node.js](https://img.shields.io/badge/Node.js-โ‰ฅ20-339933?style=flat-square&logo=node.js&logoColor=white)
![pnpm](https://img.shields.io/badge/pnpm-โ‰ฅ9-F69220?style=flat-square&logo=pnpm&logoColor=white)
![Docker](https://img.shields.io/badge/Docker-Required-2496ED?style=flat-square&logo=docker&logoColor=white)

```bash
# 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](http://localhost:3000) โ€” Neo4j Browser at [http://localhost:7474](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)

```bash
# 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

```bash
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`](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](https://modelcontextprotocol.io):

| 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](https://img.shields.io/badge/React-19-61DAFB?style=flat-square&logo=react&logoColor=white)
![Next.js](https://img.shields.io/badge/Next.js-16-000000?style=flat-square&logo=next.js&logoColor=white)
![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?style=flat-square&logo=typescript&logoColor=white)
![Tailwind](https://img.shields.io/badge/Tailwind-3.4-06B6D4?style=flat-square&logo=tailwindcss&logoColor=white)

**Data**

![Neo4j](https://img.shields.io/badge/Neo4j-5.26-018bff?style=flat-square&logo=neo4j&logoColor=white)
![Zustand](https://img.shields.io/badge/Zustand-5-764ABC?style=flat-square)
![Zod](https://img.shields.io/badge/Zod-3.24-3E67B1?style=flat-square)

**Tools**

![Turborepo](https://img.shields.io/badge/Turborepo-2.8-EF4444?style=flat-square&logo=turborepo&logoColor=white)
![pnpm](https://img.shields.io/badge/pnpm-9-F69220?style=flat-square&logo=pnpm&logoColor=white)
![Docker](https://img.shields.io/badge/Docker-Compose-2496ED?style=flat-square&logo=docker&logoColor=white)

---

## Environment Variables

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

```bash
# Required
NEO4J_PASSWORD=novanetpassword

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

---

## Target Application

NovaNet powers **[QR Code AI](https://qrcode-ai.com)** โ€” 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](https://github.com/supernovae-st). All rights reserved.

---

**[SuperNovae Studio](https://github.com/supernovae-st)**