datatug-core

module
v0.28.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 12, 2026 License: MIT

README

DataTug CLI - a command line data browser & editor

Build, Test, Vet, Lint Go Report Card Coverage Status Version GoDoc Sourcegraph

This is mostly used by https://github.com/datatug/datatug-cli.

Our approach to development

We build with our own tooling:

  • SpecScore — specify requirements as SpecScore.md artifacts
  • SpecStudio — author & manage specs across their lifecycle
  • inGitDB — store structured data in Git where applicable
  • DALgo — data access layer for Go
  • cover100.dev — drive toward 100% test coverage
  • DataTug — query & explore data

Project structure

Dependencies & Credits

CI/CD

There is a continuous integration build.

Open Source Libraries we use

  • DALgo - Database Abstraction Layer for Go
  • Bubble Tea - A Go framework for TUI apps

Contribution

Contributors wanted. For a start check issues tagged with help wanted and good first issue.

Plans for improvements & TODO integrations

Licensing

The datatug and other DataTug CLIs are free to use and source codes are open source under MIT license.

Directories

Path Synopsis
pkg
apicontract
Package apicontract holds the Go types for every shared JSON type and envelope in the core-investigation-loop Feature's normative transport appendix (spec/features/core-investigation-loop/api-contract.md, hub datatug/datatug), with the exact json:"..." field names that document declares - the schema authority datatug-cli (server) and datatug-apps (client) consume, per Phase 1 corrective Task 12.
Package apicontract holds the Go types for every shared JSON type and envelope in the core-investigation-loop Feature's normative transport appendix (spec/features/core-investigation-loop/api-contract.md, hub datatug/datatug), with the exact json:"..." field names that document declares - the schema authority datatug-cli (server) and datatug-apps (client) consume, per Phase 1 corrective Task 12.
apicontract/fixtures
Package fixtures holds the frozen JSON fixtures for pkg/apicontract's normative transport types (spec/features/core-investigation-loop/ api-contract.md, hub datatug/datatug) - one file per envelope/error case listed in the appendix's "Acceptance and migration" section.
Package fixtures holds the frozen JSON fixtures for pkg/apicontract's normative transport types (spec/features/core-investigation-loop/ api-contract.md, hub datatug/datatug) - one file per envelope/error case listed in the appendix's "Acceptance and migration" section.
datatug
Package datatug holds the DataTug project model: entities, queries, environments, boards and their validation rules.
Package datatug holds the DataTug project model: entities, queries, environments, boards and their validation rules.
dto
semantic
Package semantic resolves physical columns (a source + collection + set of scanned columns) to the entity fields a project's model says they mean.
Package semantic resolves physical columns (a source + collection + set of scanned columns) to the entity fields a project's model says they mean.
storage
Package dtprojcreator is a generated GoMock package.
Package dtprojcreator is a generated GoMock package.
storage/filestore
Package filestore's query pair transaction protocol (this file) persists a query's JSON metadata and its body sidecar as one recoverable logical transaction, under the query store lock (query_lock.go):
Package filestore's query pair transaction protocol (this file) persists a query's JSON metadata and its body sidecar as one recoverable logical transaction, under the query store lock (query_lock.go):

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL