1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
# ratatui-markdown Build System
#
# Usage:
# just <recipe> - Run specified recipe
# just --list - List all available recipes
# just --summary - Briefly list all recipe names
# Python command
py := "python3"
default:
@just --list
# ============================================================================
# Build
# ============================================================================
# Build with all features (debug)
build:
@echo " → Building..."
@cargo build --all-features
# Build with all features (release)
build-release:
@echo " → Building (Release)..."
@cargo build --all-features --release
# ============================================================================
# Code quality
# ============================================================================
# Format code with rustfmt
fmt:
@echo " → Formatting code..."
@cargo fmt --all
# Run Clippy checks
clippy:
@echo " → Running Clippy..."
@cargo clippy --all-targets --all-features -- -D warnings
# Type-check all features
check:
@echo " → Checking..."
@cargo check --all-features
# ============================================================================
# Testing
# ============================================================================
# Run all tests
test:
@echo " → Running tests..."
@cargo test --all-features
# Run tests with output
test-verbose:
@cargo test --all-features -- --nocapture
# Run tests for each feature combination
test-all:
@echo " → Testing no default features..."
@cargo test --no-default-features
@echo " → Testing markdown only..."
@cargo test --no-default-features --features markdown
@echo " → Testing scroll only..."
@cargo test --no-default-features --features scroll
@echo " → Testing tree..."
@cargo test --no-default-features --features tree
@echo " → Testing preview (all)..."
@cargo test --all-features
# ============================================================================
# Maintenance
# ============================================================================
# Clean build artifacts
clean:
@echo " → Cleaning..."
@cargo clean
# Update dependencies
update:
@echo " → Updating dependencies..."
@cargo update
# ============================================================================
# Utilities
# ============================================================================
# Enforce use statement grouping rules
enforce-use:
@{{py}} scripts/utils/enforce_use_group.py
# Run all CI checks locally
ci:
@echo " → Running format check..."
@cargo fmt --all -- --check
@echo " → Running Clippy..."
@cargo clippy --all-targets --all-features -- -D warnings
@echo " → Running tests..."
@cargo test --all-features
@echo " ✓ All CI checks passed"
# ============================================================================
# Documentation
# ============================================================================
# Open API documentation in browser
doc:
@cargo doc --all-features --open