-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathjustfile
More file actions
220 lines (158 loc) · 5.09 KB
/
justfile
File metadata and controls
220 lines (158 loc) · 5.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
set shell := ["bash", "-euo", "pipefail", "-c"]
# Show available commands
default:
@just --list
# Run formatter, linter, and typechecks for all packages
check:
npm run check
# Format all files with Biome
format:
npm run format
# Install pre-commit hooks
hooks:
pre-commit install
# Run pre-commit hooks against all files
pre-commit:
pre-commit run --all-files
# Show npm account/registry/package visibility information for one package
# Usage: just doctor @narumitw/pi-chrome-devtools
doctor package="@narumitw/pi-chrome-devtools":
@echo "package: {{package}}"
npm whoami
npm config get registry
npm access get status {{package}} || true
npm dist-tag ls {{package}} || true
npm view {{package}} version || true
# Show npm visibility/version information for all extension packages
doctor-all:
for package_json in extensions/*/package.json; do package="$(node -p "require('./$package_json').name")"; just doctor "$package"; done
# Make an already-published scoped npm package public if npm view returns 404
# This does not create a package. For a brand-new package, first run:
# npm publish --workspace @narumitw/pi-subagents --access public
# Usage for existing packages: just npm-public @narumitw/pi-goal
npm-public package="@narumitw/pi-goal":
npm access set status=public {{package}}
npm view {{package}} version
# Preview the package that npm would publish
# Usage: just pack subagents
pack name:
package="$(node -p "require('./extensions/pi-{{name}}/package.json').name")"; npm --workspace "$package" pack --dry-run
# Try a package from this working tree as a temporary pi package
# Usage: just try subagents
try name:
pi -e ./extensions/pi-{{name}}
# Install a package through pi, falling back to the local workspace if unpublished
# Usage: just install subagents
install name:
package="$(node -p "require('./extensions/pi-{{name}}/package.json').name")"; if npm view "$package" version >/dev/null 2>&1; then pi install "npm:$package"; else echo "$package is not published; installing local workspace package instead."; pi install ./extensions/pi-{{name}}; fi
# Publish one package to npm, skipping if the current version already exists
# Usage: just publish subagents
publish name:
package="$(node -p "require('./extensions/pi-{{name}}/package.json').name")"; version="$(node -p "require('./extensions/pi-{{name}}/package.json').version")"; if npm view "$package@$version" version >/dev/null 2>&1; then echo "$package@$version already exists; skipping publish."; else npm --workspace "$package" pack --dry-run; npm --workspace "$package" publish --access public; fi
# Publish all extension packages to npm
publish-all:
for package_json in extensions/*/package.json; do dir="$(basename "$(dirname "$package_json")")"; just publish "${dir#pi-}"; done
# Preview individual packages that npm would publish
pack-btw:
just pack btw
pack-caffeinate:
just pack caffeinate
pack-chrome-devtools:
just pack chrome-devtools
pack-codex-usage:
just pack codex-usage
pack-firecrawl:
just pack firecrawl
pack-goal:
just pack goal
pack-lsp:
just pack lsp
pack-plan-mode:
just pack plan-mode
pack-retry:
just pack retry
pack-statusline:
just pack statusline
pack-sync:
just pack sync
pack-subagents:
just pack subagents
# Try individual packages from this working tree as temporary pi packages
try-btw:
just try btw
try-caffeinate:
just try caffeinate
try-chrome-devtools:
just try chrome-devtools
try-codex-usage:
just try codex-usage
try-firecrawl:
just try firecrawl
try-goal:
just try goal
try-lsp:
just try lsp
try-plan-mode:
just try plan-mode
try-retry:
just try retry
try-statusline:
just try statusline
try-sync:
just try sync
try-subagents:
just try subagents
# Install individual packages through pi
install-btw:
just install btw
install-caffeinate:
just install caffeinate
install-chrome-devtools:
just install chrome-devtools
install-codex-usage:
just install codex-usage
install-firecrawl:
just install firecrawl
install-goal:
just install goal
install-lsp:
just install lsp
install-plan-mode:
just install plan-mode
install-retry:
just install retry
install-statusline:
just install statusline
install-sync:
just install sync
install-subagents:
just install subagents
# Publish individual packages to npm
publish-btw:
just publish btw
publish-caffeinate:
just publish caffeinate
publish-chrome-devtools:
just publish chrome-devtools
publish-codex-usage:
just publish codex-usage
publish-firecrawl:
just publish firecrawl
publish-goal:
just publish goal
publish-lsp:
just publish lsp
publish-plan-mode:
just publish plan-mode
publish-retry:
just publish retry
publish-statusline:
just publish statusline
publish-sync:
just publish sync
publish-subagents:
just publish subagents
# Bump one workspace package without creating a git tag
# Usage: just bump @narumitw/pi-goal patch
bump package part="patch":
npm --workspace {{package}} version {{part}} --no-git-tag-version