Skip to content

entiqon Entiqon

A structured, intelligent foundation for building queryable, entity-aware Go systems.

Go Reference Go Report Card Build Status Latest Release Documentation License

๐Ÿ“ฆ Packages

  • Common: Shared utilities and helper functions used across multiple modules. Installation: go get github.com/entiqon/common
  • Database: Modular SQL query builder focused on database operations. Installation: go get github.com/entiqon/db

Future modules such as core, auth, http, and others will be added following the modular architecture.


๐Ÿงญ Doctrine

  • Never panic โ€” always return a token or builder, errors are embedded not thrown.
  • Auditability โ€” preserve user input for logs and error context.
  • Strict validation โ€” invalid expressions rejected early.
  • Delegation โ€” tokens own parsing/validation, builders compose them.
  • Layered validation โ€” ResolveExpression enforces correctness in three independent stages:

    1. Type validation: only raw strings are accepted; existing tokens (Field, Table, etc.) are rejected with guidance to use Clone().
    2. Classification: expressions are categorized (Identifier, Function, Aggregate, Subquery, Literal, etc.) by syntax.
    3. Resolution: each category applies its own rules for parsing and alias validation.

This separation keeps the API strict, predictable, and auditable without duplicating rules across layers.


๐Ÿ“ Best Practices

  • ๐Ÿงผ Clarity over brevity โ€” use explicit method names
  • ๐Ÿšซ Deprecations are tested and clearly marked
  • ๐Ÿ” Validate every path โ€” no silent failures
  • ๐Ÿงฉ Always quote identifiers through the dialect

๐Ÿงฉ Design Patter

  • ๐Ÿ“ Chain โ†’ Validate โ†’ Compile
  • ๐Ÿง  Tag errors with StageToken
  • โš™๏ธ Compose with safe abstractions
  • ๐Ÿ“‚ Group test methods visually

๐Ÿ“ฆ Releases


๐Ÿค Contributing

We welcome contributions! ๐ŸŽ‰

Please read the CONTRIBUTING.md guide for details on:

  • Writing tests
  • Commit message conventions
  • Documentation updates
  • Release process

For a quick checklist, see PULL_REQUEST_TEMPLATE.md.


๐Ÿ“„ License

๐Ÿ’ก Originally created by Isidro Lopez ๐Ÿข Maintained by the Entiqon Organization

MIT โ€” ยฉ Isidro Lopez / Entiqon Project