Summary
Implement the builder pattern for MagicDatabase as specified in Core Flow 5 (Library API - Advanced Usage).
Context
The spec defines a fluent builder API:
```rust
let db = MagicDatabase::new()
.with_config(config)?
.load("/usr/share/file/magic/Magdir/")?;
```
Current state: Only MagicDatabase::load_from_file() and MagicDatabase::load_from_file_with_config() exist. No builder pattern.
Acceptance Criteria
Files to Modify
src/lib.rs - Add builder methods to MagicDatabase
References
Summary
Implement the builder pattern for
MagicDatabaseas specified in Core Flow 5 (Library API - Advanced Usage).Context
The spec defines a fluent builder API:
```rust
let db = MagicDatabase::new()
.with_config(config)?
.load("/usr/share/file/magic/Magdir/")?;
```
Current state: Only
MagicDatabase::load_from_file()andMagicDatabase::load_from_file_with_config()exist. No builder pattern.Acceptance Criteria
MagicDatabase::new()creates empty database.with_config(config)applies and validates configuration, returnsResult.load(path)loads magic rules from file or directoryload_from_file()andload_from_file_with_config()remain as convenience methodsFiles to Modify
src/lib.rs- Add builder methods toMagicDatabaseReferences