Drift
Installation
Prerequisites
Installation
Development Installation
Provider Setup (Optional)
Anthropic API
AWS Bedrock
Claude Code
Verifying Installation
Quick Start Guide
Installation
Running with uv
Installing from PyPI
Installing for Development
The TDD Workflow
Step 1: Define Your Standards
Step 2: Run Validation (Red Phase)
Understanding the Output
Step 3: Fix Issues (Green Phase)
Step 4: Iterate Until Green
Alternative: Using Draft for AI-Assisted Creation
Generating Rule Documentation
How Drift Works
Rules, Checks, and Violations
Document Bundles and Strategies
Real-World Examples
Example 1: Detecting Redundant Dependencies
Example 2: Fixing Agent Tools Format
Example 3: Validating CLAUDE.md Exists
Example 4: AI-Assisted Documentation Quality Review
Example 5: Checking Specific Rules Only
Conversation Analysis
Next Steps
Writing Validation Rules
What Are Rules?
Rule Structure
Field Descriptions
Document Bundles
Basic Structure
Bundle Types
File Patterns
Bundle Strategies
When to Use Each Strategy
Resource Patterns (Optional)
Writing Phases
Basic Phase Structure
Phase Fields
Single-Phase Rules
Multi-Phase Rules
Execution Order
Validator Types
Example Rules
File Existence Check
Pattern Matching
Frontmatter Validation
Link Validation
Dependency Validation
LLM-Based Validation
Configuration Validation
Multi-Phase Complete Example
Generating Prompts from Rules
The
draft_instructions
Field
Template Placeholders
Using the Draft Command
Auto-Generated Prompts
Draft Requirements
Next Steps
Next Steps
Validators Reference
Table of Contents
Ignore Patterns
Global Ignore Patterns
Validator-Specific Ignore Patterns
Pattern Matching
How Ignores Work
Which Validators Support Ignores
Default Failure Messages
Overview
How It Works
Benefits
Example: Using Defaults
Example: Custom Message with Templates
Example: Custom Message without Templates
Default Messages by Validator
Custom Validator Plugins
Overview
Creating a Custom Validator
Namespace Requirements
Provider Format
Validation Rules
Best Practices
Example: Full Custom Validator
Caching and Performance
Failure Details Feature
How It Works
Template Placeholders
Benefits
Example Usage
File Validators
file_exists
file_size
block_line_count
Regex Validators
regex_match
List Validators
list_match
list_regex_match
Markdown Validators
markdown_link
Format Validators
json_schema
yaml_schema
yaml_frontmatter
Dependency Validators
dependency_duplicate
circular_dependencies
max_dependency_depth
Claude Code Validators
claude_skill_settings
claude_settings_duplicates
claude_mcp_permissions
LLM-Based Validators
prompt
Troubleshooting
Validator Not Found
Missing Parameters
Placeholder Not Replaced
Performance Issues
Contributing
Configuration
Basic Configuration
Validators Reference
Provider and Model Configuration
Anthropic API Provider
AWS Bedrock Provider
Claude Code Provider
Multi-Provider Configuration
Environment Variables
Writing Rules
Separate Rules Files
Default Rules File (.drift_rules.yaml)
Loading Rules from Files (–rules-file)
Rules Loading Behavior
Use Cases and Benefits
Parameter Override Configuration
Validator Parameter Overrides
Rule Parameter Overrides
Skip Validation Rules
Pattern Matching Types
Precedence and Merging
Use Cases and Examples
Configuration Validation
Environment-Specific Configuration
Drift
Index
Edit on GitHub
Index