Skip to content

Commit fae0ddb

Browse files
dev: Use just as command runner instead of make (#182)
I've also broken down the monolithic Makefile (now a justfile) into smaller scripts to keep things manageable. Cargo tool installations now go through binstall, as we do in CI.
1 parent 16e6298 commit fae0ddb

38 files changed

Lines changed: 252 additions & 192 deletions

File tree

.githooks/pre-commit

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ if command -v dprint >/dev/null 2>&1; then
1010
exit 1
1111
fi
1212
else
13-
echo "warning: dprint not found — format check skipped (run 'make install-tools' to install)" >&2
13+
echo "warning: dprint not found — format check skipped (run 'just install-tools' to install)" >&2
1414
fi
1515

1616
if ! command -v trufflehog >/dev/null 2>&1; then
17-
echo "warning: trufflehog not found — secret scan skipped (run 'make install-tools' to install)" >&2
17+
echo "warning: trufflehog not found — secret scan skipped (run 'just install-tools' to install)" >&2
1818
exit 0
1919
fi
2020

.github/Pull_request_template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
-->
3030

3131
```bash
32-
make check # fmt + toml-fmt + lint + test + build + audit + deny (CI parity)
32+
just check # fmt + toml-fmt + lint + test + build + audit + deny (CI parity)
3333

3434
# Single crate (if applicable):
3535
cargo test -p <crate-name>
@@ -81,7 +81,7 @@ cargo test -p <crate-name> <module>::tests::<test_name>
8181
## Checklist
8282

8383
- [ ] Thinking path traces from project context down to this specific change
84-
- [ ] `make check` passes locally (fmt + toml-fmt + lint + test + build + audit + deny)
84+
- [ ] `just check` passes locally (fmt + toml-fmt + lint + test + build + audit + deny)
8585
- [ ] No `.unwrap()`, `.expect()`, `panic!()`, or `unsafe` introduced outside of test code
8686
- [ ] All error paths are fail-closed — errors produce DENY, not silent ALLOW
8787
- [ ] No network calls added on the hot path (normalizer → Stage 1 → Stage 2)

.github/workflows/demo-e2e.yml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ env:
1313

1414
jobs:
1515
demo-ci:
16-
name: make demo-ci
16+
name: just demo-ci
1717
runs-on: ubuntu-22.04
1818
timeout-minutes: 15
1919
steps:
@@ -37,11 +37,23 @@ jobs:
3737
- name: Install jq + netcat
3838
run: sudo apt-get install -y jq netcat-openbsd
3939

40+
- name: Install cargo-binstall
41+
uses: cargo-bins/cargo-binstall@30b5ca8b54e1dcffd9548bc87ede1531310fdc67 # v1.20.0
42+
env:
43+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44+
45+
- name: Install just
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
run: |
49+
command -v just || cargo binstall -y --force --locked just
50+
shell: bash
51+
4052
- name: Build release binaries
4153
run: cargo build --release -p firma -p firma-demo-fixture
4254

4355
- name: Run demo CI driver
44-
run: timeout 90 make demo-ci
56+
run: timeout 90 just demo-ci
4557

4658
- name: Assert audit ALLOW + DENY events
4759
run: |

.skills/build/SKILL.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Run this skill after making code changes to ensure the workspace still compiles.
1616
### Full workspace build
1717

1818
```bash
19-
make build
19+
just build
2020
```
2121

2222
### Single-crate build
@@ -43,5 +43,5 @@ cargo build -p firma-run --all-features
4343

4444
## Notes
4545

46-
- `make check` already includes `make build`, so a full PR validation does not need a separate build step.
47-
- Prefer `make build` over ad hoc cargo invocations unless you are intentionally narrowing scope.
46+
- `just check` already includes `just build`, so a full PR validation does not need a separate build step.
47+
- Prefer `just build` over ad hoc cargo invocations unless you are intentionally narrowing scope.

.skills/fix-jj-conflicts/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ If unsure about the correct resolution, ask the user rather than guessing.
5454
Run:
5555

5656
```bash
57-
make check
57+
just check
5858
```
5959

6060
### 4. Re-check remaining conflicts
@@ -73,7 +73,7 @@ After all conflicts are resolved, confirm no conflicts remain and verify the fin
7373

7474
```bash
7575
jj log -r '(<target-revset>) & conflicts()'
76-
make check
76+
just check
7777
```
7878

7979
### 6. Cleanup

.skills/lint/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Run this skill after editing `.rs`, `.toml`, or `.md` files.
1616
### 1. Format check
1717

1818
```bash
19-
make fmt
19+
just fmt
2020
```
2121

2222
This runs `dprint check` for Rust, TOML, and Markdown.
@@ -30,7 +30,7 @@ dprint fmt
3030
### 2. Lint check
3131

3232
```bash
33-
make lint
33+
just lint
3434
```
3535

3636
### 3. Common repo-specific lint expectations

.skills/run-rust-tests/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ cargo test --doc -p <crate1> -p <crate2>
5050
### `all`
5151

5252
```bash
53-
make test
53+
just test
5454
```
5555

5656
### One crate
@@ -75,4 +75,4 @@ cargo test --doc -p <crate-name>
7575
## Notes
7676

7777
- `cargo nextest` does not run doctests in this repo.
78-
- Prefer targeted crate runs while iterating, then `make test` or `make check` at the end.
78+
- Prefer targeted crate runs while iterating, then `just test` or `just check` at the end.

.skills/split-jj-changeset/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ The combined split should match the original.
8888
Run the validation plan agreed with the user. It is usually enough to run:
8989

9090
```bash
91-
make check
91+
just check
9292
```
9393

9494
Use narrower crate-level commands when appropriate during iteration.

.skills/verify/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Use this skill before opening a PR or handing work back to a reviewer.
1616
Run the repository's full local verification target:
1717

1818
```bash
19-
make check
19+
just check
2020
```
2121

2222
Ensure the new code adheres to the policies defined in [`rust-tests-guidelines`](../rust-tests-guidlines/SKILL.md) and [`rust-docs-guidelines`](../rust-docs-guidelines/SKILL.md).

AGENTS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ Guidance for coding agents working in this repository.
55
## Key Commands
66

77
```bash
8-
make check # Run all local verification checks (CI parity)
9-
make fmt # dprint check (TOML + Markdown + Rust)
10-
make lint # cargo clippy --workspace -- -D warnings
11-
make test # cargo nextest run + cargo test --doc
12-
make build # cargo build --workspace
8+
just check # Run all local verification checks (CI parity)
9+
just fmt # dprint check (TOML + Markdown + Rust)
10+
just lint # cargo clippy --workspace -- -D warnings
11+
just test # cargo nextest run + cargo test --doc
12+
just build # cargo build --workspace
1313
```
1414

1515
Tests run via `cargo nextest` (process-per-test isolation); doctests run
@@ -20,7 +20,7 @@ Requires `protoc` installed for `firma-proto` protobuf compilation.
2020
## Formatting
2121

2222
`dprint` is the single formatter for the repo. Run `dprint fmt` after modifying
23-
`.toml`, `.md`, or `.rs` files. `make fmt` runs `dprint check` in CI.
23+
`.toml`, `.md`, or `.rs` files. `just fmt` runs `dprint check` in CI.
2424

2525
`docs-site/` is excluded and uses its own toolchain.
2626

0 commit comments

Comments
 (0)