-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
404 lines (324 loc) · 12.6 KB
/
Copy pathTaskfile.yml
File metadata and controls
404 lines (324 loc) · 12.6 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
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
# https://taskfile.dev
version: '3'
tasks:
lint:
desc: Lint profile.d
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/run-lint.ps1
validate:
desc: Validate profile (lint + idempotency)
cmds:
- pwsh -NoProfile -File scripts/checks/validate-profile.ps1
check-comment-help:
desc: Check comment-based help
cmds:
- pwsh -NoProfile -File scripts/checks/check-comment-help.ps1
check-doc-coverage:
desc: Report API documentation coverage gaps (informational)
cmds:
- pwsh -NoProfile -File scripts/checks/check-doc-coverage.ps1 {{.CLI_ARGS}}
check-doc-freshness:
desc: Verify docs/api matches incremental generator output
cmds:
- pwsh -NoProfile -File scripts/checks/check-doc-freshness.ps1 {{.CLI_ARGS}}
test:
desc: Run Pester Tests
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/run-pester.ps1 -Coverage -Parallel {{.CLI_ARGS}}
test-unit:
desc: Run Unit Test Suite
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/run-pester.ps1 -Suite Unit -Parallel {{.CLI_ARGS}}
test-integration:
desc: Run Integration Test Suite
cmds:
- pwsh -NonInteractive -NoProfile -File scripts/utils/code-quality/run-pester.ps1 -Suite Integration -Parallel {{.CLI_ARGS}}
test-tools:
desc: Run tools integration tests (per-file isolation)
cmds:
- pwsh -NonInteractive -NoProfile -File scripts/utils/code-quality/run-tools-integration-batch.ps1 {{.CLI_ARGS}}
test-conversion-batch:
desc: Run conversion integration tests by subdirectory (use -- -RelativePath data/structured -PerFile for per-file structured runs)
cmds:
- pwsh -NonInteractive -NoProfile -File scripts/utils/code-quality/run-conversion-integration-batch.ps1 {{.CLI_ARGS}}
test-conversion-all-batch:
desc: Run all conversion integration sub-batches (document, media/*, data/*)
cmds:
- pwsh -NonInteractive -NoProfile -File scripts/utils/code-quality/run-conversion-all-batch.ps1 {{.CLI_ARGS}}
test-unit-batch:
desc: Run unit tests per file with summary (use -Filter profile- etc.)
cmds:
- pwsh -NonInteractive -NoProfile -File scripts/utils/code-quality/run-unit-batch.ps1 {{.CLI_ARGS}}
test-performance:
desc: Run Performance Test Suite
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/run-pester.ps1 -Suite Performance -Parallel {{.CLI_ARGS}}
test-performance-batch:
desc: Run performance tests per file with summary
cmds:
- pwsh -NonInteractive -NoProfile -File scripts/utils/code-quality/run-performance-batch.ps1 {{.CLI_ARGS}}
test-coverage:
desc: Run Pester Tests with Coverage
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/run-pester.ps1 -Coverage -Parallel {{.CLI_ARGS}}
benchmark:
desc: Run Performance Benchmark
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/benchmark-startup.ps1
security-scan:
desc: Run Security Scan
cmds:
- pwsh -NoProfile -File scripts/utils/security/run-security-scan.ps1
diagnose-profile-performance:
desc: Diagnose profile performance issues
cmds:
- pwsh -NoProfile -File scripts/utils/performance/diagnose-profile-performance.ps1
optimize-git-performance:
desc: Optimize Git performance
cmds:
- pwsh -NoProfile -File scripts/utils/performance/optimize-git-performance.ps1 {{.CLI_ARGS}}
check-module-updates:
desc: Check Module Updates
cmds:
- pwsh -NoProfile -File scripts/utils/dependencies/check-module-updates.ps1 {{.CLI_ARGS}}
install-module-updates:
desc: Install Module Updates
cmds:
- pwsh -NoProfile -File scripts/utils/dependencies/check-module-updates.ps1 -Update {{.CLI_ARGS}}
install-all:
desc: Install all optional profile dependencies (global or local)
cmds:
- pnpm run install-all
install-all-global:
desc: Install optional JS and Python dependencies globally
cmds:
- pnpm run install-all-global
install-all-local:
desc: Install optional JS and Python dependencies locally
cmds:
- pnpm run install-all-local
install-js-global:
desc: Install optional JS conversion packages globally
cmds:
- pnpm run install-js-global
install-js-local:
desc: Install optional JS conversion packages locally
cmds:
- pnpm run install-js-local
install-python-global:
desc: Install optional Python data packages globally
cmds:
- pnpm run install-python-global
install-python-local:
desc: Install optional Python data packages locally
cmds:
- pnpm run install-python-local
install-scoop:
desc: Install recommended CLI tools via Scoop
cmds:
- pnpm run install-scoop
generate-changelog:
desc: Generate Changelog
cmds:
- pwsh -NoProfile -File scripts/utils/docs/generate-changelog.ps1 {{.CLI_ARGS}}
generate-dashboard:
desc: Generate metrics dashboard
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/generate-dashboard.ps1 {{.CLI_ARGS}}
create-release:
desc: Create Release (Dry Run)
cmds:
- pwsh -NoProfile -File scripts/utils/release/create-release.ps1 -DryRun
generate-docs:
desc: Generate API Documentation
cmds:
- pwsh -NoProfile -File scripts/utils/docs/generate-docs.ps1 {{.CLI_ARGS}}
generate-docs-incremental:
desc: Generate API docs incrementally (changed profile sources only)
cmds:
- pwsh -NoProfile -File scripts/utils/docs/generate-docs.ps1 -Incremental {{.CLI_ARGS}}
spellcheck:
desc: Run Spellcheck
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/spellcheck.ps1
db-health:
desc: Check health of all SQLite databases
cmds:
- pwsh -NoProfile -File scripts/utils/database/database-maintenance.ps1 -Action health
db-statistics:
desc: Get statistics for all SQLite databases
cmds:
- pwsh -NoProfile -File scripts/utils/database/database-maintenance.ps1 -Action statistics
db-optimize:
desc: Optimize all SQLite databases
cmds:
- pwsh -NoProfile -File scripts/utils/database/database-maintenance.ps1 -Action optimize
db-backup:
desc: Backup all SQLite databases
cmds:
- pwsh -NoProfile -File scripts/utils/database/database-maintenance.ps1 -Action backup
db-repair:
desc: Repair corrupted SQLite databases
cmds:
- pwsh -NoProfile -File scripts/utils/database/database-maintenance.ps1 -Action repair
db-validate:
desc: Validate SQLite database implementation and configuration
cmds:
- pwsh -NoProfile -File scripts/utils/database/validate-databases.ps1
db-validate-full:
desc: Validate SQLite databases with operation testing
cmds:
- pwsh -NoProfile -File scripts/utils/database/validate-databases.ps1 -TestOperations
db-init:
desc: Initialize all SQLite databases
cmds:
- pwsh -NoProfile -File scripts/utils/database/initialize-databases.ps1
clear-fragment-cache:
desc: Clear fragment cache (in-memory and SQLite database)
cmds:
- pwsh -NoProfile -File scripts/utils/clear-fragment-cache.ps1 {{.CLI_ARGS}}
build-fragment-cache:
desc: Build/warm fragment cache by parsing all fragments
cmds:
- pwsh -NoProfile -File scripts/utils/build-fragment-cache.ps1 {{.CLI_ARGS}}
validate-fragment-cache:
desc: Validate fragment cache (verify cache state)
cmds:
- pwsh -NoProfile -File scripts/utils/verify-cache-cleared.ps1 {{.CLI_ARGS}}
check-script-standards:
desc: Check script standards and best practices
cmds:
- pwsh -NoProfile -File scripts/checks/check-script-standards.ps1
markdownlint:
desc: Run Markdownlint
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/run-markdownlint.ps1
install-githooks:
desc: Install Git hooks
cmds:
- pwsh -NoProfile -File scripts/git/install-githooks.ps1 {{.CLI_ARGS}}
install-pre-commit-hook:
desc: Install pre-commit hook only
cmds:
- pwsh -NoProfile -File scripts/git/install-pre-commit-hook.ps1
format:
desc: Format Code
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/run-format.ps1 {{.CLI_ARGS}}
find-duplicates:
desc: Find Duplicate Functions
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/find-duplicate-functions.ps1
generate-fragment-readmes:
desc: Generate Fragment READMEs
cmds:
- pwsh -NoProfile -File scripts/utils/docs/generate-fragment-readmes.ps1 {{.CLI_ARGS}}
new-fragment:
desc: Create a new profile fragment from template
cmds:
- pwsh -NoProfile -File scripts/utils/fragment/new-fragment.ps1 {{.CLI_ARGS}}
generate-command-wrappers:
desc: Generate standalone script wrappers for fragment commands
cmds:
- pwsh -NoProfile -File scripts/utils/fragment/generate-command-wrappers.ps1 {{.CLI_ARGS}}
check-commit-messages:
desc: Check Commit Messages
cmds:
- pwsh -NoProfile -File scripts/checks/check-commit-messages.ps1
update-baseline:
desc: Update Performance Baseline
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/benchmark-startup.ps1 -UpdateBaseline {{.CLI_ARGS}}
collect-code-metrics:
desc: Collect code metrics
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/collect-code-metrics.ps1
export-metrics:
desc: Export metrics data
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/export-metrics.ps1
save-metrics-snapshot:
desc: Save a metrics snapshot
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/save-metrics-snapshot.ps1
track-coverage-trends:
desc: Track test coverage trends over time
cmds:
- pwsh -NoProfile -File scripts/utils/metrics/track-coverage-trends.ps1
quality-check:
desc: Full Quality Check (format + security + lint + spellcheck + markdownlint + help + tests + function naming + drift)
deps: [format, security-scan, lint, spellcheck, markdownlint, check-comment-help, test, validate-function-naming, drift-check]
cmds:
- echo "All quality checks passed"
pre-commit-checks:
desc: Run Pre-commit Checks
cmds:
- pwsh -NoProfile -File scripts/git/pre-commit.ps1
check-idempotency:
desc: Check Idempotency
cmds:
- pwsh -NoProfile -File scripts/checks/check-idempotency.ps1
validate-function-naming:
desc: Validate Function Naming Conventions
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/validate-function-naming.ps1
check-missing-tests:
desc: Check for Missing Tests
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/check-missing-tests.ps1
validate-dependencies:
desc: Validate Dependencies
cmds:
- pwsh -NoProfile -File scripts/utils/dependencies/validate-dependencies.ps1
check-missing-packages:
desc: Check for missing packages and modules
cmds:
- pwsh -NoProfile -File scripts/utils/dependencies/check-missing-packages.ps1
check-vulnerabilities:
desc: Check Dependency Updates (Vulnerability scanning can be added)
cmds:
- pwsh -NoProfile -File scripts/utils/dependencies/check-module-updates.ps1
format-and-lint:
desc: Format and Lint Code
deps: [format, lint]
cmds:
- echo "Format and lint completed"
all-docs:
desc: Generate All Documentation (API docs + fragment READMEs)
deps: [generate-docs, generate-fragment-readmes]
cmds:
- echo "All documentation generated"
init-wrangler-config:
desc: Initialize wrangler configuration
cmds:
- pwsh -NoProfile -File scripts/utils/setup/init-wrangler-config.ps1 {{.CLI_ARGS}}
dev-setup:
desc: Run development environment setup
cmds:
- pwsh -NoProfile -File scripts/dev/setup.ps1
check-task-parity:
desc: Check task parity across all task runner files
cmds:
- pwsh -NoProfile -File scripts/utils/task-parity/check-task-parity.ps1 {{.CLI_ARGS}}
generate-task-parity:
desc: Generate missing tasks to achieve parity across all task runner files
cmds:
- pwsh -NoProfile -File scripts/utils/task-parity/check-task-parity.ps1 -Generate {{.CLI_ARGS}}
drift-link:
desc: Link tests, guides, and API docs to source targets (drift.lock)
cmds:
- pwsh -NoProfile -File scripts/utils/code-quality/link-test-drift.ps1 -Refresh
- pwsh -NoProfile -File scripts/utils/code-quality/link-guide-drift.ps1 -Refresh
- pwsh -NoProfile -File scripts/utils/code-quality/link-api-drift.ps1 -Refresh
drift-check:
desc: Check that doc links and bindings are current (drift)
cmds:
- drift check
drift-status:
desc: Show drift doc anchor and link status
cmds:
- drift status
default:
desc: Run default task
cmds:
- task --list-all