Files
spacedrive/justfile
T
Jamie Pine b1b0d28b72 Refresh project context and working registers
README rewritten for the 2.0 release framing. AGENTS.md points at
product-direction.mdx for the product boundary and makes
PROJECT_STATUS.md the project-wide working register (the entries
teardown table stays authoritative for that track). CLAUDE.md and
PROJECT_STATUS.md are now tracked. Spacebot VISION marked retired.
justfile gains dev-docs/build-docs and splits dev-desktop-watch out of
dev-desktop. Tauri gen schemas regenerated.
2026-09-15 00:59:41 -07:00

99 lines
2.6 KiB
Makefile

# Spacedrive development commands
# Install JS dependencies and generate the cargo config
setup:
bun install
cargo xtask setup
# Same, plus the prebuilt codec bundle (FFmpeg, libheif, Pdfium)
setup-native-deps:
bun install
cargo xtask setup --native-deps
# Run the daemon (default dev workflow: just dev-daemon + just dev-desktop)
dev-daemon *ARGS:
cargo run --bin sd-daemon {{ARGS}}
# Run the desktop app in dev mode
dev-desktop:
cd apps/tauri && bun run tauri:dev:no-watch
# Run the desktop app in dev mode, rebuilding on Rust changes
dev-desktop-watch:
cd apps/tauri && bun run tauri:dev
# Run the docs site in dev mode (Fumadocs, standalone install in docs/)
dev-docs:
cd docs && bun install && bun run dev
# Build the docs site
build-docs:
cd docs && bun install && bun run build
# Run the mobile app in dev mode
dev-mobile:
cd apps/mobile && bun run start
# Run the mobile app on iOS
dev-mobile-ios:
cd apps/mobile && bun run ios
# Run the mobile app on Android
dev-mobile-android:
cd apps/mobile && bun run android
# Build the native mobile core
build-mobile:
cargo xtask build-mobile
# Run the headless server (web UI, no desktop app)
dev-server *ARGS:
cargo run --bin sd-server {{ARGS}}
# Run all workspace tests
test:
cargo test --workspace
# Build everything (default members)
build:
cargo build
# Build in release mode
build-release:
cargo build --release
# Format and lint
check:
cargo fmt --check
cargo clippy --workspace
# Format code
fmt:
cargo fmt
# Link SpaceUI packages for local development.
spaceui-link:
#!/usr/bin/env bash
set -euo pipefail
if [ ! -d ../spaceui/packages ]; then
echo "Error: ../spaceui not found. Clone it adjacent to this repo:"
echo " git clone https://github.com/spacedriveapp/spaceui ../spaceui"
exit 1
fi
cd ../spaceui
bun install && bun run build --filter='@spacedrive/primitives' --filter='@spacedrive/ai' --filter='@spacedrive/forms' --filter='@spacedrive/explorer' --filter='@spacedrive/tokens'
for pkg in primitives ai forms explorer tokens; do
cd packages/$pkg && bun link && cd ../..
done
cd "{{justfile_directory()}}"
bun link @spacedrive/primitives @spacedrive/ai @spacedrive/forms @spacedrive/explorer @spacedrive/tokens
echo "SpaceUI packages linked successfully."
# Unlink SpaceUI packages and restore npm versions.
spaceui-unlink:
cd packages/interface && bun unlink @spacedrive/primitives @spacedrive/ai @spacedrive/forms @spacedrive/explorer @spacedrive/tokens && bun install
# Run the CLI
cli *ARGS:
cargo run --bin sd-cli -- {{ARGS}}