Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -494,6 +494,10 @@ cp "$(git worktree list --porcelain | head -1 | sed 's/worktree //')/.env" .env
```
Both steps are required before running builds, tests, or evals in the worktree.

### After Checking Out an Existing Branch or PR

Whenever you `git checkout`, `gh pr checkout`, `git pull`, or otherwise switch to a ref that may have changed `package.json` / `bun.lock`, run `bun install` before building, testing, or pushing. The pre-push hook builds all workspaces — if dependencies are stale, the push fails with errors like `Cannot find module 'recharts'` even though the source change is unrelated. `bun install` is cheap when already up-to-date, so run it by default after any ref switch.

## Version Management

This project uses a simple release script for version bumping. The git commit history serves as the changelog.
Expand Down
14 changes: 13 additions & 1 deletion apps/cli/src/commands/pipeline/input.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,18 @@ export const evalInputCommand = command({
long: 'experiment',
description: 'Experiment label (e.g. with_skills, without_skills)',
}),
target: option({
type: optional(string),
long: 'target',
description: 'Override target name from targets.yaml (mirrors eval run --target)',
}),
targets: option({
type: optional(string),
long: 'targets',
description: 'Path to targets.yaml (overrides discovery)',
}),
},
handler: async ({ evalPath, out, experiment }) => {
handler: async ({ evalPath, out, experiment, target, targets }) => {
const resolvedEvalPath = resolve(evalPath);
const outDir = resolve(out ?? buildDefaultRunDir(process.cwd(), experiment));
const repoRoot = await findRepoRoot(dirname(resolvedEvalPath));
Expand Down Expand Up @@ -94,6 +104,8 @@ export const evalInputCommand = command({
testFilePath: resolvedEvalPath,
repoRoot,
cwd: evalDir,
cliTargetName: target,
explicitTargetsPath: targets,
dryRun: false,
dryRunDelay: 0,
dryRunDelayMin: 0,
Expand Down
14 changes: 13 additions & 1 deletion apps/cli/src/commands/pipeline/run.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,18 @@ export const evalRunCommand = command({
description:
'Which grading phase to run: "code" runs code-graders inline, omit to skip grading (use pipeline grade separately)',
}),
target: option({
type: optional(string),
long: 'target',
description: 'Override target name from targets.yaml (mirrors eval run --target)',
}),
targets: option({
type: optional(string),
long: 'targets',
description: 'Path to targets.yaml (overrides discovery)',
}),
},
handler: async ({ evalPath, out, workers, experiment, graderType }) => {
handler: async ({ evalPath, out, workers, experiment, graderType, target, targets }) => {
const resolvedEvalPath = resolve(evalPath);
const outDir = resolve(out ?? buildDefaultRunDir(process.cwd(), experiment));
const repoRoot = await findRepoRoot(dirname(resolvedEvalPath));
Expand Down Expand Up @@ -124,6 +134,8 @@ export const evalRunCommand = command({
testFilePath: resolvedEvalPath,
repoRoot,
cwd: evalDir,
cliTargetName: target,
explicitTargetsPath: targets,
dryRun: false,
dryRunDelay: 0,
dryRunDelayMin: 0,
Expand Down
Loading