Vixen
aspiring rust build system
Install / Use
/learn @bearcove/VixenREADME
vixen
A Rust build engine with correct caching. The CLI is vx.
Getting Started
cargo xtask install
This installs vx and vxd. On Linux, you also need libfuse3 and fusermount.
Then try it on your project:
vx build
Brand
- Primary brand color:
#E88602 - Brand guide:
BRAND.md
What it does today
Builds single-crate Rust projects with no dependencies:
vx build # debug build
vx build --release # release build
vx clean # remove .vx/ directory
Outputs go to .vx/build/ (not target/).
Caching
vixen uses content-addressed storage and picante (incremental queries) to cache builds correctly:
- Second build with unchanged inputs = instant (zero rustc invocations)
- Change source, edition, or profile = rebuild
- Different checkout path = still a cache hit (
--remap-path-prefix) - Cache persists across sessions
Global cache lives at ~/.vx/ (or $VX_HOME).
macOS FSKit host
The FSKit extension host lives in apps/mac as Vixen.app.
- App bundle id:
eu.bearcove.vixen - Extension bundle id:
eu.bearcove.vixenfs - App Group path source for
vx-vfs:<mount>/.vixenfs/status.json(app_group_path)
Limitations (v0)
vixen explicitly rejects (with clear errors):
- Workspaces
- Dependencies
- Features
- Build scripts (
build.rs) - Proc macros
- Tests / benches / examples
- Multiple binary targets
Debug logging
RUST_LOG=vx_daemon=debug vx build
Tests
Ordinary Rust tests still run in nextest:
cargo nextest run
If you need to cap per-test memory on Linux, use the wrapper-script profile:
cargo nextest run --profile systemd
export NEXTEST_PROFILE=systemd
export VX_NEXTEST_MEMORY_MAX=2G
cargo nextest run
VX_NEXTEST_MEMORY_MAX=2G cargo nextest run --profile systemd -p vx-eval2 -E 'test(session_) | test(prepared_) | test(stale_)'
Full-stack daemon/VFS scenarios run through xtask instead of nextest:
cargo run -p xtask -- integration list
cargo run -p xtask -- integration run
cargo run -p xtask -- integration run cache-basics
cargo run -p xtask -- integration run json-output --jobs 8
cargo run -p xtask -- integration run lua --no-capture
cargo run -p xtask -- integration run json-output --keep-temp
The xtask integration run suite owns the migrated vx build end-to-end
scenarios that need explicit fixture setup, daemon lifecycle, and retained
artifacts. It bootstraps one shared daemon session, runs an explicit warmup
build before parallel scenarios, supports bounded parallelism with fail-fast
or --no-fail-fast, and reports live pass/fail/running counts.
On failure, the runner prints merged output plus retained temp/artifact
directories so logs can be inspected after teardown. --no-capture switches
to serial execution and streams scenario output directly for debugging, and
--keep-temp keeps scenario temp dirs even on success. Ctrl-C cancels the
run and still tears the shared daemon down.
Co-developed with LLMs
This project was co-developed with LLMs such as Claude, Codex, etc. Human maintainers are responsible for their contributions regardless of machine help.
License
Vixen is licensed under AGPL-3.0-or-later.
For commercial licensing inquiries, contact: amos@bearcove.eu
Related Skills
himalaya
347.6kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
347.6kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
taskflow
347.6kname: taskflow description: Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layer
frontend-design
108.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
