diff --git a/Justfile b/Justfile new file mode 100644 index 0000000..84a9b66 --- /dev/null +++ b/Justfile @@ -0,0 +1,64 @@ +# Storybook project recipes + +# List available recipes +default: + @just --list + +# Run all tests +test: + cargo nextest run + +# Run unit tests only (faster) +test-lib: + cargo nextest run --lib + +# Run a specific test by name +test-filter name: + cargo nextest run -E 'test({{name}})' + +# Build everything (debug) +build: + cargo build + +# Build release binaries +build-release: + cargo build --release + +# Clean all build artifacts +clean: + cargo xtask clean + +# Install the LSP server to ~/.cargo/bin +install-lsp: + cargo install --path . --bin storybook-lsp --force + +# Build and install the Zed extension (run install-lsp first if LSP changed) +build-zed: + cd zed-storybook && ./build-extension.sh + +# Full Zed dev workflow: reinstall LSP then rebuild extension +zed: install-lsp build-zed + +# Run clippy lints +lint: + cargo clippy + +# Format all Rust code +fmt: + cargo fmt + +# Check formatting without modifying files +fmt-check: + cargo fmt --check + +# Generate tree-sitter parser from grammar.js +grammar: + cd tree-sitter-storybook && tree-sitter generate + +# Build the docs +docs: + cd docs && mdbook build + +# Serve the docs locally with live reload +docs-serve: + cd docs && mdbook serve