2026-05-02 18:24:06 +00:00
2023-11-22 20:02:38 +01:00
2026-05-02 18:24:06 +00:00

@signature.digital/tools

Utility and publishing package for the signature.digital contract ecosystem. The main export re-exports @signature.digital/interfaces; the demo-data export publishes a realistic contract fixture for UI demos, rendering tests, and product prototyping.

Use @signature.digital/tools when you want one import surface for the contract model and related signature.digital helper modules.

Issue Reporting and Security

For reporting bugs, issues, or security vulnerabilities, please visit community.foss.global/. This is the central community hub for all issue reporting. Developers who sign and comply with our contribution agreement and go through identification can also get a code.foss.global/ account to submit Pull Requests directly.

Install

pnpm add @signature.digital/tools

Entry Points

Import Description
@signature.digital/tools Re-exports the canonical @signature.digital/interfaces package
@signature.digital/tools/interfaces Explicit compatibility export for consumers importing interfaces through tools
@signature.digital/tools/demodata Demo contract data compiled from ts_demodata/
@signature.digital/demodata Standalone tspublish module for the same demo contract fixture

Quick Start

import {
  createEmptyContract,
  createParagraph,
  createRole,
  type IPortableContract,
} from '@signature.digital/tools';

const contract: IPortableContract = createEmptyContract(
  'Service Agreement',
  'service',
  'service_agreement',
  'user-123'
);

contract.availableRoles.push(
  createRole('provider', 'Provider', 'The party providing services'),
  createRole('client', 'Client', 'The party receiving services')
);

contract.paragraphs.push(
  createParagraph('Scope', 'Provider shall deliver the agreed services.', 'clause', 1)
);

Demo Data

import { demoContract } from '@signature.digital/tools/demodata';

console.log(demoContract.title); // Minijob Employment Contract
console.log(demoContract.metadata.language); // de
console.log(demoContract.metadata.governingLaw.country); // DE
console.log(demoContract.lifecycle.currentStatus); // draft

The demo contract includes company/person parties, German governing law, bilingual paragraph translations, variables with validation metadata, financial terms, time terms, obligations, lifecycle state, audit scaffolding, and signature-ready party structures.

tspublish Modules

Folder Published name Purpose
ts/ @signature.digital/tools Main package module that re-exports @signature.digital/interfaces
ts_demodata/ @signature.digital/demodata Standalone fixture module for demo and test contracts

Package Boundaries

Package Responsibility
@signature.digital/interfaces Canonical TypeScript interfaces and factory defaults
@signature.digital/tools Re-export layer plus publish module wiring
@signature.digital/demodata Realistic fixture contract data
@signature.digital/catalog Lit/dees web components for signature workflows
@signature.digital/app Product app composition and integrations

Development

pnpm install
pnpm run build
pnpm test
pnpm run buildDocs

tsbuild tsfolders builds the main ts/ module and the ts_demodata/ publish module in dependency order.

This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the license file.

Please note: The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.

Trademarks

This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH or third parties, and are not included within the scope of the MIT license granted herein.

Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines or the guidelines of the respective third-party owners, and any usage must be approved in writing. Third-party trademarks used herein are the property of their respective owners and used only in a descriptive manner, e.g. for an implementation of an API or similar.

Company Information

Task Venture Capital GmbH
Registered at District Court Bremen HRB 35230 HB, Germany

For any legal inquiries or further information, please contact us via email at hello@task.vc.

By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.

S
Description
No description provided
Readme 418 KiB
Languages
TypeScript 100%