Files
hypit/docs/guide/develop.md
T
rpone 92a6c2af89 docs: rewrite quickstart and develop guides, split site themes
Replace the obsolete v1 quickstart and monolithic develop page with a
concise quickstart and eight focused guides, in English and Chinese.

Give the home page and the documentation different themes. The home page
keeps the branded always-dark editorial design with no appearance toggle;
documentation pages use the stock VitePress theme with light/dark support.
Everything branded is scoped to `html.home-page`, set before first paint by
the inline script in config.ts and kept in sync by theme/Layout.vue, because
`html` and `body` sit outside the theme's `.Layout` root.

Exclude docs/README.md and docs/implementation-status.md from the site: they
index repository files and link to ../spec, ../packages and ../services, which
resolve when browsing the repository but have no route on the published site.
This restores `vitepress build` with dead-link checking enabled.
2026-08-08 02:50:56 +08:00

2.9 KiB
Raw Blame History

title, description
title description
Development Guide Getting started with Narratage development.

Development Guide

Prerequisites

Tool Version Required for
Node.js 22+ everything
pnpm 9+ workspace management
Python 3.10–3.13 WhisperX and OpenCV sidecar services
uv latest Python environment management
ffmpeg / ffprobe recent stable media processing
Chrome / Chromium recent stable HyperFrames rendering

Node.js and pnpm are the only hard requirements. The rest are needed only for live Builds.

Daily workflow

pnpm install          # after pulling or changing dependencies
pnpm check            # TypeScript type-check: v1 + v2
pnpm test             # full test suite: v1 + v2
Command What it runs
pnpm check:v1 tsc -p tsconfig.json --noEmit — retained v1 research oracle
pnpm check:v2 tsc -p tsconfig.v2.json --noEmit — all v2 workspace packages
pnpm test:v1 node --import tsx --test 'test/**/*.test.ts'
pnpm test:v2 node --import tsx --test 'packages/*/test/**/*.test.ts' 'tools/*.test.mjs'

See Testing for environment-gated tests and test patterns.

Repository layout

svml/
├── packages/              64 v2 workspace packages (the active system)
├── spec/                  7 normative specification documents
├── docs/                  VitePress documentation site
├── examples/              v2 examples and v1 regression fixtures
├── services/              Python sidecar services (whisperx, image-opencv)
├── src/                   v1 legacy source (regression evidence only)
├── stdlib/                v1 kernel definitions and runtime
├── test/                  v1 test suite
├── tools/                 boundary tests and build scripts
├── package.json           root workspace manifest
├── pnpm-workspace.yaml    workspace: [packages/*]
├── tsconfig.json          v1 TypeScript config
└── tsconfig.v2.json       v2 TypeScript config

src/, stdlib/ and test/ are the v1 research oracle, retained as regression evidence. They are not the v2 API.

Guide contents

Guide Topic
Package architecture The four layers, dependency rules, package anatomy, facets
Adding an author package Step-by-step: new component, Surface, activation
Adding a Provider Step-by-step: new Endpoint adapter
Runtime Profile JSON and TypeScript configuration, diagnostics, Build archive
Local services WhisperX and OpenCV sidecar setup
Testing Test runner, patterns, examples, boundary tests
Conventions Naming, module boundaries, wire data, TypeScript config