Reactory Data -- Agent Context
Reactory Data (`reactory-data`) is the data, assets, and CDN repository for the Reactory platform. It provides baseline directory structures, fonts, themes, internationalization files, client plugin source code and runtime bundles, email templates, workflow schedules, database backups, AI learning resources, and static content.
Reactory Data -- Agent Context
What Is This Project
Reactory Data (reactory-data) is the data, assets, and CDN repository for the Reactory platform. It provides baseline directory structures, fonts, themes, internationalization files, client plugin source code and runtime bundles, email templates, workflow schedules, database backups, AI learning resources, and static content.
This is not a typical application project. There is no root-level package.json and no application code at the root level. The Reactory server and client applications reference this directory at runtime via the $REACTORY_DATA and $REACTORY_PLUGINS environment variables.
Directory Structure
reactory-data/
builds/ # Uploaded build artifacts (gitignored)
content/ # Static HTML content served by StaticContent component
database/ # Database backup scripts and dumps
backups/ # Backup files
pg17_backup.sh # PostgreSQL 17 backup script
fonts/ # ~257 font files (TTF, OTF, FON, TTC)
# Used for server-side document generation (PDF, Excel)
forms/ # Form-related assets (images for form definitions)
images/
guideai/ # AI-powered learning/tutoring data
booktutor/
library/ # Book catalog, search index, books in Markdown
learning-paths/ # Learning path definitions
progress/ # Student progress tracking
resources/ # Educational resources
i18n/ # Internationalization translation files
en/ # English translations
en-US/ # US English translations
af/ # Afrikaans translations
imports/ # Import/data staging area
logging/ # Server log output (hourly JSON.gz files)
nginx/ # Nginx configuration placeholder
organization/ # Organization-specific data
plugins/ # CLIENT PLUGINS -- key workspace area (see below)
__runtime__/ # Runtime-compiled widget bundles
artifacts/ # Published core package tarballs (.tgz)
available.json # Plugin registry of installable plugins
graphiql/ # Embedded GraphiQL IDE
libs/ # Shared libraries (Three.js distribution)
reactory-client-core/ # Core client plugin (React components, Rollup)
reactor-client/ # Reactor-specific client plugin
reactor-system-navigator/ # 3D WebGL game/visualizer (Three.js, standalone app)
profiles/ # User avatars and AI persona data
default/ # Default avatar (default.png)
reactory/ # Reactory bot avatar
reactor/
personas/ # 16 AI persona directories with avatars
macros/ # Macro definitions
projects/ # Project definitions
tools/ # Tool definitions
templates/ # Template files
email/
defaults/
activation/ # Account activation email templates (.ejs)
forgot/ # Password reset email templates (.ejs)
shell/ # Shell script templates
themes/ # Application themes
reactory/ # Default theme (images/, styles.css, asciilogo.txt)
booktutor/ # BookTutor theme
socialeyes/ # SocialEyes theme
zepz/ # Zepz theme
tmp/ # Temporary files
wordnet/ # WordNet dictionary data for NLP features
dict/ # Full WordNet lexical database
workflows/ # Workflow definitions and schedules
catalog/ # Versioned workflow definitions by namespace
schedules/ # YAML cron schedule definitions
assets/ # Workflow assets
config/ # Workflow configuration
www/ # Web-served static files
Plugin Architecture
Overview
The plugins/ directory is the most complex area. It contains independently buildable TypeScript/React plugin projects and the runtime compilation workspace.
Plugin Naming Conventions
- Plugin FQN:
{namespace}.{PluginName}@{version}(e.g.,client-core.RReactoryClientCore@1.0.0) - Runtime widget source files:
source_{namespace}.{WidgetName}@{version}.tsx - Runtime widget compiled bundles:
rollup.{namespace}.{WidgetName}@{version}.js - Component registration:
reactory.registerComponent(nameSpace, name, version, component)
Plugin Projects
-
plugins/__runtime__/-- Runtime widget compilation workspace- Package:
@reactory/runtime-plugins - Build: Rollup + Babel + TypeScript
- Must run
npm installbefore the server can compile widgets - Contains source
.tsxand compiled.jsbundles
- Package:
-
plugins/reactory-client-core/-- Core client plugin (has its own.git)- Package:
@reactory/client-core-plugin - Build: Rollup (
rollup.config.cjs), outputs tolib/reactory.client.core.js - Components: Authentication, Develop, Froala, Organization, ReactoryClient, TemplateEditors, User
- Package:
-
plugins/reactor-client/-- Reactor-specific client plugin- Custom components in
src/components/
- Custom components in
-
plugins/reactor-system-navigator/-- Standalone 3D game/visualizer (has its own.git)- Package:
reactor-system-navigator - Tech: Three.js, TypeScript, Express, Jest, Inversify
- ESM module, runs with
node server.js
- Package:
-
plugins/artifacts/-- Published core package tarballs- Contains versioned
.tgzfiles of@reactorynet/reactory-core
- Contains versioned
Plugin Build System
Each plugin has its own package.json, tsconfig.json, and rollup.config.cjs:
- Build tool: Rollup with Babel + TypeScript
- Output format: UMD
- React 17.0.2 as peer dependency
- MUI v5-v6 for UI components
- TypeScript target: ES2017-ES2018, module ESNext, JSX preserve
- Node version: 20.19.4 (
.nvmrc)
Internationalization (i18n)
- Locales:
en,en-US,af(Afrikaans) - File format: JSON, one file per namespace per locale
- Namespace files:
reactory.json,common.json,forms.json,reactor.json,booktutor.json,zepz-engineer.json,socialeyes.json,zepz.json - Key format:
{namespace}.{context}.{key}(e.g.,reactory.menu.documentation,support-ticket.model.status.new) - Git tracking: Only
*/reactory.jsonfiles are tracked; others are gitignored
Workflow Schedules
YAML files in workflows/schedules/ define cron-based workflow execution:
id: "unique-id"
name: "Schedule Name"
description: "What this schedule does"
workflow:
id: "workflow-id"
version: "1.0.0"
nameSpace: "namespace"
schedule:
cron: "0 */1 * * *"
timezone: "UTC"
enabled: true
properties: {}
retry: { maxAttempts: 3, delay: 5000 }
timeout: 300000
maxConcurrent: 1
Workflow reference format: {namespace}.{WorkflowName}@{version}
Theme Structure
Each theme directory contains:
images/-- Theme-specific images (logos, backgrounds)styles.css-- Theme-specific CSS- The
reactorytheme also includesasciilogo.txt
Email Templates
- Located in
templates/email/defaults/ - Use EJS templating (
.ejsfiles) - Organized by function:
activation/(account activation),forgot/(password reset)
Conventions
- No application logic at the root level -- this is a data store
- Organize assets by type in the correct subdirectory
- Use readme files to describe folder contents
- Use
.gitignoreto exclude large, generated, or runtime files - Reference assets from other projects using
$REACTORY_DATAand$REACTORY_PLUGINS - Sub-projects in
plugins/have their own.gitrepositories
Environment Variables
REACTORY_DATA # Path to this directory
REACTORY_PLUGINS # Path to this directory's plugins/ subdirectory
Git Tracking Notes
Most runtime and generated content is excluded from git. What IS tracked:
- Directory structure placeholders (readme files)
- i18n
reactory.jsonfiles (other namespace translations are gitignored) - Default profiles and organizations
- Plugin source code
- Theme files, font files, email templates
- Workflow schedules and catalog definitions
Related Documents
Design Document: BharatSeva AI
BharatSeva AI is a multi-agent orchestration system built on AWS using Amazon Bedrock Agents with Claude 3.5 Sonnet as the foundation model. The system deploys 10 AI agents (1 Master Orchestrator + 9 Specialist Agents) to assist India's informal sector workers in navigating government schemes across three domains: PM Vishwakarma (artisan credit), PMFBY (crop insurance), and BOCW (construction worker welfare).
OpenClaw Enterprise Transformation Plan
Transform OpenClaw from a single-user personal AI assistant into a **dual-mode platform** that is simultaneously:
Qwen Image and Edit: Open-sourcing and Local GGUF Generations with Lightning
Daniel Sandner, for article on https://sandner.art/
Qwen3-TTS — Model Reference
Models: `Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice` and `Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice`