Repository navigation
Develop VoidQL
src/
index.ts compile flow and orchestration
rbac.ts policy, field, and contextual-value resolution
drizzle.ts conditions, joins, CRUD, and triggers
types.ts exported types and presets
examples/
queries.md request examples
structure.md policy structure examples
tests/
auto_tests/ operation and condition cases
runner/ interactive database test runner
The repository declares Node/TypeScript development dependencies and a test runner, but does not define an engines requirement or a stable installation guide.
npm install
npm testThe test runner requests or reads database configuration including DB_HOST, DB_USER, DB_PWD, DB_NAME, DB_FAMILY, USER_OBJ, USER_ROLE, and RUN_MODE. Use a disposable development database and inspect tests/runner before providing credentials.
- Create a focused issue describing the policy or query behavior.
- Add both allowed and denied regression cases.
- Update exported types and runtime handling together.
- Update examples and the relevant Wiki reference.
- Keep error behavior backward-compatible or document the break.
- Submit a small pull request with a security impact note.
Update the type-level operator list, runtime condition builder, database-specific behavior where relevant, and tests. The current mismatch around BETWEEN/EXISTS shows why type and runtime changes must land together.
Update EndpointType, StructuredQuery, orchestration in index.ts, the Drizzle implementation, permissions validation, result behavior, and tests.
- Reduce
anyin policy and trigger types. - Define a typed error taxonomy.
- Align package/repository naming with VoidQL.
- Publish supported Node, TypeScript, Drizzle, and database versions.
- Add CI across supported drivers.
- Add security reporting and a threat model.
Start Here
Learn & Build
- Learn VoidQL
- Build with VoidQL
- Query Operations
- Authorization Patterns
- Validation & Workflows
- Triggers & Extensibility
Use & Reference
Internals & Project