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.0.tar.gz (84.4 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.0-py3-none-any.whl (28.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for dossier_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 530469bdc32cf5f18f651b6829e74dab99efb8163d0d61fe7d2715c3335121c3
MD5 a2888d7207d9eb7a0bad9449474da811
BLAKE2b-256 99a1fc498ad2cdf333cb50ce1e278ada2dcf12e114021cb99bcf2695b8297095

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dossier_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba309d7e8b7d8e0a8224bc08e0a39bd851919047b98043126ef6db2338578124
MD5 f2994a350cd41f172e0ca88dd6fb36ef
BLAKE2b-256 33940ce04fd3adb0fc8b6a3fcf8a56251288564c4321191d927e29cdd50b1fd3

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