build(repo): add justfile to complete bootstrap v0.1.0
Adds the local task runner required by docs/governance/repository-bootstrap-plan.md v0.1.0 §3, with stubs for format, lint, test, verify-docs, and security-scan. Closes the last gap in repository-bootstrap-plan v0.1.0; CI workflow files remain deferred per the plan.
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# Chanora — local task runner.
|
||||
#
|
||||
# Conforms to docs/governance/repository-bootstrap-plan.md v0.1.0 §3,
|
||||
# which requires a `justfile` with stubs for format / lint / test /
|
||||
# verify-docs / security-scan. The repository is documentation- and
|
||||
# PoC-first; until the product Flutter/Rust workspace exists, most
|
||||
# targets are placeholders.
|
||||
#
|
||||
# Install just: https://github.com/casey/just
|
||||
|
||||
default:
|
||||
@just --list
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Docs validation
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Run the documentation/traceability validator.
|
||||
verify-docs:
|
||||
python3 tools/validate_docs.py
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Formatting
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Format every codebase in the repo that has a formatter wired up.
|
||||
format:
|
||||
@echo "[format] Rust PoCs"
|
||||
@for d in poc/*/; do \
|
||||
if [ -f "$$d/Cargo.toml" ]; then \
|
||||
(cd "$$d" && cargo fmt --all) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@if [ -d poc/flutter_rust_bridge_hello ]; then \
|
||||
echo "[format] Flutter PoC"; \
|
||||
(cd poc/flutter_rust_bridge_hello && dart format lib test integration_test rust/src) || exit 1; \
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Lint
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Run linters on every codebase that has them wired up.
|
||||
lint:
|
||||
@echo "[lint] Rust PoCs"
|
||||
@for d in poc/*/; do \
|
||||
if [ -f "$$d/Cargo.toml" ]; then \
|
||||
(cd "$$d" && cargo clippy --all-targets -- -D warnings) || exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@if [ -d poc/flutter_rust_bridge_hello ]; then \
|
||||
echo "[lint] Flutter PoC"; \
|
||||
(cd poc/flutter_rust_bridge_hello && flutter analyze) || exit 1; \
|
||||
fi
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Test
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Run all PoC test suites that have one.
|
||||
test:
|
||||
@echo "[test] tsclientlib-connect-spike: build only (live-server smoke must be run manually)"
|
||||
@(cd poc/tsclientlib-connect-spike && cargo build --release)
|
||||
@echo "[test] flutter_rust_bridge_hello: headless verification"
|
||||
@(cd poc/flutter_rust_bridge_hello && \
|
||||
flutter build linux --debug && \
|
||||
LD_LIBRARY_PATH="$$PWD/build/linux/x64/debug/bundle/lib:$$LD_LIBRARY_PATH" \
|
||||
flutter test test/poc_verification_test.dart)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Security scan
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
# Placeholder — real security scanning will be wired up when the product
|
||||
# workspace exists. See docs/security/dependency-and-supply-chain-report.md
|
||||
# and docs/governance/repository-bootstrap-plan.md §5.
|
||||
security-scan:
|
||||
@echo "[security-scan] placeholder — no product workspace yet."
|
||||
@echo "[security-scan] documentation gates live under docs/security/"
|
||||
Reference in New Issue
Block a user