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.9.tar.gz (140.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.9-py3-none-any.whl (44.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dossier_tools-0.1.9.tar.gz
  • Upload date:
  • Size: 140.1 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.9.tar.gz
Algorithm Hash digest
SHA256 c2394b469b0b8016bfffc260ebf903b073a2ed6cb950ccb1ac0f1957f9aca544
MD5 6e0f443be8e1bbad848a59934216f62c
BLAKE2b-256 3330c7b8170a658c248fc33627c03fbcab8d2c149319ca0e654f4be685170c65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dossier_tools-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 44.0 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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 930eeb005b761ca6c615df3a3d7851957b73324d426a67c78f914127d4a4bcfd
MD5 59eefd912d1e888bfa1a5fe74e56d6a4
BLAKE2b-256 ace3bb07aa80377bf8ca53d4ed4a4c959f453036a5993b9055e8de5e1bc412c3

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