Skip to content

Epic: a pipeline-native relix command #17

Closed
15 of 15 issues completed
Closed

Description

@david-Darkcollective

Build relix, a command for Unix pipelines, on the Relix engine's published API alone. Design: docs/design.md.

The shape

  • stdout is data, stderr is talk. Each command writes one thing to stdout.
  • Commands: run (the default), check, explain, optimize, trace, bundle, ir, provenance, fmt, catalog, drivers, connectors, doc, help, version, completion.
  • Relix text arrives from -e, files or stdin.
  • Data arrives with -i NAME=[FORMAT:]LOCATION (- is stdin).
  • Output is table on a terminal and tsv in a pipe; csv, ndjson, json and markdown are on -o. A machine format prints the last query unless --query=NAME names another.
  • The catalog comes from the directory tree. .relix/catalog/*.relix files are found walking up to $HOME, with a nearer declaration winning. Project catalogs are trusted per directory, as direnv does.
  • Secrets come from the process environment or a user-only profiles.json. -P/--profile selects a profile.
  • Exit codes distinguish usage, analysis, execution, environment and internal failures. SIGPIPE and SIGINT end a run cleanly.
  • Packaging: jlink with an AppCDS archive, distributed through Homebrew and Scoop.
  • One module, no library. The renderers, reports, script loader, profile loading and driver progress are internal packages of the command, and nothing is published to Maven Central. What the command needs goes into the command, or into the engine's published API when another embedder would need it too.

Engine API it needs

Still open: none.

Landed:

Shipped

Merged to develop:

Slice Issue Pull request
S0a build, engine pin, boundary test, CI #2 #19, #21
S0b console support as internal packages #3 #20
S1 command skeleton #4 #22
S2a TSV and NDJSON renderers #5 #34
S2 output and pipe discipline #6 #34
S4 catalog discovery #8 #35
S5 catalog trust #9 #35
S6 catalog inspection #10 #35
S7 report commands #11 #36
S8 fmt #12 #36, #38, #40
S9 management commands #13 #36
S3 -i data inputs #7 #34, #37
S10 -a parameters #14 #39
S11 packaging and release #15 #41
S12 docs artifact: the command-line guide #16 #42

Outstanding

None: every slice has shipped.

Suggested order: S0a → S0b → S1 → S2a → S2 → S4+S5 → S7 → S9 → S6 → S8 → S3 → S10 → S11 → S12 shipped. S11's dry-run release runs once it reaches main.

Activity

  1. david-Darkcollective commented on Oct 12, 2026

    @david-Darkcollective
    MemberAuthor

    Every slice has shipped and the engine API it needed has landed. S11's release has now run on main: v0.1.0 and v0.1.1 are published with builds for every platform and the docs zip. Closing the epic.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogNot yet scheduledepicA multi-slice effort tracked through sub-issues

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions