modulePackage manifestv7.0.5

module.workspace

Workspace discovery and management module

@lssm-tech/module.workspace
Source, release and verification context

Source snapshot bcc79fcc · Declared package version 7.0.5. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.

Package source ↗ Manifest ↗
servernode
EXPLORE THE PACKAGE

See where this package fits.

Follow a declared connection, inspect an import, then open the source guide when you need the detail.

THIS PACKAGEmodule.workspaceplatform

Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.

12 declarations · first 6 shownSELECT TO INSPECT

@lssm-tech/module.workspace

Website: https://contractspec.io

Workspace discovery, static analysis, and graph-building module.

What It Provides

  • Layer: module.
  • Generative Core role: owns pure static analyzers that turn scanned specs, package files, imports/exports, docs, tests, implementation links, and generated outputs into deterministic graph input.
  • Consumers: bundles (contractspec-studio), apps (cli-contractspec, vscode-contractspec).
  • Related ContractSpec packages include @lssm-tech/lib.contracts-integrations, @lssm-tech/lib.contracts-spec, @lssm-tech/lib.schema, @lssm-tech/tool.bun, @lssm-tech/tool.typescript.
  • Related ContractSpec packages include @lssm-tech/lib.contracts-integrations, @lssm-tech/lib.contracts-spec, @lssm-tech/lib.schema, @lssm-tech/tool.bun, @lssm-tech/tool.typescript.

Installation

npm install @lssm-tech/module.workspace

or

bun add @lssm-tech/module.workspace

Usage

Import the root entrypoint from @lssm-tech/module.workspace, or choose a documented subpath when you only need one part of the package surface.

Source scanning, authoring path conventions, structure validation, spec types, and Markdown/DocBlock rendering forward to their canonical implementations in @lssm-tech/lib.cli-runtime/workspace/analysis, /workspace/types, and /workspace/formatters. Existing workspace exports preserve function identity and behavior. Lower runtime consumers can use those CLI runtime leaves directly. Semantic diff, snapshot, impact classification, and static DocBlock extraction use the same compatible forwards.

Static DocBlock extraction (extractModuleDocData, analyzePackageDocBlocks, buildPackageDocManifest) parses through the typescript runtime port of @lssm-tech/lib.cli-runtime. @lssm-tech/bundle.workspace binds it when its root entry is imported and when it creates a CLI program. Other callers bind it first, or the call throws CliRuntimePortError (code: 'missingHostBinding'):

ts
import { bindCliRuntimePorts } from '@lssm-tech/lib.cli-runtime/ports/runtime';
import * as typescript from '@lssm-tech/lib.typescript-runtime';

bindCliRuntimePorts({ typescript });

Self-maintaining APIs

@lssm-tech/module.workspace/maintenance exposes provider-neutral contracts and pure orchestration for source ingestion, cross-language usage analysis, candidate patch planning, approval, CI validation, draft change requests, rollback, leasing, and merged-outcome observation.

The continuous worker is fail-closed: source refs must bind explicit base/head roles, approvals expire, leases fence concurrent workers, validation failure rolls back the candidate branch, and completion requires the repository adapter to observe a merged change request. Infrastructure and GitHub calls remain behind ports and are supplied by a bundle or host application.

GovernedChangeAutomationCoordinator is a separate additive V2 coordinator. It binds the maintenance case, patch receipt, exact base/head revisions, low-risk decision, and passing checks before it can mark a PR ready or schedule native auto-merge. Medium, high, unknown, stale, or failed-check changes remain blocked for human review. The original draft-only lifecycle is unchanged.

Architecture

  • src/ai is part of the package's public or composition surface.
  • src/analysis is part of the package's public or composition surface.
  • src/formatter.ts is part of the package's public or composition surface.
  • src/formatters is part of the package's public or composition surface.
  • src/index.ts is the root public barrel and package entrypoint.
  • src/maintenance owns the provider-neutral self-maintaining API lifecycle.
  • src/templates is part of the package's public or composition surface.
  • src/types is part of the package's public or composition surface.

Generative Core Analyzer Scope

  • Contract graph extraction covers authored operations, events, presentations, forms, workflows, knowledge, policies, integrations, jobs, translations, docs, tests, and generated-artifact refs.
  • Codebase graph extraction covers packages, files, imports, exports, tests, docs, generated targets, implementation links, and confidence diagnostics.
  • Visual scenarios are discovered from defineVisualScenario(...) declarations and the .visual-scenario.ts / visual-scenarios/ conventions.
  • The module stays pure: persistence, Connect policy, CLI rendering, and apply/repair orchestration remain in bundle/app layers.

Public Entry Points

  • Export . resolves through ./src/index.ts.
  • Export ./maintenance resolves through ./src/maintenance/index.ts.

Local Commands

  • bun run dev — contractspec-bun-build dev
  • bun run build — contractspec-bun-build build
  • bun run test — bun test
  • bun run lint — bun lint:fix
  • bun run lint:check — biome check .
  • bun run lint:fix — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
  • bun run typecheck — tsgo --noEmit
  • bun run publish:pkg — bun publish --tolerate-republish --ignore-scripts --verbose
  • bun run publish:pkg:canary — bun publish:pkg --tag canary
  • bun run clean — rimraf dist .turbo
  • bun run build:bundle — contractspec-bun-build transpile
  • bun run build:types — contractspec-bun-build types
  • bun run prebuild — contractspec-bun-build prebuild

Recent Updates

  • Replace eslint+prettier by biomejs to optimize speed.
  • Stability.
  • Add changesets and apply pending fixes.
  • Add ai-native messaging channel runtime.
  • Add the leased, approval-gated, provider-neutral self-maintaining API worker.

Notes

  • Uses ts-morph for AST analysis and compare-versions for semver checks -- version bumps may affect parsing behavior.
  • Workspace detection is file-system-dependent; always use the provided abstractions, never raw fs calls.
  • Changes here affect CLI, VSCode extension, and studio workspace initialization flows.

Data-view structure validation accepts both legacy defineDataView(spec) and translation-bound defineDataView(messages, spec), inspecting the spec argument rather than the translation catalog.

The root build targets Node-compatible server execution (including Bun). It requires filesystem, process, or native compiler facilities and does not advertise a browser export condition. Browser applications should use the relevant browser-safe contracts or UI entry points instead of importing this server root.

Declared capabilities.

Module Workspace

Workspace discovery and management module

Use it to

  • Adopt workspace discovery and management module

Requires

  • TypeScript

Choose another boundary when

  • The @lssm-tech/module.workspace package constraints do not match the target runtime or platform.

@lssm-tech/module.workspace

@lssm-tech/module.workspace/maintenance

Imports and export paths.

2 entries

These are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.

2 imports

Dependencies and related packages.

Runtime dependencies 12
compare-versions
catalog:data
ts-morph
^28.0.0
typescript
catalog:
zod
catalog:
Development dependencies 3
@electric-sql/pglite
catalog:data

Package scripts.

Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.

publish:pkgbun publish --tolerate-republish --ignore-scripts --verbose
publish:pkg:canarybun publish:pkg --tag canary
buildcontractspec-bun-build build
build:bundlecontractspec-bun-build transpile
build:typescontractspec-bun-build types
devcontractspec-bun-build dev
cleanrimraf dist .turbo
lintbun lint:fix
lint:fixnode ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .
lint:checknode ../../../../scripts/biome.cjs check .
testbun test
prebuildcontractspec-bun-build prebuild
typechecktsgo --noEmit
Your view

Make room for your context.

Shape the presentation around this moment. You can change it whenever you need.

Your context

The different parts of you

Choose a starting point

A useful mix of context, visuals and gentle guidance.

Tune each dimension
Each dimension can change independently. Product permissions and available actions stay unchanged.

Support the way you begin and return

Tune your support

Reading comfort

Choose your language

Interface language changes text only. Markets, prices and workflows keep their own settings.

Translation coverage

Original source

Navigation151
Graph616
Categories378
Portfolio833
Examples2,035
Source preview1,542

More translations will be added as content is reviewed.

This preference is saved on this browser.

Search the website

Useful starting points

No results. Try a shorter phrase, an operation name or another search area.

A LITTLE ROOM TO EXPLORE

Find something to explore.

Open a closer look on this page, try a different perspective, or follow the detail into its own page.

How previews and controls work
01

Look before you leave

Hover a link or focus it with Tab to see a preview. Clicking the original link or pressing Enter always opens its destination.

02

Stay with the context

Move into the preview to explore its sections. Use Alt + ↓ from a focused link to enter it with the keyboard. Escape closes it.

03

Open the possibilities

Disclosure rows, perspective choices and highlighted controls reveal more. Your view changes reading comfort and the context you explore.

A separate button for a closer look

Show small preview buttons beside links where there is room. Tap the eye to inspect, or tap the link to go straight there. This choice stays in this tab.

No browsing history is collected. Reduced motion follows your device and Your view.