Skip to content

Epic: Port custom beengud features from deprecated Go fork to the new TS CLI #1

Description

@beengud

Epic: Port custom features from the deprecated Go fork to the new TypeScript CLI

The original Observe CLI (github.com/observeinc/observe, Go) has been deprecated and replaced by github.com/observeinc/cli (TypeScript). This repo (beengud/cli) is our fork of the new CLI and is currently a clean mirror of upstream/main.

Our old fork (beengud/observe) carried a body of custom beengud work that is not present in the new CLI. This epic tracks porting that work across the Go → TypeScript rewrite so we can pick up where we left off.

Background

  • Old fork: beengud/observe (Go, custom framework, cmd_*.go / ot_*.go)
  • New CLI: observeinc/cli (TypeScript, @stricli/core, bun, GraphQL+REST codegen)
  • New CLI command groups already present: auth, dataset (list/view), metric, query (OPAL exec), alert (list/view), tag-key/tag-value (KG), datastream, datastream-token, ingest-token, data-connection, datasource, content, skill, cli.

Gap — custom features to port (one issue each)

# Feature Old PR/commit New CLI status
1 board (dashboard) CRUD + scaffold + default + visibility/folderId + view URL #2, #9 Absent
2 fleet observe-agent monitoring (status/host/versions/auth) #3 Absent
3 opal validation/inspection (check/verbs/functions/validate-ingest) #4 Absent (only exec via query)
4 dataset dry-run / dataset impact #5 Absent (only list/view)
5 monitor V2 (preview-query/preview/alarms + list/get) #6 Partial (alert read only)
6 worksheet CRUD (list/get/create/delete) #7 Absent
7 schema introspect #9 Absent
8 RBAC object types + rbac-dot graph RBAC support (d17dec0) Absent
9 CI: GitLab publish pipeline + GitHub→GitLab mirror sync #10, #12 N/A (new CLI uses GH Actions ci/release)

Notes carried from the old fork

  • Several stage-normalization bugfixes (stageIDid, stageId, inputRole null-schema violations) were layered on top of the board/worksheet/dataset stage-input paths (feat(schema): port schema introspect from Go CLI #11 and follow-ups). These workarounds must be re-applied when porting board/worksheet/dataset save paths, or the same null-schema violations will recur. Captured in the relevant per-feature issues.
  • The old CLI exposed a generic object framework (list/get/delete/create over object types via ot_*.go). The new CLI has no generic object layer — each ported feature needs explicit commands.

Each child issue contains the old command surface, behavior, API calls, source files, and porting notes so work can resume independently.

Child issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    epicTracking/umbrella issueport-from-goCustom feature to port from deprecated Go fork (beengud/observe)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions