Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
b8d449a
feat(cli): add terminal styling and color support
jcardozo-eth Feb 9, 2026
10c7085
feat(cli): add root command with command group registration
jcardozo-eth Feb 9, 2026
e8c7522
docs: update README for dap CLI
jcardozo-eth Feb 9, 2026
df87ded
test(cli): add test coverage for core packages
jcardozo-eth Feb 9, 2026
22ce9e4
chore(nix): integrate dap CLI into development shell
jcardozo-eth Feb 9, 2026
0e37386
chore: simplify .envrc to use dap CLI
jcardozo-eth Feb 9, 2026
11f35ac
chore: add Go vendor directories to gitignore
jcardozo-eth Feb 9, 2026
a226d77
chore(helm): expose webserver via LoadBalancer on port 8080
jcardozo-eth Feb 9, 2026
23c822e
feat(cli): add core module and internal packages
jcardozo-eth Feb 9, 2026
e8b3ac5
feat(cli): add dev commands for local development
jcardozo-eth Feb 9, 2026
c335c08
feat(cli): add env commands for environment management
jcardozo-eth Feb 9, 2026
7e924c7
feat(cli): add dagster commands for pipeline operations
jcardozo-eth Feb 9, 2026
a4bc019
feat(cli): add k8s commands for Kubernetes deployment
jcardozo-eth Feb 9, 2026
7dd63aa
feat(cli): add meta commands for CLI development
jcardozo-eth Feb 9, 2026
06a1189
chore(cli): add Nix packaging for dap CLI
jcardozo-eth Feb 9, 2026
85c3e76
docs(cli): add CLI contributing guide
jcardozo-eth Feb 9, 2026
4fbd2e2
chore: add uv-sync script for Python dependency setup
jcardozo-eth Feb 9, 2026
c6ac306
chore: remove justfile in favor of dap CLI
jcardozo-eth Feb 9, 2026
505d661
chore(cli): replace openssl with Go crypto/rand for password generation
jcardozo-eth Feb 10, 2026
6d6ac25
chore(cli): remove unused version functions for jq, curl, openssl
jcardozo-eth Feb 10, 2026
86bc665
chore: split Nix flake into multiple devShells
jcardozo-eth Feb 10, 2026
febc587
docs: document devShells and group CLI commands
jcardozo-eth Feb 10, 2026
c9606db
chore(cli): update Nix package metadata
jcardozo-eth Feb 10, 2026
e30f812
chore: rename .cli/ to cli/
jcardozo-eth Feb 11, 2026
88758c3
chore: add dap CLI to cli-dev shell
jcardozo-eth Feb 11, 2026
722f498
feat(cli): add --version flag with build-time injection
jcardozo-eth Feb 11, 2026
ec594f6
ci: add CLI test and lint workflow
jcardozo-eth Feb 11, 2026
ca1e50b
ci: add path filtering to pipeline CI
jcardozo-eth Feb 11, 2026
6136054
ci: add goreleaser config and release workflow
jcardozo-eth Feb 11, 2026
c96d33f
feat(cli): add `dap cli lint` command
jcardozo-eth Feb 11, 2026
5592058
refactor(cli): simplify findCliDir using git repo root
jcardozo-eth Feb 11, 2026
5638767
feat(cli): add --fix flag to `dap cli lint` and refactor command helpers
jcardozo-eth Feb 11, 2026
c3493a1
docs(cli): update CONTRIBUTING.md with current commands and build docs
jcardozo-eth Feb 11, 2026
48310fd
style(cli): fix minor formatting
jcardozo-eth Feb 11, 2026
6bb9807
build(cli): stop overriding version in Nix build
jcardozo-eth Feb 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .dev/scripts/uv-sync.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Setup Python environment using uv
set -euo pipefail

if ! command -v uv &>/dev/null; then
echo "error: uv is required to manage Python dependencies" >&2
echo " install it from https://docs.astral.sh/uv/" >&2
exit 1
fi

uv sync --extra dev --quiet
40 changes: 11 additions & 29 deletions .envrc
Original file line number Diff line number Diff line change
@@ -1,37 +1,19 @@
# Use the Nix flake in this directory
# Nix flake + direnv integration
use flake

# Watch for changes in these files to trigger environment reload
# Watch for changes to trigger environment reload
watch_file pyproject.toml
watch_file flake.nix
watch_file flake.lock
watch_file uv.lock

echo ""
echo "ETH Library Zurich - Data Archive Pipeline (DAP) - Orchestrator"
echo "───────────────────────────────────────────────────────────────"
# Environment variables
export DAGSTER_HOME="$PWD/.dagster"
export VIRTUAL_ENV="$PWD/.venv"

export DAGSTER_HOME="$PWD"
# Setup Python dependencies
.dev/scripts/uv-sync.sh || log_error "Python setup failed"
PATH_add "$PWD/.venv/bin"

# Auto-create venv and sync dependencies
if [ ! -d .venv ]; then
echo "○ creating venv..."
uv venv --quiet
fi

source .venv/bin/activate
uv sync --extra dev --frozen --quiet

echo ""
echo " Environment"
echo " ─────────────────────────────────────────────────────────────"
echo " nix flake $(nix flake metadata --json 2>/dev/null | jq -r '.resolved.url' | sed 's|^file://||')"
echo " python venv $VIRTUAL_ENV"
echo " python version $(python --version 2>&1 | cut -d' ' -f2)"
echo " DAGSTER_HOME $DAGSTER_HOME"
echo ""
echo " Commands"
echo " ─────────────────────────────────────────────────────────────"
echo " just show available commands"
echo " just info show tool versions"
echo " just dev start Dagster dev server"
echo ""
# Show welcome message
dap welcome
2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ name: CI
on:
push:
branches: [ main ]
paths-ignore: ['cli/**']
pull_request:
paths-ignore: ['cli/**']

permissions:
contents: read
Expand Down
28 changes: 28 additions & 0 deletions .github/workflows/cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: CLI

on:
push:
branches: [main]
paths: ['cli/**']
pull_request:
paths: ['cli/**']

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- name: Run tests
run: nix develop .#cli-dev --command dap cli test

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v31
- name: Lint and check formatting
run: nix develop .#cli-dev --command dap cli lint
28 changes: 28 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release CLI

on:
push:
tags: ['cli/v*']

permissions:
contents: write

jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: cachix/install-nix-action@v31
- name: Run tests
run: nix develop .#cli-dev --command dap cli test
- uses: actions/setup-go@v5
with:
go-version-file: cli/go.mod
- uses: goreleaser/goreleaser-action@v6
with:
version: '~> v2'
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# Python virtual environment
.venv/

# Go vendor (using gomod2nix instead)
cli/vendor/
vendor/

# Go build output
cli/bin/

# Devbox environment
.devbox/

Expand Down
19 changes: 19 additions & 0 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: 2
project_name: dap
builds:
- dir: cli
binary: dap
env: [CGO_ENABLED=0]
goos: [linux, darwin]
goarch: [amd64, arm64]
ldflags:
- -s -w
- -X github.com/eth-library/dap/cli/cmd.version={{ .Version }}
- -X github.com/eth-library/dap/cli/cmd.commit={{ .Commit }}
- -X github.com/eth-library/dap/cli/cmd.date={{ .Date }}
archives:
- name_template: "dap_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
checksum:
name_template: checksums.txt
release:
name_template: "CLI {{ .Tag }}"
26 changes: 26 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-toml
- id: check-added-large-files

- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.0
hooks:
- id: ruff
args: [--fix]
- id: ruff-format

# Go CLI hooks
- repo: local
hooks:
- id: cli-gomod2nix
name: "cli: Update gomod2nix.toml"
entry: bash -c 'cd cli && gomod2nix && git add gomod2nix.toml'
language: system
files: ^cli/go\.(mod|sum)$
pass_filenames: false
Loading