project-architecture

Map Core, CLI, and JS Bridges interactions during startup and data flow.

Updated Dec 10, 2025
One-click install
npx skills add https://github.com/novelsaga/NSaga --skill project-architecture-novelsaga
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-architecture
Source: https://github.com/novelsaga/NSaga/tree/main/.opencode/skills/project-architecture
Command: npx skills add https://github.com/novelsaga/NSaga --skill project-architecture-novelsaga

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This architecture guide clarifies how NovelSaga's Core, CLI, and JS Bridges interact, outlining module relationships, data flows, and the initialization sequence to help engineers reason about cross-module behavior and debugging.

Core Features & Use Cases

  • Visualize three-tier architecture: Core (Rust library), CLI (Rust binary), and JS Bridges (TypeScript JSON-RPC services).
  • Understand the initialization order, data flow, and bridge coordination to diagnose startup issues.
  • Use as onboarding material for new engineers to grasp cross-module interactions and runtime boundaries.

Quick Start

Follow the initialization sequence from editor startup to LSP availability to validate the architecture.

Frequently Asked Questions about project-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does the NovelSaga three-tier architecture work during startup?

The NovelSaga architecture maps a three-tier system where a Rust Core library, a Rust CLI binary, and TypeScript JS Bridges interact via JSON-RPC, coordinating module relationships and data flow during system initialization.

What is the initialization sequence for LSP integration in a Rust and TypeScript runtime?

The initialization sequence follows events from editor startup to LSP availability, governing loader creation, feature wiring, lazy bridge spawning, and state initialization across both Rust and TypeScript runtimes.

How do I diagnose startup issues in a cross-module architecture with JS bridges?

You diagnose startup issues by tracing the initialization order and bridge coordination, validating config loading, and checking environment cues that govern the init sequence across the Core, CLI, and JS Bridges.

When do I need lazy bridge spawning for TypeScript JSON-RPC services?

You need lazy bridge spawning when the initialization sequence requires deferring TypeScript JSON-RPC service creation until specific environment cues or feature wiring events trigger their use in the runtime.

Does the NovelSaga Core library support config loading and state initialization directly?

Yes, the Rust Core library manages config loading and state initialization, establishing the foundational data flow and module relationships required before the CLI and JS Bridges coordinate their interactions.