# @lssm-tech/example.workflow-system Website: https://contractspec.io **Workflow and approval system example for ContractSpec - State machine with role-based transitions.** ## What This Demonstrates - **Rich Landing Screen**: Product introduction explaining workflow orchestration concepts, demo path, and navigation. - **Navigation Rail**: Clear sidebar navigation between Overview, Templates, Instances, Approvals, and Analytics. - **State Machine Pattern**: Workflow transitions with defined states and allowed transitions. - **Approval Flow**: Role-based access control for approval decisions. - **Multi-Entity Domain**: Workflow definitions, instances, steps, and approvals. - **React UI**: WorkflowDashboard with templates, instances, and visualizations. - **Contract-Backed Visualizations**: Status, throughput, and workload analysis. - **Demo Scenarios**: Expense Approval, Vendor Onboarding, and Policy Exception workflows with sample data. ## Canonical Demo Path 1. **Landing Screen** - Start on the product introduction explaining workflow orchestration. 2. **Navigation** - Use the sidebar rail to explore Templates, Instances, and Approvals. 3. **Templates** - View workflow definitions (Expense Approval, Vendor Onboarding, Policy Exception). 4. **Instances** - See running workflows with their current states. 5. **Approvals** - Review pending approvals and role-based access. 6. **Analytics** - View throughput metrics and workload analysis. ### New Features - **LandingScreen**: Product-style introduction with value proposition and demo path. - **WorkflowSystemPreviewV2**: Enhanced preview with sidebar navigation. - **WorkflowNav**: Navigation rail for moving between workflow sections. - **Demo Scenarios**: Three complete workflow examples with sample instances. ## Running Locally From `packages/examples/workflow-system`: - `bun run dev` - `bun run build` - `bun run test` - `bun run typecheck` ## Usage Use `@lssm-tech/example.workflow-system` as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles. ## Architecture - `src/approval` is part of the package's public or composition surface. - `src/docs/` contains docblocks and documentation-facing exports. - `src/entities/` contains domain entities and value objects. - `src/example.ts` is the runnable example entrypoint. - `src/handlers/` contains handlers or demo adapters wired to contract surfaces. - `src/index.ts` is the root public barrel and package entrypoint. - `src/instance` is part of the package's public or composition surface. ## Public Entry Points - Export `.` resolves through `./src/index.ts`. - Export `./approval` resolves through `./src/approval/index.ts`. - Export `./approval/approval.enum` resolves through `./src/approval/approval.enum.ts`. - Export `./approval/approval.event` resolves through `./src/approval/approval.event.ts`. - Export `./approval/approval.handler` resolves through `./src/approval/approval.handler.ts`. - Export `./approval/approval.operations` resolves through `./src/approval/approval.operations.ts`. - Export `./approval/approval.schema` resolves through `./src/approval/approval.schema.ts`. - Export `./docs` resolves through `./src/docs/index.ts`. - Export `./docs/workflow-system.docblock` resolves through `./src/docs/workflow-system.docblock.ts`. - Export `./entities` resolves through `./src/entities/index.ts`. - The package publishes 44 total export subpaths; keep docs aligned with `package.json`. ## Local Commands - `bun run dev` — contractspec-bun-build dev - `bun run build` — bun run prebuild && bun run build:bundle && bun run build:types - `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 - `bun run test` — bun test ## Recent Updates - **UI Improvements**: Added LandingScreen, WorkflowNav, and WorkflowSystemPreviewV2 with enhanced navigation. - **Demo Scenarios**: Complete workflow examples with Expense Approval, Vendor Onboarding, and Policy Exception. - Replace eslint+prettier by biomejs to optimize speed. ## Notes - Works alongside `@lssm-tech/lib.contracts-spec`, `@lssm-tech/lib.design-system`, `@lssm-tech/lib.example-shared-ui`, `@lssm-tech/lib.runtime-sandbox`, `@lssm-tech/lib.schema`, ...