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.8.tar.gz (132.6 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.8-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dossier_tools-0.1.8.tar.gz
  • Upload date:
  • Size: 132.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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.8.tar.gz
Algorithm Hash digest
SHA256 4540f93d8c6f58d1bcdebf5ecb57047758fcf8028e8e2bc0d9386799b14e413c
MD5 2614c7875e9fbd9f6fb8e419d36703e2
BLAKE2b-256 3913b533546c0ecedf7438b485a2e66ffbf59f274141c41629abcad66e6586d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dossier_tools-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 42.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 8311aaaf8adc75a5fa3abb66b4caa5fe9b17a1625886a80ebf1dfe900392c802
MD5 d05df39673a45c04f3f68840636ca1cc
BLAKE2b-256 bb3e9d549df08b20c2d054efcb5ff18611c38e7d87c76f538a1ee81c68e84cff

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