Skip to content

docs: fix quickstart CLI drift, add smoke test for documented journey - #1007

Open
swsarancodes wants to merge 3 commits into
HelixDB:mainfrom
swsarancodes:docs/fix-quickstart-cli-drift
Open

docs: fix quickstart CLI drift, add smoke test for documented journey#1007
swsarancodes wants to merge 3 commits into
HelixDB:mainfrom
swsarancodes:docs/fix-quickstart-cli-drift

Conversation

@swsarancodes

@swsarancodes swsarancodes commented Aug 18, 2026

Copy link
Copy Markdown

The database quickstart documented CLI behavior that no longer exists: a --lang flag on helix init, a "local" instance name (the CLI creates "dev"), a generated queries.rs file, and a helix dashboard command that was never implemented. The docs check only validates syntax and metadata, so none of this was caught.

Rewrite the quickstart around the real helix init -> helix start -> helix query -> helix stop journey using the actual dev instance and examples/request.json naming, and link to SDK setup instead of claiming helix init scaffolds language projects.

Add crates/cli/tests/docs_smoke.rs, an integration test that runs the exact documented commands and JSON request against an isolated fixture with a real Docker-backed instance, and wire it into a new docs-smoke job in cli-tests.yml so drift between the docs and the CLI fails CI going forward.

Greptile Summary

The PR updates the database quickstart to match the current CLI and adds a Docker-backed integration test and CI job intended to keep that journey synchronized.

  • Replaces obsolete SDK scaffolding and dashboard instructions with the init → start → query → stop CLI flow.
  • Adds a fixture-backed smoke test for the documented graph write and response.
  • Adds a dedicated workflow job, but its runner architecture is incompatible with the selected release image.

Important Files Changed

Filename Overview
.github/workflows/cli-tests.yml Adds quickstart-triggered smoke CI, but selects an ARM runner for an incompatible release image without emulation.
crates/cli/tests/docs_smoke.rs Covers the CLI lifecycle and graph response, although explicit init flags prevent it from fully validating documented defaults.
docs/database/helix-db/start-here/quickstart.mdx Rewrites the quickstart around the current raw-JSON CLI workflow and dev instance.
docs/llms-full.txt Mirrors the quickstart corrections in the consolidated documentation export.

Sequence Diagram

sequenceDiagram
  participant CI as docs-smoke CI
  participant CLI as helix CLI
  participant Docker as Docker runtime
  participant DB as HelixDB container
  CI->>CLI: helix init local
  CI->>CLI: helix start dev
  CLI->>Docker: pull/run v0.0.4
  Docker--xDB: amd64 image on ARM runner
  CI->>CLI: helix query dev
  CI->>CLI: helix stop dev
Loading

Reviews (1): Last reviewed commit: "docs: fix quickstart CLI drift, add smok..." | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

Context used:

The database quickstart documented CLI behavior that no longer exists:
a --lang flag on helix init, a "local" instance name (the CLI creates
"dev"), a generated queries.rs file, and a helix dashboard command that
was never implemented. The docs check only validates syntax and
metadata, so none of this was caught.

Rewrite the quickstart around the real helix init -> helix start ->
helix query -> helix stop journey using the actual dev instance and
examples/request.json naming, and link to SDK setup instead of
claiming helix init scaffolds language projects.

Add crates/cli/tests/docs_smoke.rs, an integration test that runs the
exact documented commands and JSON request against an isolated
fixture with a real Docker-backed instance, and wire it into a new
docs-smoke job in cli-tests.yml so drift between the docs and the CLI
fails CI going forward.
Comment thread .github/workflows/cli-tests.yml Outdated
helix start pulls ghcr.io/helixdb/helixdb:v0.0.4 by tag with no
--platform override, matching what a reader following the quickstart
does. Run the smoke test on the same architecture as that default
resolution instead of the arm64 runner, per review feedback.
@swsarancodes

Copy link
Copy Markdown
Author

fixed it

@xav-db xav-db left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two inline findings from the exact-head review.


- Docker or Podman
- Rust, Node.js 20+, Go, Python 3.11+, or the `helix` CLI for raw JSON
- The `helix` CLI

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Podman-only users cannot complete this quickstart as written. helix init local always writes container_runtime = "docker", so helix start dev fails unless they make an undocumented helix.toml edit. Either require Docker here, document the Podman setting, or make init select the available runtime.

/// Mirrors docs/database/helix-db/start-here/quickstart.mdx's write-users example
/// exactly (`examples/write-users.json` step). If the documented request shape or
/// its expected response changes, update both the doc and this constant together.
const WRITE_USERS_REQUEST: &str = r#"{

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] This constant is independent of the MDX, so a doc-only edit can break the fenced JSON while CI keeps testing this old copy and passes. The test also overrides the documented init defaults and checks only response substrings. Please parse the documented request and expected response or share one fixture, and validate bare helix init local defaults before changing the port for test isolation.

@xav-db

xav-db commented Aug 19, 2026

Copy link
Copy Markdown
Member

@swsarancodes

1 similar comment
@xav-db

xav-db commented Aug 24, 2026

Copy link
Copy Markdown
Member

@swsarancodes

@swsarancodes

Copy link
Copy Markdown
Author

ok it wad night here ill looki into it and fix it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants