Model-driven development API

From Business Requirement to Working Software

TeaQL gives developers and Coding Agents one continuous, verifiable path: create a typed domain model, evaluate it, generate a domain library and application workspace, then request model-aware API help while coding.

β˜•
Java
πŸ¦€
Rust
🐹
Go
🐍
Python
🎯
.NET
πŸ“˜
TypeScript
πŸ•ŠοΈ
Swift
Current verified baseline: Java, Rust, Go, Python, .NET, and TypeScript have each generated, compiled, and executed the Order Search core feature against real PostgreSQL, MySQL, and SQLite databases. Java also has full-feature verification on Oracle, DB2, DM8, SAP HANA, SQL Server, and DuckDB; .NET also has full-feature verification on SQL Server. Swift 6 has generated and compiled domain output, a verified local SQLite runtime, and a verified TeaQL Federal Protocol client on Linux, macOS, and iOS Simulator; it participates in the same seven-language Assist matrix. These statements describe the dated acceptance evidence, not every version or every target exposed by this server. Review the runtime evidence matrix before selecting a production combination.
Target availableThe generation route and templates exist. This alone makes no build or runtime claim.
Generated & compiledGenerated output passed its language toolchain for the tested revision.
Runtime verifiedGenerated code connected to the named real database and executed persistence or queries.
Full feature verifiedRows, counts, aggregates, relations, saves, optimistic locking, purpose/comment, and both audit paths passed the stated scenario scope.

Connect the TeaQL Toolchain

Point cargo teaql or another TeaQL client at this service. Coding Agents use the client instead of calling undocumented framework APIs directly.

export TEAQL_ENDPOINT_PREFIX=http://localhost:8080/
01

Where Does the Model Come From?

A business requirement becomes a saved, reviewable KSML domain contract before application code is generated.

Input: business language
Build merchant onboarding.

Each merchant belongs to a platform.
Track tax number, address, external ID,
creation time, and last update time.
Output: typed model artifact

Developer or Coding Agent

Clarifies objects, representative values, relationships, constants, ownership, and provider choice, then saves the result as XML/KSML.

The model pathβ€”not a chat transcriptβ€”is the artifact used for evaluation, review, and regeneration.

TeaQL does not treat the first AI response as truth. The model is a proposal that must pass deterministic evaluation and remain available for human review.
02

What Does the Generated Model Look Like?

KSML uses concrete example values to describe fields and explicit function-like values to describe references and generated behaviors.

Excerpt from the live demo model
<root name="crm-erp-service"
      org="doublechaintech"
      data_service="postgres">

  <platform
      name="CRPERPPlatform"
      create_time="createTime()"
      last_update_time="updateTime()" />

  <merchant
      name="Global Logistics Corporation"
      tax_number="91XXXXXXXXXXXXX"
      platform="platform()"
      create_time="createTime()"
      update_time="updateTime()" />

</root>
What the contract captures

Types, relationships, and generation intent

Representative values allow the evaluator and generator to infer supported field types. References such as platform() connect business objects. Metadata can add display names, modules, constants, identifiers, and ownership boundaries.

The snippet explains the shape; the complete model is the source of truth. Coding Agents should edit the saved model and rerun evaluation instead of patching generated entities.
03

What Happens After Evaluation?

The service returns a Markdown report with Errors, Warnings, Suggestions, and confirmed solid areas.

Call the evaluator
cargo teaql evaluate \
  --input model/main.xml
Use structured feedback
Evaluation Report
β”œβ”€β”€ Errors       must be fixed
β”œβ”€β”€ Warnings     require a decision
β”œβ”€β”€ Suggestions  optional improvements
└── Solid Areas  preserve these sections

Generation is blocked when the submitted model contains evaluation Errors. Repair the model, evaluate again, and keep the report as evidence.

04

Which Libraries and Workspaces Can TeaQL Generate?

Generate the stable domain library separately from the editable application workspace.

Domain libraries

  • java-lib-core β€” Java entities, requests, expressions, metadata, and runtime registration.
  • rust-lib-core β€” Rust entities, typed requests, expressions, behaviors, checkers, and providers.
  • golang-lib-core β€” Go entities, typed requests, expressions, runtime helpers, and metadata.
  • python-lib-core β€” Python entities, typed requests, runtime integration, and metadata.
  • dotnet-lib-core β€” .NET entities, typed requests, ADO.NET integration, and metadata.
  • typescript-lib-core β€” TypeScript entities, typed requests, and TeaQL runtime integration.
  • swift-lib-core β€” Swift 6 entities and staged requests for local SQLite and TeaQL federation clients.

Java workspaces

  • java-app-console
  • java-web-spring-boot
  • java-web-quarkus
  • java-web-micronaut

Polyglot workspaces

  • rust-app-console
  • rust-web-axum
  • rust-web-topcoat
  • golang-app-console
  • golang-web-gin
  • python-app-console
  • python-web-fastapi
  • dotnet-app-console
  • dotnet-web-aspnet
  • typescript-app-console
  • typescript-web-hono
  • typescript-app-expo β€” React Native local-first application with generated Expo SQLite schema.
  • swift-app-console

Design and guidance outputs

  • doc β€” data-design documentation and visual previews.
  • agent β€” generated Coding Agent instructions.
  • evaluation and mergemodel β€” evaluation assets and model composition.
Generate a domain library
cargo teaql rust-lib-core \
  --input model/main.xml \
  --output generated/rust-lib-core
Generate an editable workspace
cargo teaql rust-web-topcoat \
  --input model/main.xml \
  --output generated/rust-web-topcoat
The live service catalog is authoritative for the configured endpoint. Generated workspaces reuse the matching core library; adding a web framework does not require creating another shared domain core.
Raw target names exposed by this server
agentdocdotnet-app-consoledotnet-lib-coredotnet-web-aspnetevaluationgolang-app-consolegolang-lib-coregolang-web-ginjava-app-consolejava-lib-corejava-web-micronautjava-web-quarkusjava-web-spring-bootmergemodelpython-app-consolepython-lib-corepython-web-fastapirust-app-consolerust-lib-corerust-web-axumrust-web-topcoatswift-app-consoleswift-lib-coretypescript-app-consoletypescript-app-expotypescript-lib-coretypescript-web-hono
05

How Does a Coding Agent Get API Help During Development?

The Agent asks for help using the current model, language, action, and exact object name. The response is generated Markdown, not a generic ORM example.

Model-aware assist request
cargo teaql \
  --input model/main.xml \
  rust-assist-query/merchant

The same pattern supports create, update, delete, expression, list-page, debug, tool API, ensure-schema, and runtime-customization guidance.

Development feedback loop
Generated AGENTS.md
       ↓
Select language + action + object
       ↓
Call TeaQL assist API with the model
       ↓
Use exact generated methods
       ↓
Compile, test, and request more help
The complete 7 Γ— 9 Assist matrix is rendered from the submitted model. Coding Agents must copy exact generated names (including centralized plurals), use the single runtime UserContext argument, enter the executable stage through purpose, require comment at execution, and attach the generated audit-reason API to every write.

Live Model-aware API Help

These previews use the built-in demo model and its platform object. Submit your own model through the CLI to receive guidance for your own objects.

Feature / Capability β˜• JV πŸ¦€ RS 🐹 Go 🐦 SW 🐍 PY 🎯 C# πŸ“˜ TS
πŸ“š Workspace API Guide Preview Preview Preview Preview Preview Preview Hono Expo
πŸ”Ή Create Entity Preview Preview Preview Preview Preview Preview Preview
πŸ”Ή Update Entity Preview Preview Preview Preview Preview Preview Preview
πŸ”Ή Query Entity Preview Preview Preview Preview Preview Preview Preview
πŸ”Ή List Page Preview Preview Preview Preview Preview Preview Preview
πŸ”Ή Expression Preview Preview Preview Preview Preview Preview Preview
πŸ”Ή Delete Entity Preview Preview Preview Preview Preview Preview Preview
πŸ› οΈ Debug Guide Preview Preview Preview Preview Preview Preview Preview
πŸ› οΈ Tool API: HTTP Preview Preview Preview Preview Preview Preview Preview
βš™οΈ Runtime Customization Preview Preview Preview Preview Preview Preview Preview
πŸ—„οΈ Ensure Schema Preview Preview Preview Preview Preview Preview Preview
🌐 I18n I18n I18n I18n I18n I18n I18n I18n