Skip to content

Commit 4fcaadd

Browse files
Add project/taskfile.yml.j2 template
1 parent 0e36066 commit 4fcaadd

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

project/taskfile.yml.j2

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
version: "3.0"
2+
3+
set: ['e', 'u', 'pipefail']
4+
shopt: ['globstar']
5+
6+
dotenv: ['.env']
7+
8+
env:
9+
TLD: "{{"{{"}}".ROOT_DIR"{{"}}"}}"
10+
VENV_DIR: ".venv"
11+
12+
vars:
13+
14+
includes:
15+
docker:
16+
taskfile: ./taskfiles/docker.yml
17+
uv:
18+
taskfile: ./taskfiles/uv.yml
19+
20+
tasks:
21+
default:
22+
desc: "Default task"
23+
cmds:
24+
- task --list
25+
26+
install-devbox:
27+
desc: "Install devbox"
28+
cmds:
29+
- curl -fsSL https://get.jetify.com/devbox | bash
30+
run: once
31+
silent: true
32+
environment:
33+
FORCE: 1
34+
INSTALL_DIR: "{{"{{"}}".HOME"{{"}}"}}/.local/bin"
35+
status:
36+
- command -v devbox 2>/dev/null
37+
38+
install:
39+
desc: "Install project dependencies"
40+
deps: ["install-devbox"]
41+
cmds:
42+
- devbox install
43+
44+
pre-commit:
45+
desc: "Run pre-commit hooks"
46+
cmds:
47+
- pre-commit run --all-files
48+
49+
lint:
50+
desc: "Run linters"
51+
cmds:
52+
- ruff check --fix --respect-gitignore
53+
54+
format:
55+
desc: "Run formatters"
56+
cmds:
57+
- ruff format --respect-gitignore
58+
59+
test:
60+
desc: "Run tests"
61+
cmds:
62+
- pytest
63+
64+
pyclean:
65+
desc: "Remove .pyc and __pycache__"
66+
cmds:
67+
- |
68+
args=(
69+
.
70+
--debris
71+
--verbose
72+
-i .devbox
73+
)
74+
case "{{"{{"}}".CLI_ARGS"{{"}}"}}" in
75+
dry-run)
76+
pyclean "${args[@]}" --dry-run
77+
;;
78+
*)
79+
pyclean "${args[@]}"
80+
;;
81+
esac

0 commit comments

Comments
 (0)