Skip to content

Latest commit

 

History

History
73 lines (62 loc) · 2.64 KB

workspace-structure.md

File metadata and controls

73 lines (62 loc) · 2.64 KB

Workspace Structure

This document captures the current FlowScope monorepo layout and the build organization used today.

Directory Layout

flowscope/
├── .github/
│   └── workflows/
│       ├── ci.yml
│       └── publish-core.yml
├── app/                          # Demo Vite app
├── crates/                       # Rust workspace
│   ├── flowscope-core/           # Core lineage engine
│   ├── flowscope-wasm/           # WASM bindings
│   ├── flowscope-cli/            # CLI
│   └── flowscope-export/         # Export helpers
├── packages/                     # NPM workspace
│   ├── core/                     # @pondpilot/flowscope-core
│   └── react/                    # Private @pondpilot/flowscope-react workspace
├── vscode/                       # VS Code extension
│   └── webview-ui/               # Webview frontend
├── docs/                         # Documentation
├── scripts/                      # Build + tooling scripts
│   ├── build-rust.sh
│   ├── update_api_schema.cjs
│   ├── generate_ts_api_types.mjs
│   ├── test_wasm_browser.mjs
│   ├── generate_test_coverage.sh
│   └── check_schema_sync.sh
├── justfile                      # Task runner entry point
├── Cargo.toml                    # Rust workspace manifest
├── package.json                  # Yarn workspace root
├── tsconfig.base.json            # Shared TS config
├── README.md                     # Project overview
└── CONTRIBUTING.md               # Contributor guide

Build Entry Points

The project uses just as the task runner. Key targets:

  • just build (build WASM + TS packages)
  • just build-rust (Rust workspace)
  • just build-wasm (WASM via scripts/build-rust.sh)
  • just build-ts (TypeScript packages)
  • just dev (demo app dev server)
  • just test (Rust + TS tests)
  • just check-schema (Rust snapshot + generated TS declarations + compatibility tests)
  • just test-wasm-browser (real built WASM in headless Chromium)

See justfile for the full command list.

Package Relationships

flowscope-core (Rust)
    ↓
flowscope-wasm (Rust)
    ↓ (WASM artifacts)
@pondpilot/flowscope-core (TS)
    ↓
@pondpilot/flowscope-react (TS)
    ↓
app/ and vscode/webview-ui

Notes

  • The demo app has a Vitest suite. The VS Code webview currently defines no tests.
  • The Rust API snapshot lives in docs/api_schema.json; just update-schema also regenerates packages/core/src/generated/api-types.ts, and just check-schema verifies both artifacts.