forze-documents-search
Installation
SKILL.md
Forze documents and search
Use when implementing document persistence, filtered listings, cursor pagination, text search, hub search, or federated search. Pair with forze-domain-aggregates for aggregate models and forze-specs-infrastructure for mapping spec.name to tables and indexes in deps modules.
Document ports (DocumentQueryPort / DocumentCommandPort)
Kernel DocumentSpec carries model types and logical name only; PostgresDepsModule / MongoDepsModule (and related maps) supply tables, history relations, and bookkeeping. At runtime, ctx.doc_query(spec) resolves the factory registered under DocumentQueryDepKey for route spec.name and returns DocumentQueryPort[read]; ctx.doc_command(spec) does the same for DocumentCommandDepKey → DocumentCommandPort.
doc_q = self.ctx.doc_query(project_spec)
doc_c = self.ctx.doc_command(project_spec)
project = await doc_q.get(project_id)
page = await doc_q.find_page(
filters={"$fields": {"status": "active"}},
pagination={"limit": 20, "offset": 0},
sorts={"created_at": "desc", "id": "asc"},
)
rows, total = page.hits, page.count