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
# CarryCtx development commands
registry := "https://github.com/Xuepoo/carryctx"
# Install development dependencies
setup:
cargo fetch
lefthook install
# Run the CLI with arguments
dev *args:
cargo run -- {{args}}
# Build release binary
build:
cargo build --release
# Fast check: format + lint + check + test
check-fast:
cargo fmt --check
cargo clippy --workspace -- -D warnings
cargo check
cargo test --lib
# Full check: all quality gates
check:
cargo fmt --check
cargo clippy --workspace -- -D warnings
cargo check
cargo test
just markdownlint
cargo deny check
cargo audit
# CI pipeline (runs in CI)
ci:
just fmt-check
just lint
just typecheck
just test
just markdownlint
just actionlint
just package-smoke
# Type-check (alias for cargo check)
typecheck:
cargo check
# Lint with clippy
lint:
cargo clippy --workspace -- -D warnings
# Format code
fmt:
cargo fmt
# Check formatting
fmt-check:
cargo fmt --check
# Run tests
test:
cargo test
test-unit:
cargo test --lib
test-integration:
cargo test --test '*'
# Markdown linting
markdownlint:
markdownlint-cli2 "**/*.md" "#target" "#node_modules" "#.worktrees"
# Security audit
audit:
cargo audit
deny:
cargo deny check
machete:
cargo machete
# Coverage
coverage:
cargo llvm-cov --all-features --html
# Package smoke test
package-smoke:
cargo build --release
@echo "Package smoke: binary available at target/release/carryctx"
./target/release/carryctx --version
# GitHub Actions local test
act:
act pull_request
# Clean build artifacts
clean:
cargo clean