Skip to content

Commit 0c01b3f

Browse files
lkronecker13claude
andauthored
feat: migrate from Makefile to justfile (#7)
* redefine template * feat: migrate from Makefile to justfile Replace Makefile with justfile for simpler task automation: - All 15 recipes preserved with identical functionality - Built-in `just --list` replaces manual grep/awk help - No .PHONY boilerplate needed - Recipe dependencies instead of $(MAKE) recursion Updated all references: - README.md - Workflow documentation files - Pre-commit hooks - GitHub Actions CI (added setup-just action) Also removed Bot Brewers reference from README. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * chore: defer workflow seed files for later introduction Gitignore PROJECT_INIT_WORKFLOW.md and remove context seed templates (PRODUCT.md, ENGINEERING.md) from this PR. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent f0f42c3 commit 0c01b3f

14 files changed

Lines changed: 2082 additions & 410 deletions

.github/workflows/ci.yml

Lines changed: 55 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -26,101 +26,113 @@ jobs:
2626
runs-on: ubuntu-latest
2727
steps:
2828
- uses: actions/checkout@v4
29-
29+
30+
- name: Install just
31+
uses: extractions/setup-just@v2
32+
3033
- name: Install uv
3134
uses: astral-sh/setup-uv@v3
3235
with:
3336
enable-cache: true
3437
cache-dependency-glob: |
3538
pyproject.toml
3639
*.py
37-
40+
3841
- name: Set up Python
3942
run: uv python install 3.12
40-
43+
4144
- name: Install dependencies
4245
run: |
4346
uv venv --python 3.12
44-
make sync
45-
47+
just sync
48+
4649
- name: Format code
47-
run: make format
50+
run: just format
4851

4952
lint:
5053
needs: format
5154
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'pull_request' && github.event.action != 'closed')
5255
runs-on: ubuntu-latest
5356
steps:
5457
- uses: actions/checkout@v4
55-
58+
59+
- name: Install just
60+
uses: extractions/setup-just@v2
61+
5662
- name: Install uv
5763
uses: astral-sh/setup-uv@v3
5864
with:
5965
enable-cache: true
6066
cache-dependency-glob: |
6167
pyproject.toml
6268
*.py
63-
69+
6470
- name: Set up Python
6571
run: uv python install 3.12
66-
72+
6773
- name: Install dependencies
6874
run: |
6975
uv venv --python 3.12
70-
make sync
71-
76+
just sync
77+
7278
- name: Run linters
73-
run: make lint
79+
run: just lint
7480

7581
type-check:
7682
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'pull_request' && github.event.action != 'closed')
7783
runs-on: ubuntu-latest
7884
steps:
7985
- uses: actions/checkout@v4
80-
86+
87+
- name: Install just
88+
uses: extractions/setup-just@v2
89+
8190
- name: Install uv
8291
uses: astral-sh/setup-uv@v3
8392
with:
8493
enable-cache: true
8594
cache-dependency-glob: |
8695
pyproject.toml
8796
*.py
88-
97+
8998
- name: Set up Python
9099
run: uv python install 3.12
91-
100+
92101
- name: Install dependencies
93102
run: |
94103
uv venv --python 3.12
95-
make sync
96-
104+
just sync
105+
97106
- name: Run type checks
98-
run: make type-check
107+
run: just type-check
99108

100109
test:
101110
if: (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'pull_request' && github.event.action != 'closed')
102111
runs-on: ubuntu-latest
103112
steps:
104113
- uses: actions/checkout@v4
105-
114+
115+
- name: Install just
116+
uses: extractions/setup-just@v2
117+
106118
- name: Install uv
107119
uses: astral-sh/setup-uv@v3
108120
with:
109121
enable-cache: true
110122
cache-dependency-glob: |
111123
pyproject.toml
112124
*.py
113-
125+
114126
- name: Set up Python
115127
run: uv python install 3.12
116-
128+
117129
- name: Install dependencies
118130
run: |
119131
uv venv --python 3.12
120-
make sync
121-
132+
just sync
133+
122134
- name: Run tests
123-
run: make test-unit
135+
run: just test-unit
124136

125137
merged-test:
126138
if: github.event_name == 'pull_request' && github.event.action != 'closed'
@@ -130,25 +142,28 @@ jobs:
130142
with:
131143
ref: ${{ github.event.pull_request.merge_commit_sha }}
132144
fetch-depth: 0
133-
145+
146+
- name: Install just
147+
uses: extractions/setup-just@v2
148+
134149
- name: Install uv
135150
uses: astral-sh/setup-uv@v3
136151
with:
137152
enable-cache: true
138153
cache-dependency-glob: |
139154
pyproject.toml
140155
*.py
141-
156+
142157
- name: Set up Python
143158
run: uv python install 3.12
144-
159+
145160
- name: Install dependencies
146161
run: |
147162
uv venv --python 3.12
148-
make sync
149-
163+
just sync
164+
150165
- name: Run tests
151-
run: make test-unit
166+
run: just test-unit
152167

153168
release:
154169
needs: [format, lint, type-check, test]
@@ -161,33 +176,36 @@ jobs:
161176
with:
162177
fetch-depth: 0
163178
token: ${{ secrets.RELEASE_TOKEN }}
164-
179+
180+
- name: Install just
181+
uses: extractions/setup-just@v2
182+
165183
- name: Install uv
166184
uses: astral-sh/setup-uv@v3
167185
with:
168186
enable-cache: true
169187
cache-dependency-glob: |
170188
pyproject.toml
171189
*.py
172-
190+
173191
- name: Set up Python
174192
run: uv python install 3.12
175-
193+
176194
- name: Install dependencies
177195
run: |
178196
uv venv --python 3.12
179-
make sync
197+
just sync
180198
uv pip install python-semantic-release
181-
199+
182200
- name: Configure Git
183201
run: |
184202
git config user.name "GitHub Actions"
185203
git config user.email "actions@github.com"
186-
204+
187205
- name: Bump version and publish release
188206
env:
189207
GH_TOKEN: ${{ secrets.RELEASE_TOKEN }}
190208
run: |
191209
uv run semantic-release version
192210
git push --follow-tags origin ${{ github.ref_name }}
193-
uv run semantic-release publish
211+
uv run semantic-release publish

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,3 +268,8 @@ TODO.md
268268
notes.md
269269
scratch/
270270
.serena/
271+
272+
# Workflow files (introduce later)
273+
workflows/PROJECT_INIT_WORKFLOW.md
274+
context/PRODUCT.md
275+
context/ENGINEERING.md

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,28 +3,28 @@ repos:
33
hooks:
44
- id: format-check
55
name: Format code with ruff
6-
entry: make format
6+
entry: just format
77
language: system
88
stages: [pre-commit]
99
verbose: true
1010
pass_filenames: false
1111
- id: lint-check
1212
name: Run ruff linter
13-
entry: make lint
13+
entry: just lint
1414
language: system
1515
stages: [pre-commit]
1616
verbose: true
1717
pass_filenames: false
1818
- id: type-check
1919
name: Run mypy type checker
20-
entry: make type-check
20+
entry: just type-check
2121
language: system
2222
stages: [pre-commit]
2323
verbose: true
2424
pass_filenames: false
2525
- id: unit-tests
2626
name: Run unit tests
27-
entry: make test-unit
27+
entry: just test-unit
2828
language: system
2929
stages: [pre-commit]
3030
verbose: true

Makefile

Lines changed: 0 additions & 136 deletions
This file was deleted.

0 commit comments

Comments
 (0)