Observed since 21 Oct, 10:34 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
TDD framework for AI workflows - define agent/skill/command standards in .drift.yaml and validate project structure programmatically
Test-driven development for AI workflows - define your standards, validate your project, iterate to compliance.
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.
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:
uvx --from ai-drift drift
3. Fix issues, re-run until green.
That's it. Define standards → validate → fix → iterate.
Run directly with uv (no installation needed):
uvx --from ai-drift drift
Or install with uv:
uv pip install ai-drift
# 1. Define your standards in .drift.yaml
# 2. Run validation
uvx --from ai-drift drift
# 3. Generate AI prompts to create missing files
uvx --from ai-drift drift draft --target-rule skill_validation > prompt.md
# 4. Fix issues manually or with AI
# 5. Re-validate until green
uvx --from ai-drift drift
Define rules to check:
Examples: See .drift.yaml in this repo.
Override validator parameters at different levels using parameter override configuration:
# Validator-level overrides - apply to all rules using a validator
validator_param_overrides:
core:file_exists:
merge:
ignore_patterns:
- ".venv/**"
- "node_modules/**/*"
- "**/*.tmp"
core:markdown_link:
merge:
ignore_patterns:
- "https://example.com/**"
- "http://localhost:**"
# Rule-level overrides - apply to specific rules
rule_param_overrides:
Python::documentation:
merge:
ignore_patterns:
- "tests/**"
# Phase-specific override
General::skill_validation::check_links:
replace:
check_external_urls: false
# Skip entire rules or phases
ignore_validation_rules:
- "Claude Code::skill_validation::check_description_quality"
- "Python::formatting"
Override Strategies:
ignore_patterns, etc.)Pattern Types:
*.md, **/*.py, src/**/*^, $, \(, etc.)Precedence: validator overrides → rule overrides → phase overrides
See Configuration Guide for complete details.
./test.sh # Run tests (90%+ coverage required)
./lint.sh # Run linters
./lint.sh --fix # Auto-fix formatting
MIT
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.10.0 | 28 Dec 2025 | 27 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 10:34 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:0bc4aa69ce4d97126efa9d1616096e3770501998e0c2ff7188fa4ac1b0490bc2