gor-cli 0.2.0

A Rust CLI for GitHub — a 'gh' clone
Documentation
# gor development tasks — run `just` to list recipes, `just <recipe>` to run one.
# https://github.com/casey/just

# List all available recipes.
default:
    @just --list

# Build with locked Cargo.lock.
build:
    cargo build --locked

# Build an optimized release binary with locked Cargo.lock.
release:
    cargo build --locked --release

# Run the full test suite (nextest + doc tests).
test:
    cargo nextest run --workspace --all-features
    cargo test --doc

# Run library unit tests only.
test-unit:
    cargo nextest run --lib

# Run integration tests only.
test-integration:
    cargo nextest run --test integration

# Lint: check formatting and run clippy with warnings denied.
lint:
    cargo fmt --all --check
    cargo clippy --all-targets --all-features -- -D warnings

# Lint and auto-fix formatting and clippy issues.
lint-fix:
    cargo fmt --all
    cargo clippy --all-targets --all-features --fix --allow-dirty

# Build documentation with broken links / warnings denied.
doc:
    RUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps --open

# Produce an lcov coverage report via llvm-cov.
coverage:
    cargo llvm-cov nextest --workspace --all-features --lcov --output-path lcov.info
    cargo llvm-cov report --lcov --output-path lcov.info

# Supply-chain checks: cargo-deny, cargo-audit, and trivy.
audit:
    cargo deny check
    cargo audit

# Run Trivy security scan (vulns, secrets, misconfigs).
trivy:
    trivy fs --scanners vuln,secret,misconfig --severity CRITICAL,HIGH .

# Run Kingfisher secret scanner.
kingfisher:
    kingfisher scan . --no-update-check

# Spellcheck the tree.
typos:
    typos

# Detect unused dependencies.
shear:
    cargo shear

# Remove build artifacts.
clean:
    cargo clean

# Run the same gates as CI: lint, test, audit, typos, shear, trivy, kingfisher.
ci: lint test audit typos shear trivy kingfisher

# Install the binary locally from this checkout.
install:
    cargo install --path . --locked