See FixDoc in action

Watch how infrastructure engineers capture, search, and share fixes directly from the terminal.

Full Demo Tour
# Step 1: Seed sample fixes
$ fixdoc demo seed
Seeding 6 sample fixes...
Done! 6 fixes added to your library.
Run 'fixdoc list' to see them, or 'fixdoc demo tour' for a guided walkthrough.
# Step 2: Capture a Terraform error
$ terraform apply 2>&1 | fixdoc capture
│ Error: error creating S3 Bucket (my-app-data-bucket): BucketAlreadyExists:
│ The requested bucket name is not available.
│ with aws_s3_bucket.data,
│ on storage.tf line 12, in resource "aws_s3_bucket" "data":
Detected: Terraform AWS error (S3 BucketAlreadyExists)
Suggested tags: terraform, aws, s3, aws_s3_bucket
Similar fixes found:
[1] Terraform Azure: StorageAccountAlreadyTaken (score: 0.62)
Resolution: Add a random suffix with account ID: "my-app-data-${data.aws_caller_identity.current.account_id}"
Fix captured and saved! (ID: fix_a3c7e291)
# Step 3: Search your fixes
$ fixdoc search "S3 bucket"
Found 1 matching fix:
[fix_a3c7e291] Terraform AWS: S3 BucketAlreadyExists
terraform, aws, s3 | just now
Resolution: Add a random suffix with account ID...

The interactive demo walks you through capturing a Terraform error, adding a resolution, and searching your fixes.

Step-by-step workflows

WORKFLOW 1

Capture Terraform errors

Pipe your Terraform output directly to FixDoc. It automatically detects the error type, extracts relevant details, and prompts for your resolution.

$ terraform apply 2>&1 | fixdoc capture
  • Auto-detects AWS, GCP, Azure providers
  • Extracts resource type and error codes
  • Suggests relevant tags automatically
$ terraform apply 2>&1 | fixdoc capture
│ Error: creating EC2 Instance: InsufficientInstanceCapacity:
│ We currently do not have sufficient capacity in the
│ Availability Zone you requested (us-east-1a).
│ with aws_instance.web_server,
│ on compute.tf line 25, in resource "aws_instance" "web_server":
Detected: Terraform AWS error (EC2 InsufficientInstanceCapacity)
Suggested tags: terraform, aws, ec2, aws_instance
Resolution: Try a different AZ or instance type. Add multiple subnets for auto-placement.
Fix captured and saved! (ID: fix_b8d4f102)
$ fixdoc search "access denied"
Found 2 matching fixes:
[fix_a1b2c3d4] S3 bucket AccessDenied error
terraform, aws, s3, iam | 2 weeks ago
[fix_e5f6a7b8] Cross-account S3 access issue
aws, s3, cross-account | 1 month ago
$ fixdoc show a1b2c3d4
S3 bucket AccessDenied error
ID: fix_a1b2c3d4 | Tags: terraform, aws, s3, iam
Issue: AccessDenied when putting objects to S3 bucket
Resolution: Added bucket policy with GetObject and PutObject permissions for the IAM role
WORKFLOW 2

Search and find fixes

Instant full-text search across all your captured fixes. Find by error message, tags, or any keyword. View the full fix with one command.

$ fixdoc search "access denied"
$ fixdoc show 1
  • Search by error text, tags, or keywords
  • Results ranked by relevance
  • View full fix details instantly
WORKFLOW 3

Quick one-liner fixes

For fast fixes, use the quick capture mode. Add an issue and resolution in a single command without any interactive prompts.

$ fixdoc capture -q "Pod CrashLoopBackOff" "Increased memory limit to 512Mi"
  • No interactive prompts
  • Perfect for scripting and automation
  • Add tags with -t flag
# Quick capture with tags
$ fixdoc capture -q \
"OOMKilled in production" \
"Increased memory limit" \
-t kubernetes -t memory
Fix captured!
ID: fix_abc123

Try it yourself

Install FixDoc and run the interactive demo to experience the full workflow.

# Install FixDoc
$ pip install fixdoc
# Seed sample data and take the tour
$ fixdoc demo seed
$ fixdoc demo tour