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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
node_modules
# Fixture node_modules that stand in for real npm installs in snapshot tests.
# `**` covers nested monorepo layouts (e.g. packages/foo/node_modules/.bin).
!crates/vt_task_plan/tests/plan_snapshots/fixtures/*/**/node_modules
!crates/vt_plan/tests/plan_snapshots/fixtures/*/**/node_modules
dist
.claude/settings.local.json
*.tsbuildinfo
Expand Down
2 changes: 1 addition & 1 deletion .typos.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ extend-exclude = [
"crates/fspy_detours_sys/src/generated_bindings.rs",
# Intentional typos for testing fuzzy matching and "did you mean" suggestions
"crates/vt_select/src/fuzzy.rs",
"crates/vt_task_bin/tests/e2e_snapshots/fixtures/task_select",
"crates/vt_bin/tests/e2e_snapshots/fixtures/task_select",
]
18 changes: 9 additions & 9 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ A monorepo task runner (like Nx/Turbo) with intelligent caching and dependency r

## Repository Structure

- `crates/vt_task` — Task execution engine with caching and session management
- `crates/vt_task_bin` — Internal dev CLI binary (`vt`) and task synthesizer
- `crates/vt_task_graph` — Task dependency graph construction and config loading
- `crates/vt_task_plan` — Execution planning (resolves env vars, working dirs, commands)
- `crates/vt` — Task execution engine with caching and session management
- `crates/vt_bin` — Internal dev CLI binary (`vt`) and task synthesizer
- `crates/vt_graph` — Task dependency graph construction and config loading
- `crates/vt_plan` — Execution planning (resolves env vars, working dirs, commands)
- `crates/vt_workspace` — Workspace detection and package dependency graph
- `crates/fspy*` — File system access tracing (9 crates: supervisor, preload libs, platform backends)
- `crates/pty_terminal*` — Cross-platform headless terminal emulator (3 crates)
Expand Down Expand Up @@ -48,8 +48,8 @@ PR descriptions must include a `Motivation` section. If the motivation is not cl

```bash
cargo test # All tests
cargo test -p vt_task_bin --test e2e_snapshots # E2E snapshot tests
cargo test -p vt_task_plan --test plan_snapshots # Plan snapshot tests
cargo test -p vt_bin --test e2e_snapshots # E2E snapshot tests
cargo test -p vt_plan --test plan_snapshots # Plan snapshot tests
cargo test --test e2e_snapshots -- stdin # Filter by test name
UPDATE_SNAPSHOTS=1 cargo test # Update snapshots
```
Expand All @@ -62,8 +62,8 @@ The test suite has no known pre-existing failures or flaky tests. If a test fail

### Test Fixtures

- **Plan**: `crates/vt_task_plan/tests/plan_snapshots/fixtures/` — quicker, sufficient for testing task graph, resolved configs, program paths, cwd, and env vars
- **E2E**: `crates/vt_task_bin/tests/e2e_snapshots/fixtures/` — needed for testing execution, caching, output styling
- **Plan**: `crates/vt_plan/tests/plan_snapshots/fixtures/` — quicker, sufficient for testing task graph, resolved configs, program paths, cwd, and env vars
- **E2E**: `crates/vt_bin/tests/e2e_snapshots/fixtures/` — needed for testing execution, caching, output styling

### Cross-Platform Testing

Expand All @@ -78,7 +78,7 @@ The test suite has no known pre-existing failures or flaky tests. If a test fail
### Task Execution Pipeline

```
CLI (vt_task_bin) → Task Graph (vt_task_graph) → Plan (vt_task_plan) → Execution (vt_task)
CLI (vt_bin) → Task Graph (vt_graph) → Plan (vt_plan) → Execution (vt)
↑ ↓
vt_workspace fspy (file tracing)
```
Expand Down
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This installs all required Rust tools (`cargo-insta`, `typos-cli`, `cargo-shear`

## Development Workflow

Officially, Vite Task is distributed as part of Vite+ and invoked via `vp run`. The `vt` binary (`vt_task_bin` crate) is an internal development CLI for working on this repo in pure Rust without building the full Vite+ stack. Use `cargo run --bin vt` to build and run locally during development. Don't reference `vt` in user-facing documentation — it's not a public interface.
Officially, Vite Task is distributed as part of Vite+ and invoked via `vp run`. The `vt` binary (`vt_bin` crate) is an internal development CLI for working on this repo in pure Rust without building the full Vite+ stack. Use `cargo run --bin vt` to build and run locally during development. Don't reference `vt` in user-facing documentation — it's not a public interface.

| | `vp run` (Vite+) | `vt run` (this repo) |
| ------------ | -------------------------------------------- | -------------------- |
Expand All @@ -42,8 +42,8 @@ just doc # Generate documentation

```bash
cargo test # All tests
cargo test -p vt_task_bin --test e2e_snapshots # E2E snapshot tests
cargo test -p vt_task_plan --test plan_snapshots # Plan snapshot tests
cargo test -p vt_bin --test e2e_snapshots # E2E snapshot tests
cargo test -p vt_plan --test plan_snapshots # Plan snapshot tests
cargo test --test e2e_snapshots -- stdin # Filter by test name
UPDATE_SNAPSHOTS=1 cargo test # Update snapshots
```
Expand All @@ -61,8 +61,8 @@ Playwright's bundled Chromium is unavailable on musl, so the Vitest browser fixt

### Test Fixtures

- **Plan snapshots** — `crates/vt_task_plan/tests/plan_snapshots/fixtures/` — quicker, sufficient for testing task graph, resolved configs, program paths, cwd, and env vars
- **E2E snapshots** — `crates/vt_task_bin/tests/e2e_snapshots/fixtures/` — needed for testing actual execution, caching behavior, and output styling
- **Plan snapshots** — `crates/vt_plan/tests/plan_snapshots/fixtures/` — quicker, sufficient for testing task graph, resolved configs, program paths, cwd, and env vars
- **E2E snapshots** — `crates/vt_bin/tests/e2e_snapshots/fixtures/` — needed for testing actual execution, caching behavior, and output styling

See individual crate READMEs for crate-specific testing details.

Expand Down
Loading
Loading