Skip to content
@spm-ecosystem

spm-ecosystem

A data-driven web modernization platform to reconstruct legacy web interfaces using React 18 + Shadow DOM.

SPM Logo

Documentation Portal

Site Package Manager (SPM) Ecosystem

Welcome to the Site Package Manager (SPM) official home. SPM is an open-source, data-driven web modernization platform that enables developers to reconstruct legacy web interfaces using modern UI stacks (React 18 + Shadow DOM) without modifying the original host website's source code.


🌐 Official Documentation Portal

Explore our interactive documentation, Veneer Spec syntax manuals, and live React UI component explorer: 👉 https://spm-ecosystem.github.io/spm-portal/


🗺️ Ecosystem Directory

The SPM ecosystem is split into 6 core decoupled repositories:

Repository Purpose Primary Tech
spm-portal Official unified documentation portal and live component explorer website. React 19, Tailwind CSS, Vite
site-package-manager The Chrome extension core loading layout manifests, injecting DOM interceptors, and mounting React components inside isolated Shadow DOM hosts. TypeScript, React, Vite
spm-cli C++ developer toolchain compiling Veneer Spec (.vnr) design configurations, validating variables, and hosting real-time WebSocket hot-reload servers. C++17, WebSockets
spm-vscode Official VS Code extension providing autocompletion, hover documentation, syntax styling, and schema verification for .vnr scripts. TypeScript, VS Code API
spm-websites The GitOps Theme registry storing layout configurations, style overrides, and .vnr templates with automated edge deployment pipelines. Veneer Spec, CSS
spm-components Reusable React UI component library containing visual primitives and dedicated layout templates. React 18, CSS

🔄 Development & Publishing Workflow

The diagram below outlines how the compiler, extension, registry, and edge CDN work together during development and production:

sequenceDiagram
    autonumber
    actor Developer
    participant Local Workspace
    participant VS Code (spm-vscode)
    participant Dev Server (spm-cli)
    participant Chrome Extension (site-pkg-mgr)
    participant GitHub (spm-websites)
    participant Worker (Edge CDN)

    VS Code (spm-vscode)->>Local Workspace: IntelliSense & Linter Check
    Developer->>Local Workspace: Writes Veneer Spec (.vnr)
    Developer->>Dev Server (spm-cli): Starts watcher (spm dev)
    Dev Server (spm-cli)->>Chrome Extension (site-pkg-mgr): Broadcasts Sync Payloads (WebSockets)
    Chrome Extension (site-pkg-mgr)->>Developer: Real-time visual Hot-Reload
    
    Developer->>Local Workspace: Git Commit (Auto-compiles manifest)
    Developer->>GitHub (spm-websites): Open Pull Request with .vnr & manifest.json
    Note over GitHub (spm-websites): Code Review & Merge to main
    GitHub (spm-websites)->>Worker (Edge CDN): CI/CD Deploy (Filters out .vnr, uploads compiled outputs only)
    Worker (Edge CDN)->>Chrome Extension (site-pkg-mgr): Delivers production layouts to end-users
Loading

🧭 Contribution Standards

We welcome contributions across all parts of the ecosystem! To ensure consistency, code quality, and security, all contributors must align with the following standards:

  1. Language: All code comments, error logs, documentation manuals, and commit messages must be written in English.
  2. Commit Styling: Commits must follow the Conventional Commits specification (e.g., feat:, fix:, docs:, refactor:, chore:).
  3. Strict Type Safety: All TypeScript code must pass strict checks (no implicit any, no unused local variables).
  4. No Regressions: All modifications must pass their respective unit test suites before being merged (npm run test or C++ binary assertions).
  5. Agnostic Documentation: Never use real website names (such as Safebooru or Google) in examples. Keep all layout references generic (e.g. example-site.com).
  6. MIT License: All projects are licensed under the MIT License. Contributions are automatically licensed under the same terms.

Getting Started with Contributions

For detailed setups and step-by-step guides on how to contribute to different parts of the ecosystem, check the Contribution Guide in site-package-manager.

Popular repositories Loading

  1. spm-cli spm-cli Public

    High-performance C++ CLI compiler, watcher, WebSocket dev server, and utility for Site Package Manager (SPM) theme layouts.

    C++ 2

  2. site-package-manager site-package-manager Public

    Chrome MV3 extension that modernizes legacy web interfaces with React + Shadow DOM, driven by declarative JSON theme files. Includes a Visual Sandbox IDE and WebSocket hot-reload dev server.

    TypeScript 1

  3. spm-websites spm-websites Public

    GitOps theme registry and repository containing website modernization packages and Veneer layouts for the Site Package Manager (SPM).

    CSS 1

  4. spm-components spm-components Public

    Shared React 18 UI components, primitives, and layout templates for the Site Package Manager (SPM) modernization engine.

    TypeScript 1

  5. spm-vscode spm-vscode Public

    Official VS Code developer tools extension for the Site Package Manager (SPM) layout ecosystem, providing autocomplete and linter diagnostics.

    JavaScript 1

  6. .github .github Public

Repositories

Showing 8 of 8 repositories

Top languages

Loading…

Most used topics

Loading…