Skip to main content

TDD framework for AI workflows - define agent/skill/command standards in .drift.yaml and validate project structure programmatically

Project description

Drift

PyPI version Python 3.10+

Test-driven development for AI workflows - define your standards, validate your project, iterate to compliance.

What It Does

Drift validates your AI agent projects against custom rules you define. No built-in opinions - you write the rules in .drift.yaml, Drift validates against them.

Quick Example

1. Create .drift.yaml with your rules:

rule_definitions:
  claude_md_exists:
    description: "Project must have CLAUDE.md"
    scope: project_level
    phases:
      - name: check_file
        type: file_exists
        file_path: CLAUDE.md
        failure_message: "CLAUDE.md is missing"

2. Run validation:

drift

3. Fix issues, re-run until green.

That's it. Define standards → validate → fix → iterate.

Installation

uv pip install ai-drift

Common Workflow

# 1. Define your standards in .drift.yaml
# 2. Run validation
drift

# 3. Generate AI prompts to create missing files
drift draft --target-rule skill_validation > prompt.md

# 4. Fix issues manually or with AI
# 5. Re-validate until green
drift

What You Can Validate

Define rules to check:

  • Required files exist (CLAUDE.md, README.md, etc.)
  • Link integrity (no broken file references)
  • YAML frontmatter structure
  • Dependency health (no redundant transitive dependencies)
  • File format compliance (regex patterns)
  • Content quality (with optional LLM-based rules)

Examples: See .drift.yaml in this repo.

Documentation

Development

./test.sh          # Run tests (90%+ coverage required)
./lint.sh          # Run linters
./lint.sh --fix    # Auto-fix formatting

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

ai_drift-0.7.0.tar.gz (102.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_drift-0.7.0-py3-none-any.whl (130.8 kB view details)

Uploaded Python 3

File details

Details for the file ai_drift-0.7.0.tar.gz.

File metadata

  • Download URL: ai_drift-0.7.0.tar.gz
  • Upload date:
  • Size: 102.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for ai_drift-0.7.0.tar.gz
Algorithm Hash digest
SHA256 9a544d4747b20accd93be9b58c85d3f89140c11e583b3f5ab62a851dee5e32f4
MD5 1c78273f1344ea7db47e0eb3033bd189
BLAKE2b-256 600f1943ebacc782e1af59d8a7e24ae2b2de6aadd6a5ee2b32262dd6383a6f13

See more details on using hashes here.

File details

Details for the file ai_drift-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: ai_drift-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 130.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for ai_drift-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0426f6e23657447944846d97afcc70b738c0a822a0e1abd93292cddb816b5ce1
MD5 2e6987fedc75ca315050fe6b968360a9
BLAKE2b-256 feb66d710e69489f6ff094c704a73efb6670dca11c12132dd67864816e4c29bf

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