Usage Examples¶
Validate One Manifest¶
maid_runner.validate() validates a single manifest file and returns a
maid_runner.ValidationResult.
from maid_runner import ValidationResult, validate
result: ValidationResult = validate("manifests/add-auth.manifest.yaml")
if not result.success:
for error in result.errors:
print(f"{error.code}: {error.message}")
Validate A Manifest Directory¶
maid_runner.validate_all() validates every active manifest in a directory
and returns a maid_runner.BatchValidationResult.
from maid_runner import BatchValidationResult, validate_all
batch: BatchValidationResult = validate_all("manifests/")
print(f"{batch.passed}/{batch.total_manifests} manifests passed")
Load, Edit, And Save A Manifest¶
maid_runner.load_manifest() and maid_runner.save_manifest() expose
the manifest parser and writer used by the CLI.
from maid_runner import Manifest, load_manifest, save_manifest
manifest: Manifest = load_manifest("manifests/add-auth.manifest.yaml")
manifest.metadata["reviewed_by"] = "api-reference-example"
save_manifest(manifest, "manifests/add-auth.manifest.yaml")
Use The Validation Engine¶
maid_runner.ValidationEngine is the lower-level entry point when an
application needs to reuse a configured engine across calls.
from maid_runner import ValidationEngine
engine = ValidationEngine(project_root=".")
result = engine.validate("manifests/add-auth.manifest.yaml")
print(result.success)
Work With Manifest Chains¶
maid_runner.ManifestChain gives callers direct access to manifest-chain
resolution when they need to inspect effective task history.
from maid_runner import ManifestChain
chain = ManifestChain("manifests")
active_manifests = chain.active_manifests()
print([manifest.source_path for manifest in active_manifests])
Generate A Snapshot¶
maid_runner.generate_snapshot() creates a manifest-style snapshot from an
existing source file.
from maid_runner import generate_snapshot
snapshot = generate_snapshot("maid_runner/core/validate.py")
print(snapshot.files_snapshot[0].path)
Register Validators¶
maid_runner.ValidatorRegistry stores the language validators used by
validation flows.
from maid_runner import ValidatorRegistry
registry = ValidatorRegistry.with_builtin_validators()
print(sorted(registry.supported_extensions()))