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.10.tar.gz (146.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.10-py3-none-any.whl (45.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dossier_tools-0.1.10.tar.gz
  • Upload date:
  • Size: 146.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","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.10.tar.gz
Algorithm Hash digest
SHA256 1fecde83ed1e87faa41e68adf71b29ef474b3ff1b26146a3a7249cb4785d1e24
MD5 f9116b32fb6a8a5fcefaa0b0f7d1af55
BLAKE2b-256 9cfa7daff2d497f8e9acffe0c234a327337fbc79fbc4c7310019566cec139f4c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dossier_tools-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 45.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 f404da16d6f6b24b2cb65f19723423b6bd6b35cda1daf132996c71c33401f64a
MD5 875d0e9136c5652ee209e4ab6930cf6e
BLAKE2b-256 cc742214ec17d5e665e93c50bdfa4830ede264e166e1bb4e31ffeb82b863a2fe

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