Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/just-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ jobs:
- name: Install just
uses: extractions/setup-just@v4
- name: Lint justfiles
run: just --justfile just.just --working-directory . fmt-check
run: just --justfile just/just.just --working-directory . just-fmt-check
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,10 @@ Modules are moving into their own directories, each documenting itself:
| `docusaurus` | Docusaurus site build, serve, deploy, formatting | [docusaurus/README.md](docusaurus/README.md) |
| `go` | Go build, test, coverage gate, format, lint | [go/README.md](go/README.md) |
| `md` | Repository markdown formatting (mdformat via uvx) | [md/README.md](md/README.md) |
| `just` | Justfile formatting | [just/README.md](just/README.md) |
| `react` | React app build, lint, format, SDK codegen (Bun) | [react/README.md](react/README.md) |

Modules not yet moved are documented inline below.

### just.just
## just.just

| Recipe | Description |
| ----------- | --------------------------------------- |
Expand Down
3 changes: 0 additions & 3 deletions just.mod.just

This file was deleted.

39 changes: 39 additions & 0 deletions just/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# just.just

Formats and checks the justfiles in a repository, using just's own formatter.

## 📦 Usage

`just.just` is consumed with `import?`. Its recipes are flat and prefixed, so it
needs no `.mod.just` shim.

```just
import? '.just/remote/just.just'

# Fetch shared justfiles from osapi-justfiles
fetch:
mkdir -p .just/remote
curl -sSfL https://raw.githubusercontent.com/osapi-io/osapi-justfiles/refs/heads/main/just/just.just -o .just/remote/just.just
```

Then:

```bash
just fetch # Download the shared recipe file
just just-fmt # Reformat every justfile in the repository
just just-fmt-check # Check formatting, non-zero exit on drift
```

## 🔍 What it covers

Every `justfile` and `*.just` in the repository, except:

| Skipped | Why |
| -------------- | -------------------------------------------------------------- |
| `**/.just/*` | fetched modules, at any depth — they belong to this repository |
| `.worktrees/*` | checkouts of other branches |
| `.claude/*` | generated and regenerated by tooling |

## 📄 License

The [MIT](../LICENSE) License.
4 changes: 2 additions & 2 deletions just.just → just/just.just
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

# Reformat justfiles with canonical style
[group('fmt')]
fmt:
just-fmt:
#!/usr/bin/env bash
set -euo pipefail
find . -type f \( -name '*.just' -o -name 'justfile' \) ! -path './.worktrees/*' ! -path './.claude/*' ! -path '*/.just/*' | while read -r f; do
Expand All @@ -27,7 +27,7 @@ fmt:

# Check justfile formatting
[group('fmt')]
fmt-check:
just-fmt-check:
#!/usr/bin/env bash
set -euo pipefail
failed=0
Expand Down
4 changes: 2 additions & 2 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

# Check justfile formatting
test:
just --justfile just.just --working-directory . fmt-check
just --justfile just/just.just --working-directory . just-fmt-check

# Format and lint before committing
ready:
just --justfile just.just --working-directory . fmt
just --justfile just/just.just --working-directory . just-fmt