π₯οΈ Entiqon CLI¶
Purpose¶
The Entiqon CLI is a lightweight developer & DevOps toolkit designed to streamline everyday workflows inside the Entiqon ecosystem.
It bridges the gap between library development, release management, and runtime utilities, offering consistent, scriptable commands to help contributors and maintainers manage the project efficiently.
Whereas Entiqon libraries (e.g., db/builder, token/field, core/contracts) provide compile-time tools for building queryable Go systems, the CLI provides runtime developer ergonomicsβautomation for Git, tests, coverage, tagging, release notes, and package lifecycle.
Philosophy¶
- Minimal dependencies β plain Bash/POSIX tools (works on macOS/Linux, extensible for Windows WSL).
- Self-documented β every script provides
-h/--helpoutput. - Composable β individual commands solve one thing well, can be chained.
- Versioned β each CLI script is tied to Entiqonβs semver release cycle.
- Safe β designed to never lose work (e.g., stash before rebases, confirmations for destructive ops).
Tooling Overview¶
Git & Release Automation (bin/)¶
gcprβ Create GitHub PRs quickly (auto-fills title, branch).gceβ Extract commits between tags (-s,-efor ranges).gcrβ Create GitHub releases with changelogs & notes.gctβ Automated tagging (--title,--date,--notes,--sign).gsuxβ Git Stash Utility Extended (stash/apply/pop/drop/clear/list).gcchβ Cherry-pick helpers for backports.ddcβ Deploy Docker containers with standard flags.
Testing & Coverage¶
gotestxβ Extended test runner: coverage, HTML reports, filters, CI mode.run-tests.shβ Runs all packages with coverage (go test ./... -cover).open-coverage.shβ Openscoverage.htmlafter generation.- CI Integration β Used in GitHub Actions to enforce thresholds and upload to Codecov.
Documentation¶
- Markdown helpers β regenerate
README.md, updateCHANGELOG.md. - Release notes β auto-generate from commits with semantic prefixes (
feat:,fix:,docs:, etc.).
Example Workflow¶
A typical release cycle with Entiqon CLI:
```bash
Run all tests with coverage¶
gotestx --cover --open
Stage changes and stash WIP if needed¶
gsux stash -m "WIP: refactor token.Field validation" -u -v
Generate changelog entries since last release¶
gce -s v1.13.0
Tag and sign a new release¶
gct -t v1.14.0 --title "Token Enhancements" --notes "Adds ResolveExpressionType and ValidateWildcard" --sign
Push release to GitHub¶
gcr v1.14.0 ```
Roadmap¶
- Global installer (
entiqon install cli) instead of per-repobin/. - Unified entrypoint (
entiqon <command>) wrapping all scripts. - Go-based CLI rewrite β current scripts are Bash; migration to Go planned for portability, testability, and richer UX.
- Plugin architecture β let projects extend CLI with their own subcommands.
- Improved test harness β Bats/shunit2 suites for CLI validation.
β
In short: Entiqon CLI = developer efficiency + project discipline.
It codifies the workflows we already practice (TDD, semantic commits, 100% coverage, structured releases) into repeatable, versioned, safe automation.