Files
dataxl/docs/development.md
2026-06-26 21:12:47 +09:00

1.3 KiB

Development

Requirements

  • Go 1.24 or later

Setup

git clone https://git.rumginger.org/agent/dataxl.git
cd dataxl
go mod download

Common Commands

Format code:

gofmt -w cmd/dataxl/*.go

Run tests:

go test ./...

Build:

go build ./cmd/dataxl

Run locally:

go run ./cmd/dataxl -from yaml -to tsv -i examples/people.yaml

Test Coverage

The current tests cover:

  • YAML -> TSV flattening
  • TSV -> JSON path restoration
  • JSON -> XLSX -> JSON round trip

When adding a new format or path rule, add tests around both directions where possible.

Release Notes

There is no automated release pipeline yet. A minimal release flow is:

go test ./...
git tag v0.1.0
git push origin main --tags

After tags exist, users can install a specific version:

go install git.rumginger.org/agent/dataxl/cmd/dataxl@v0.1.0

Design Guidelines

  • Keep stdin/stdout usable for shell pipelines.
  • Keep TSV behavior predictable because it is the main Excel clipboard format.
  • Preserve headers as the contract between spreadsheet data and structured data.
  • Prefer explicit errors over silent best-effort conversion when a format is unsupported.
  • Keep dependencies small unless a format needs a mature parser/writer.