-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
140 lines (109 loc) · 4.16 KB
/
Copy pathjustfile
File metadata and controls
140 lines (109 loc) · 4.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# List available recipes
default:
@just --list
run:
cargo run -p wisp -- -a 'cargo run -p aether-agent-cli acp'
# Build the workspace
build:
cargo build
# Check the workspace
check:
cargo check
# Run tests with nextest
test *PKGS:
cargo nextest run --no-tests pass --all-features {{ if PKGS == "" { "--workspace --exclude internal-evals" } else { PKGS } }}
# Run tests with nextest's CI profile and JUnit output
test-ci *PKGS:
cargo nextest run --no-tests pass --profile ci --all-features {{ if PKGS == "" { "--workspace --exclude internal-evals" } else { PKGS } }}
# Run real LLM evals from the dedicated eval crate against a fresh sandbox image
evals *ARGS: build-sandbox
cargo nextest run -p internal-evals --ignore-default-filter -E 'group(evals)' {{ARGS}}
# List eval test names without running them
evals-list *ARGS:
cargo nextest list -p internal-evals --ignore-default-filter -E 'group(evals)' {{ARGS}}
# Check formatting
fmt-check *PKGS:
cargo fmt --check {{ if PKGS == "" { "--all" } else { PKGS } }}
# Format Rust code
fmt:
cargo fmt --all
# Run clippy
lint *PKGS:
cargo clippy --all-targets --all-features {{ if PKGS == "" { "--workspace" } else { PKGS } }} -- -D warnings
# Verify checked SQL queries match the session-index schema
sqlx-check:
#!/usr/bin/env bash
set -euo pipefail
db="$(mktemp /tmp/aether-session-index.XXXXXX)"
trap 'rm -f "$db" "$db-wal" "$db-shm"' EXIT
cd crates/aether-session-index
DATABASE_URL="sqlite://$db" cargo sqlx migrate run
DATABASE_URL="sqlite://$db" cargo sqlx prepare --check
# Check documentation builds without warnings
doc-check *PKGS:
RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --document-private-items --all-features {{ if PKGS == "" { "--workspace --examples" } else { PKGS } }}
# Regenerate the AetherSettings JSON Schema consumed by the website and SDK
gen-schema:
cargo run -q -p aether-project --bin aether-settings-schema > packages/website/src/data/aether-settings.schema.json
# Install Node dependencies for the TypeScript SDK
sdk-install:
pnpm install --frozen-lockfile
# Build the cli debug binary, then run SDK tests (incl. the real-binary stdio e2e test).
sdk-test:
cargo build -p aether-agent-cli
pnpm sdk:test
# End-to-end probe: build aether + SDK, then run one prompt through the real binary.
# Forwards extra args to the script (e.g. `just sdk-e2e -- --model anthropic:claude-sonnet-4-5`).
sdk-e2e *ARGS:
cargo build -p aether-agent-cli
pnpm sdk:build
pnpm sdk:e2e {{ARGS}}
# Run all CI checks
ci: fmt-check lint test-ci doc-check sqlx-check
pnpm fmt-check
pnpm sdk:typecheck
pnpm sdk:test
# Initialize or update cargo-dist configuration and CI workflows
dist-init:
dist init
# Preview what cargo-dist will build in CI
dist-plan:
dist plan
# Build distributable artifacts for the current platform
dist-build:
dist build
# Smoke test dist release workflow locally with act (optional)
act-dist-plan:
act pull_request -W .github/workflows/release.yml -j plan -P ubuntu-22.04=catthehacker/ubuntu:act-22.04
# Preview unreleased changelog
changelog:
git cliff --unreleased
# Generate full CHANGELOG.md
changelog-gen:
git cliff -o CHANGELOG.md
# Update crates/llm/models.json from models.dev
update-models:
./crates/llm/scripts/fetch-models.sh
# Sweep build artifacts older than N days (default: 7)
sweep DAYS="7":
cargo sweep --time {{DAYS}}
# Sweep artifacts not used by the current toolchain
sweep-installed:
cargo sweep --time 1
# Build the sandbox image from the eval example Dockerfile
build-sandbox TAG="aether-sandbox:latest":
docker build -t {{TAG}} -f crates/internal-evals/examples/Dockerfile .
# Run wisp + aether agent inside the sandbox
run-sandbox:
cargo run -p wisp -- -a 'cargo run -p aether-agent-cli -- --sandbox-image aether-sandbox:latest acp'
# Install aether-cli and wisp binaries locally
install:
cargo install --path crates/aether-cli --force
cargo install --path crates/wisp --force
cargo sweep --installed
# Preview the release PR release-plz would open against main
release-pr-preview:
release-plz release-pr --dry-run
# Clean everything
clean:
cargo clean