Skip to main content

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

Project description

dossier-tools

CLI and library for validating, signing, and running Dossier workflow files (.ds.md).

What is a Dossier?

A Dossier is a markdown file with structured frontmatter that AI agents can execute. Think of it as a recipe for automation—clear instructions that LLMs like Claude Code can follow intelligently.

Why use Dossiers instead of scripts?

  • Adaptive: LLMs understand context and handle edge cases naturally
  • Portable: Same dossier works across different projects and environments
  • Verifiable: Built-in checksums and signatures ensure integrity
  • Human-readable: Plain markdown that anyone can read and modify
---
schema_version: "1.0.0"
title: Setup Development Environment
version: "1.0.0"
status: stable
objective: Configure dev environment with proper tooling
authors:
  - name: Alice
checksum:
  algorithm: sha256
  hash: a3b5c8d9...
---

# Setup Development Environment

## Objective
Configure a development environment with linting, testing, and git hooks.

## Steps
1. Detect project type (Node.js, Python, etc.)
2. Install appropriate dev dependencies
3. Configure pre-commit hooks
4. Verify setup works

## Validation
- All linters pass
- Tests run successfully
- Git hooks are installed

📖 Learn more: What is a Dossier?

Installation

pip install dossier-tools

Or with uv:

uv add dossier-tools

Quick Start

Run a Dossier from the Registry

# Run a workflow (starts interactive Claude Code session)
dossier run myorg/setup-dev

# Preview without executing
dossier run myorg/setup-dev --print-only

Note: Currently only Claude Code is supported as an execution agent.

Create a New Dossier

# Create with AI assistance (interactive)
dossier new

# Or from an existing markdown file
dossier from-file workflow.md \
  --name "my-workflow" \
  --title "My Workflow" \
  --objective "Automate something useful" \
  --author "you"

Sign and Verify

# Initialize and generate signing keys
dossier init
dossier generate-keys

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

Registry

Browse and download dossiers from the public registry:

# List available dossiers
dossier list

# Get metadata
dossier get myorg/deploy

# Download locally
dossier pull myorg/deploy

Publish your own (requires GitHub authentication):

dossier login
dossier publish workflow.ds.md --namespace myorg/tools

Commands

Command Description
new Create a new dossier with AI assistance
run Pull and execute a dossier with Claude Code
from-file Create a dossier from an existing markdown file
validate Validate frontmatter schema
checksum Verify or update checksum
sign Sign a dossier
verify Verify checksum and signature
list List dossiers from the registry
pull Download a dossier
get Get dossier metadata
publish Publish to the registry
login / logout Manage authentication

Environment Variables

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

Documentation

Development

git clone https://github.com/liberioai/dossier-tools.git
cd dossier-tools
make setup    # Install dependencies
make test     # Run tests
make format   # Format code

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.5.tar.gz (108.2 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.5-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dossier_tools-0.1.5.tar.gz
  • Upload date:
  • Size: 108.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dossier_tools-0.1.5.tar.gz
Algorithm Hash digest
SHA256 0ddf320668328e117206764fcb8b4c47d35f698740969767d1fdd28ee40e4aa7
MD5 c8f2a0f2515cd5e9456be7f7dba0faa0
BLAKE2b-256 9a693c0dd698ad71b579d014510f9f08a925d7be6807dd7da81e0a7916368118

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dossier_tools-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dossier_tools-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1eff87c45cc80e9c7421fae628231b4a42de27c2cbb553450d207174283797f6
MD5 39be69a3ffb9eb12a41f0e22c532c72d
BLAKE2b-256 3d21e1663af31f37536254794d26a2988bb83b1f06f6e146fb990d84771f6c0a

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