Skip to main content

Frontmatter schema, signing, and validation tools for .ds.md workflow files

Project description

dossier-tools

Validation, signing, and verification tools for .ds.md files.

A .ds.md file is a markdown document with structured YAML frontmatter containing metadata like title, version, checksum, and cryptographic signature. This package provides tools to validate the frontmatter schema, verify content integrity via SHA256 checksums, and sign/verify files using Ed25519.

---
schema_version: "1.0.0"
title: Deploy to Production
version: "1.0.0"
status: stable
objective: Deploy application to production with validation
authors:
  - name: Alice
checksum:
  algorithm: sha256
  hash: a3b5c8d9...
signature:
  algorithm: ed25519
  public_key: RWT...
  signed_by: alice@example.com
---

# Deploy to Production

Your markdown content here...

Installation

pip install dossier-tools

Or with uv:

uv add dossier-tools

Quick Start

# Initialize and generate keys
dossier init
dossier generate-keys

# Create a dossier from markdown
dossier create workflow.md --title "My Workflow" --objective "Do something" --author "you@example.com"

# Validate, sign, and verify
dossier validate workflow.ds.md
dossier sign workflow.ds.md --signed-by "you@example.com"
dossier verify workflow.ds.md

Registry

Browse and download dossiers from the public registry:

# List available dossiers
dossier list

# Get metadata for a dossier
dossier get myorg/deploy

# Download a dossier
dossier pull myorg/deploy

Publish your own dossiers (requires GitHub authentication):

dossier login
dossier publish workflow.ds.md

Environment Variables

Variable Description Default
DOSSIER_REGISTRY_URL Registry API URL https://dossier-registry-mvp.vercel.app
DOSSIER_SIGNING_KEY Default signing key name default
DOSSIER_LOG_LEVEL Log level (DEBUG, INFO, WARNING, ERROR) WARNING

Documentation

See docs/ for detailed documentation:

Development

# Clone and setup
git clone https://github.com/tal-liberio/dossier-tools.git
cd dossier-tools
make setup    # Install dependencies with uv

# Run tests
make test

# Format code
make format

# Check formatting and lint
make check

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dossier_tools-0.1.1.tar.gz (101.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dossier_tools-0.1.1-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

Details for the file dossier_tools-0.1.1.tar.gz.

File metadata

  • Download URL: dossier_tools-0.1.1.tar.gz
  • Upload date:
  • Size: 101.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.15

File hashes

Hashes for dossier_tools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d99835e81f4b6c97b34f73279ed52a52bda972f2dd1acde782a8dccd425b3c2b
MD5 4656a14ba1e3b48f19f9fac17f5e907a
BLAKE2b-256 3c8e700aaa553ef1b27cef33b58a8b9b703c74ae449e5a4c5afe153c5851cf2b

See more details on using hashes here.

File details

Details for the file dossier_tools-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dossier_tools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47750aa170cffe79d8cc277b651c43fe9a67d8662a1b4f5f04408774f20a2177
MD5 5505a73c6291743c077e77b0affdd669
BLAKE2b-256 12dd2b98a733d529c14815af05ee408c2ab109a0d8c2587d2a857d0d430010d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page