Lint — API
The facade of the domain package goga.ast — the parse-and-validate surface behind goga lint.
The signature below is the CODEMANIFEST contract of the cell.
AST(path: str, ignore: list[str] | None = None)
Load the project tree rooted at path and validate it: parse every CODEMANIFEST, apply the document-level rules to each document, then the tree-level rules across the import graph. ignore — directory relative paths pruned from traversal (the lint.ignore configuration). The violations surface as the AST error types — DocumentParseError for structural YAML/DSL failures, DocumentRuleError for document-level rule violations, ASTRuleError for tree-level ones (see Error Hierarchy).
The parse product is the same tree the Contract and Schema domains consume, and the one injected into a tool's keyword-capable ast parameter (see Tools — CLI).
Example
from goga.ast import AST
tree = AST(path=".", ignore=[".venv"])
print(tree) # the validated document tree