docopslab-dev 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.adoc +645 -318
- data/docopslab-dev.gemspec +2 -3
- data/docs/agent/index.md +4 -8
- data/docs/agent/misc/bash-styles.md +470 -0
- data/docs/agent/missions/conduct-release.md +161 -87
- data/docs/agent/missions/setup-new-project.md +228 -134
- data/docs/agent/roles/devops-release-engineer.md +60 -17
- data/docs/agent/roles/docops-engineer.md +84 -20
- data/docs/agent/roles/planner-architect.md +22 -0
- data/docs/agent/roles/product-engineer.md +63 -15
- data/docs/agent/roles/product-manager.md +57 -24
- data/docs/agent/roles/project-manager.md +48 -12
- data/docs/agent/roles/qa-testing-engineer.md +48 -14
- data/docs/agent/roles/tech-docs-manager.md +63 -17
- data/docs/agent/roles/tech-writer.md +68 -14
- data/docs/agent/skills/asciidoc.md +65 -238
- data/docs/agent/skills/bash-cli-dev.md +135 -0
- data/docs/agent/skills/code-commenting.md +143 -106
- data/docs/agent/skills/fix-broken-links.md +145 -100
- data/docs/agent/skills/fix-jekyll-asciidoc-build-errors.md +1 -10
- data/docs/agent/skills/fix-spelling-issues.md +0 -3
- data/docs/agent/skills/git.md +69 -34
- data/docs/agent/skills/github-issues.md +110 -71
- data/docs/agent/skills/rake-cli-dev.md +1 -1
- data/docs/agent/skills/readme-driven-dev.md +1 -0
- data/docs/agent/skills/release-history.md +1 -7
- data/docs/agent/skills/ruby.md +18 -7
- data/docs/agent/skills/schemagraphy-sgyml.md +3 -0
- data/docs/agent/skills/tests-running.md +22 -14
- data/docs/agent/skills/tests-writing.md +51 -28
- data/docs/agent/skills/write-the-docs.md +71 -9
- data/docs/agent/topics/common-project-paths.md +122 -70
- data/docs/agent/topics/dev-tooling-usage.md +70 -77
- data/docs/agent/topics/devops-ci-cd.md +3 -1
- data/docs/agent/topics/product-docs-deployment.md +18 -12
- data/docs/library-readme.adoc +39 -0
- data/lib/docopslab/dev/cast_ops.rb +199 -0
- data/lib/docopslab/dev/config_manager.rb +6 -6
- data/lib/docopslab/dev/data_utils.rb +42 -0
- data/lib/docopslab/dev/file_utils.rb +18 -7
- data/lib/docopslab/dev/git_branch.rb +201 -0
- data/lib/docopslab/dev/git_hooks.rb +17 -11
- data/lib/docopslab/dev/initializer.rb +13 -4
- data/lib/docopslab/dev/library/cache.rb +167 -0
- data/lib/docopslab/dev/library/fetch.rb +209 -0
- data/lib/docopslab/dev/library.rb +328 -0
- data/lib/docopslab/dev/linters.rb +63 -12
- data/lib/docopslab/dev/manifest.rb +28 -0
- data/lib/docopslab/dev/paths.rb +0 -17
- data/lib/docopslab/dev/script_manager.rb +12 -6
- data/lib/docopslab/dev/skim.rb +109 -0
- data/lib/docopslab/dev/spell_check.rb +2 -2
- data/lib/docopslab/dev/sync_ops.rb +94 -33
- data/lib/docopslab/dev/tasks.rb +58 -18
- data/lib/docopslab/dev/version.rb +1 -1
- data/lib/docopslab/dev.rb +75 -35
- data/specs/data/default-manifest.yml +15 -5
- data/specs/data/library-index.yml +22 -0
- data/specs/data/manifest-schema.yaml +142 -4
- data/specs/data/tasks-def.yml +122 -10
- metadata +28 -39
- data/assets/config-packs/actionlint/base.yml +0 -13
- data/assets/config-packs/actionlint/project.yml +0 -13
- data/assets/config-packs/htmlproofer/base.yml +0 -27
- data/assets/config-packs/htmlproofer/project.yml +0 -25
- data/assets/config-packs/rubocop/base.yml +0 -130
- data/assets/config-packs/rubocop/project.yml +0 -8
- data/assets/config-packs/shellcheck/base.shellcheckrc +0 -14
- data/assets/config-packs/subtxt/ai-asciidoc-antipatterns.sub.txt +0 -11
- data/assets/config-packs/vale/asciidoc/ExplicitSectionIDs.yml +0 -8
- data/assets/config-packs/vale/asciidoc/ExtraLineBeforeLevel1.yml +0 -7
- data/assets/config-packs/vale/asciidoc/OneSentencePerLine.yml +0 -8
- data/assets/config-packs/vale/asciidoc/PreferSourceBlocks.yml +0 -8
- data/assets/config-packs/vale/asciidoc/ProperAdmonitions.yml +0 -8
- data/assets/config-packs/vale/asciidoc/ProperDLs.yml +0 -7
- data/assets/config-packs/vale/asciidoc/UncleanListStart.yml +0 -8
- data/assets/config-packs/vale/authoring/ButParagraph.yml +0 -8
- data/assets/config-packs/vale/authoring/ExNotEg.yml +0 -8
- data/assets/config-packs/vale/authoring/LiteralTerms.yml +0 -20
- data/assets/config-packs/vale/authoring/Spelling.yml +0 -679
- data/assets/config-packs/vale/base.ini +0 -38
- data/assets/config-packs/vale/config/scripts/ExplicitSectionIDs.tengo +0 -56
- data/assets/config-packs/vale/config/scripts/ExtraLineBeforeLevel1.tengo +0 -121
- data/assets/config-packs/vale/config/scripts/OneSentencePerLine.tengo +0 -53
- data/assets/config-packs/vale/project.ini +0 -5
- data/assets/hooks/pre-commit +0 -63
- data/assets/hooks/pre-push +0 -72
- data/assets/scripts/adoc_section_ids.rb +0 -50
- data/assets/scripts/build-common.sh +0 -193
- data/assets/scripts/build-docker.sh +0 -64
- data/assets/scripts/build.sh +0 -56
- data/assets/scripts/parse_jekyll_asciidoc_logs.rb +0 -467
- data/assets/templates/Gemfile +0 -7
- data/assets/templates/Rakefile +0 -3
- data/assets/templates/gitignore +0 -69
- data/assets/templates/jekyll-asciidoc-fix.prompt.yml +0 -17
- data/assets/templates/spellcheck.prompt.yml +0 -16
- data/docs/agent/AGENTS.md +0 -229
data/specs/data/tasks-def.yml
CHANGED
|
@@ -18,15 +18,16 @@ labdev:
|
|
|
18
18
|
_desc: Run assessments on the project environment and managed assets
|
|
19
19
|
env:
|
|
20
20
|
_desc: Assess the local environment and configuration
|
|
21
|
-
updates:
|
|
22
|
-
_desc: Check for updates to managed assets from upstream
|
|
23
21
|
all:
|
|
24
22
|
_alias: "labdev:check"
|
|
25
23
|
init:
|
|
24
|
+
_desc: Initialize development environment assets for this project
|
|
26
25
|
all:
|
|
27
26
|
_desc: Bootstrap the development environment for this project
|
|
28
27
|
docs:
|
|
29
28
|
_desc: Sync agent documentation files to project
|
|
29
|
+
templates:
|
|
30
|
+
_desc: Bootstrap cast targets from prime templates (init-only; skips existing files)
|
|
30
31
|
run:
|
|
31
32
|
# there is no labdev:run:all
|
|
32
33
|
script:
|
|
@@ -87,15 +88,19 @@ labdev:
|
|
|
87
88
|
shellcheck:
|
|
88
89
|
_desc: Run the base shellcheck command and options.
|
|
89
90
|
_args:
|
|
91
|
+
path:
|
|
92
|
+
summ: Optional path to a specific file, directory, or glob to check.
|
|
93
|
+
required: false
|
|
90
94
|
opts:
|
|
91
95
|
summ: Additional arguments to pass to the shellcheck command.
|
|
92
96
|
docs: |
|
|
93
97
|
Use like:
|
|
94
|
-
bundle exec rake 'labdev:run:shellcheck["--enable=all --format=gcc"]'
|
|
98
|
+
bundle exec rake 'labdev:run:shellcheck[scripts/build.sh,"--enable=all --format=gcc"]'
|
|
95
99
|
required: false
|
|
96
100
|
_test:
|
|
97
101
|
- bundle exec rake 'labdev:run:shellcheck'
|
|
98
|
-
- bundle exec rake 'labdev:run:shellcheck[
|
|
102
|
+
- bundle exec rake 'labdev:run:shellcheck[scripts/build.sh]'
|
|
103
|
+
- bundle exec rake 'labdev:run:shellcheck[scripts/,"--enable=all --format=gcc"]'
|
|
99
104
|
actionlint:
|
|
100
105
|
_desc: Run the base actionlint command and options.
|
|
101
106
|
_args:
|
|
@@ -111,16 +116,26 @@ labdev:
|
|
|
111
116
|
sync:
|
|
112
117
|
_desc: Sync all managed files (configs, scripts, docs, styles, etc)
|
|
113
118
|
all:
|
|
114
|
-
|
|
119
|
+
_desc: Check library freshness then sync all managed assets (configs, scripts, docs, templates, hooks, styles)
|
|
115
120
|
configs:
|
|
116
121
|
_desc: Sync configuration files from config pack
|
|
117
122
|
scripts:
|
|
118
123
|
_desc: Update non-local (`.vendor/`) scripts from upstream
|
|
119
124
|
docs:
|
|
120
125
|
_desc: Sync files to untracked local paths
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
126
|
+
templates:
|
|
127
|
+
_desc: Sync canonical blocks from prime templates into manifest cast targets
|
|
128
|
+
_args:
|
|
129
|
+
path:
|
|
130
|
+
summ: Optional target file path to restrict the sync to a single entry.
|
|
131
|
+
required: false
|
|
132
|
+
dry:
|
|
133
|
+
summ: Pass 'dry' to preview changes without writing files.
|
|
134
|
+
required: false
|
|
135
|
+
_test:
|
|
136
|
+
- bundle exec rake labdev:sync:templates
|
|
137
|
+
- bundle exec rake 'labdev:sync:templates[AGENTS.md]'
|
|
138
|
+
- bundle exec rake 'labdev:sync:templates[AGENTS.md,dry]'
|
|
124
139
|
styles:
|
|
125
140
|
_desc: Sync Vale styles from gem source to project
|
|
126
141
|
local:
|
|
@@ -129,6 +144,22 @@ labdev:
|
|
|
129
144
|
_desc: Sync custom styles from gem and download remote packages
|
|
130
145
|
hooks:
|
|
131
146
|
_desc: Update git hooks from templates (interactive)
|
|
147
|
+
library:
|
|
148
|
+
_desc: Fetch the remote library (if stale) and sync content to manifest-configured paths
|
|
149
|
+
_test:
|
|
150
|
+
- bundle exec rake labdev:sync:library
|
|
151
|
+
stage:
|
|
152
|
+
_desc: Stage a local library directory into the cache and sync to project paths (bypasses remote fetch)
|
|
153
|
+
_args:
|
|
154
|
+
path:
|
|
155
|
+
summ: |
|
|
156
|
+
Optional path to the local library directory to stage.
|
|
157
|
+
Defaults to manifest library.local_path, then .library/ in the
|
|
158
|
+
current directory, then ../lab/.library/ for downstream projects.
|
|
159
|
+
required: false
|
|
160
|
+
_test:
|
|
161
|
+
- bundle exec rake labdev:sync:library:stage
|
|
162
|
+
- bundle exec rake 'labdev:sync:library:stage[../lab/.library]'
|
|
132
163
|
vale:
|
|
133
164
|
_desc: Sync Vale config and all styles (custom + remote packages)
|
|
134
165
|
local:
|
|
@@ -286,9 +317,13 @@ labdev:
|
|
|
286
317
|
required: false
|
|
287
318
|
show:
|
|
288
319
|
scripts:
|
|
289
|
-
_desc: List available script
|
|
320
|
+
_desc: List available script templates
|
|
290
321
|
hooks:
|
|
291
322
|
_desc: List available hook templates
|
|
323
|
+
library:
|
|
324
|
+
_desc: Show the current library cache status and version
|
|
325
|
+
_test:
|
|
326
|
+
- bundle exec rake labdev:show:library
|
|
292
327
|
rule:
|
|
293
328
|
_desc: Show details about a specific linting rule
|
|
294
329
|
_args:
|
|
@@ -301,13 +336,90 @@ labdev:
|
|
|
301
336
|
_test:
|
|
302
337
|
- bundle exec rake 'labdev:show:rule[rubocop,Layout/LineLength]'
|
|
303
338
|
- bundle exec rake 'labdev:show:rule[vale,DocOpsLab-Authoring.ExNotEg]'
|
|
339
|
+
skim:
|
|
340
|
+
_desc: Skim source files for machine-oriented structured outlines (AsciiDoc + Markdown autodetect)
|
|
341
|
+
_args:
|
|
342
|
+
path:
|
|
343
|
+
summ: |
|
|
344
|
+
File path, directory, or glob of source files.
|
|
345
|
+
Format auto-detected from extension.
|
|
346
|
+
required: true
|
|
347
|
+
form:
|
|
348
|
+
summ: |
|
|
349
|
+
Output shape: tree, flat, or tree,flat (comma-separated).
|
|
350
|
+
Defaults to tree for AsciiDoc, flat for Markdown.
|
|
351
|
+
When form is explicitly passed, output defaults to JSON.
|
|
352
|
+
required: false
|
|
353
|
+
syntax:
|
|
354
|
+
summ: |
|
|
355
|
+
Override output format: json or yaml.
|
|
356
|
+
Default: yaml when form is omitted; json when form is explicitly passed.
|
|
357
|
+
required: false
|
|
358
|
+
_test:
|
|
359
|
+
- bundle exec rake 'labdev:skim[README.adoc]'
|
|
360
|
+
- bundle exec rake 'labdev:skim[.,flat]'
|
|
361
|
+
- bundle exec rake 'labdev:skim[.,tree]'
|
|
362
|
+
- bundle exec rake 'labdev:skim[*.adoc,,json]'
|
|
363
|
+
- bundle exec rake 'labdev:skim[.,both]'
|
|
364
|
+
adoc:
|
|
365
|
+
_desc: Skim AsciiDoc source files using Sourcerer::SourceSkim
|
|
366
|
+
_args:
|
|
367
|
+
path:
|
|
368
|
+
summ: File path, directory, or glob of AsciiDoc source files.
|
|
369
|
+
required: true
|
|
370
|
+
form:
|
|
371
|
+
summ: |
|
|
372
|
+
Output shape: tree, flat, or tree,flat (comma-separated).
|
|
373
|
+
Defaults to tree. When form is explicitly passed, output defaults to JSON.
|
|
374
|
+
required: false
|
|
375
|
+
syntax:
|
|
376
|
+
summ: |
|
|
377
|
+
Override output format: json or yaml.
|
|
378
|
+
Default: yaml when form is omitted; json when form is explicitly passed.
|
|
379
|
+
required: false
|
|
380
|
+
_test:
|
|
381
|
+
- bundle exec rake 'labdev:skim:adoc[README.adoc]'
|
|
382
|
+
- bundle exec rake 'labdev:skim:adoc[.,flat]'
|
|
383
|
+
- bundle exec rake 'labdev:skim:adoc[*.adoc,,yaml]'
|
|
384
|
+
md:
|
|
385
|
+
_desc: Skim Markdown source files using Sourcerer::SourceSkim. Supports upstream:local overlay path syntax.
|
|
386
|
+
_docs: |
|
|
387
|
+
Accepts a single path or an upstream:local overlay pair (colon-separated).
|
|
388
|
+
|
|
389
|
+
With two paths, local files shadow upstream files sharing the same relative path,
|
|
390
|
+
and local-only files are appended. This is useful when a project maintains local
|
|
391
|
+
additions or overrides alongside a synced upstream docs library.
|
|
392
|
+
|
|
393
|
+
Examples:
|
|
394
|
+
Single path: .agent/docs/
|
|
395
|
+
Overlay pair: .agent/docs/:_docs/agent/
|
|
396
|
+
_args:
|
|
397
|
+
path:
|
|
398
|
+
summ: |
|
|
399
|
+
File path, directory, or glob of Markdown source files.
|
|
400
|
+
Optionally provide two directories as upstream:local to merge with local overrides taking precedence.
|
|
401
|
+
required: true
|
|
402
|
+
form:
|
|
403
|
+
summ: |
|
|
404
|
+
Output shape: tree, flat, or tree,flat (comma-separated).
|
|
405
|
+
Defaults to flat for Markdown. When form is explicitly passed, output defaults to JSON.
|
|
406
|
+
required: false
|
|
407
|
+
syntax:
|
|
408
|
+
summ: |
|
|
409
|
+
Override output format: json or yaml.
|
|
410
|
+
Default: yaml when form is omitted; json when form is explicitly passed.
|
|
411
|
+
required: false
|
|
412
|
+
_test:
|
|
413
|
+
- bundle exec rake 'labdev:skim:md[.agent/docs/]'
|
|
414
|
+
- bundle exec rake 'labdev:skim:md[.agent/docs/,flat,json]'
|
|
415
|
+
- bundle exec rake 'labdev:skim:md[.agent/docs/:_docs/agent/,flat,json]'
|
|
304
416
|
# ADDING:
|
|
305
417
|
help:
|
|
306
418
|
_desc: Show help information about labdev tasks
|
|
307
419
|
_docs: |
|
|
308
420
|
Default behavior is to show general help information.
|
|
309
421
|
|
|
310
|
-
Use like:
|
|
422
|
+
Use like:
|
|
311
423
|
bundle exec rake 'labdev:help[lint:ruby]'
|
|
312
424
|
_args:
|
|
313
425
|
task_string:
|
metadata
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: docopslab-dev
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- DocOps Lab
|
|
8
|
-
bindir:
|
|
8
|
+
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
@@ -51,6 +51,20 @@ dependencies:
|
|
|
51
51
|
- - "~>"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
53
|
version: '0.2'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: asciisourcerer
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0.2'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0.2'
|
|
54
68
|
- !ruby/object:Gem::Dependency
|
|
55
69
|
name: debride
|
|
56
70
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -243,45 +257,9 @@ extra_rdoc_files: []
|
|
|
243
257
|
files:
|
|
244
258
|
- LICENSE
|
|
245
259
|
- README.adoc
|
|
246
|
-
- assets/config-packs/actionlint/base.yml
|
|
247
|
-
- assets/config-packs/actionlint/project.yml
|
|
248
|
-
- assets/config-packs/htmlproofer/base.yml
|
|
249
|
-
- assets/config-packs/htmlproofer/project.yml
|
|
250
|
-
- assets/config-packs/rubocop/base.yml
|
|
251
|
-
- assets/config-packs/rubocop/project.yml
|
|
252
|
-
- assets/config-packs/shellcheck/base.shellcheckrc
|
|
253
|
-
- assets/config-packs/subtxt/ai-asciidoc-antipatterns.sub.txt
|
|
254
|
-
- assets/config-packs/vale/asciidoc/ExplicitSectionIDs.yml
|
|
255
|
-
- assets/config-packs/vale/asciidoc/ExtraLineBeforeLevel1.yml
|
|
256
|
-
- assets/config-packs/vale/asciidoc/OneSentencePerLine.yml
|
|
257
|
-
- assets/config-packs/vale/asciidoc/PreferSourceBlocks.yml
|
|
258
|
-
- assets/config-packs/vale/asciidoc/ProperAdmonitions.yml
|
|
259
|
-
- assets/config-packs/vale/asciidoc/ProperDLs.yml
|
|
260
|
-
- assets/config-packs/vale/asciidoc/UncleanListStart.yml
|
|
261
|
-
- assets/config-packs/vale/authoring/ButParagraph.yml
|
|
262
|
-
- assets/config-packs/vale/authoring/ExNotEg.yml
|
|
263
|
-
- assets/config-packs/vale/authoring/LiteralTerms.yml
|
|
264
|
-
- assets/config-packs/vale/authoring/Spelling.yml
|
|
265
|
-
- assets/config-packs/vale/base.ini
|
|
266
|
-
- assets/config-packs/vale/config/scripts/ExplicitSectionIDs.tengo
|
|
267
|
-
- assets/config-packs/vale/config/scripts/ExtraLineBeforeLevel1.tengo
|
|
268
|
-
- assets/config-packs/vale/config/scripts/OneSentencePerLine.tengo
|
|
269
|
-
- assets/config-packs/vale/project.ini
|
|
270
|
-
- assets/hooks/pre-commit
|
|
271
|
-
- assets/hooks/pre-push
|
|
272
|
-
- assets/scripts/adoc_section_ids.rb
|
|
273
|
-
- assets/scripts/build-common.sh
|
|
274
|
-
- assets/scripts/build-docker.sh
|
|
275
|
-
- assets/scripts/build.sh
|
|
276
|
-
- assets/scripts/parse_jekyll_asciidoc_logs.rb
|
|
277
|
-
- assets/templates/Gemfile
|
|
278
|
-
- assets/templates/Rakefile
|
|
279
|
-
- assets/templates/gitignore
|
|
280
|
-
- assets/templates/jekyll-asciidoc-fix.prompt.yml
|
|
281
|
-
- assets/templates/spellcheck.prompt.yml
|
|
282
260
|
- docopslab-dev.gemspec
|
|
283
|
-
- docs/agent/AGENTS.md
|
|
284
261
|
- docs/agent/index.md
|
|
262
|
+
- docs/agent/misc/bash-styles.md
|
|
285
263
|
- docs/agent/missions/conduct-release.md
|
|
286
264
|
- docs/agent/missions/setup-new-project.md
|
|
287
265
|
- docs/agent/roles/devops-release-engineer.md
|
|
@@ -294,6 +272,7 @@ files:
|
|
|
294
272
|
- docs/agent/roles/tech-docs-manager.md
|
|
295
273
|
- docs/agent/roles/tech-writer.md
|
|
296
274
|
- docs/agent/skills/asciidoc.md
|
|
275
|
+
- docs/agent/skills/bash-cli-dev.md
|
|
297
276
|
- docs/agent/skills/code-commenting.md
|
|
298
277
|
- docs/agent/skills/fix-broken-links.md
|
|
299
278
|
- docs/agent/skills/fix-jekyll-asciidoc-build-errors.md
|
|
@@ -313,24 +292,34 @@ files:
|
|
|
313
292
|
- docs/agent/topics/dev-tooling-usage.md
|
|
314
293
|
- docs/agent/topics/devops-ci-cd.md
|
|
315
294
|
- docs/agent/topics/product-docs-deployment.md
|
|
295
|
+
- docs/library-readme.adoc
|
|
316
296
|
- lib/docopslab/dev.rb
|
|
317
297
|
- lib/docopslab/dev/auto_fix_asciidoc.rb
|
|
298
|
+
- lib/docopslab/dev/cast_ops.rb
|
|
318
299
|
- lib/docopslab/dev/checkers.rb
|
|
319
300
|
- lib/docopslab/dev/config_manager.rb
|
|
301
|
+
- lib/docopslab/dev/data_utils.rb
|
|
320
302
|
- lib/docopslab/dev/file_utils.rb
|
|
303
|
+
- lib/docopslab/dev/git_branch.rb
|
|
321
304
|
- lib/docopslab/dev/git_hooks.rb
|
|
322
305
|
- lib/docopslab/dev/help.rb
|
|
323
306
|
- lib/docopslab/dev/initializer.rb
|
|
307
|
+
- lib/docopslab/dev/library.rb
|
|
308
|
+
- lib/docopslab/dev/library/cache.rb
|
|
309
|
+
- lib/docopslab/dev/library/fetch.rb
|
|
324
310
|
- lib/docopslab/dev/linters.rb
|
|
325
311
|
- lib/docopslab/dev/log_parser.rb
|
|
312
|
+
- lib/docopslab/dev/manifest.rb
|
|
326
313
|
- lib/docopslab/dev/paths.rb
|
|
327
314
|
- lib/docopslab/dev/script_manager.rb
|
|
315
|
+
- lib/docopslab/dev/skim.rb
|
|
328
316
|
- lib/docopslab/dev/spell_check.rb
|
|
329
317
|
- lib/docopslab/dev/sync_ops.rb
|
|
330
318
|
- lib/docopslab/dev/tasks.rb
|
|
331
319
|
- lib/docopslab/dev/tool_execution.rb
|
|
332
320
|
- lib/docopslab/dev/version.rb
|
|
333
321
|
- specs/data/default-manifest.yml
|
|
322
|
+
- specs/data/library-index.yml
|
|
334
323
|
- specs/data/manifest-schema.yaml
|
|
335
324
|
- specs/data/tasks-def.yml
|
|
336
325
|
- specs/data/tools.yml
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# actionlint configuration for DocOps Lab projects
|
|
2
|
-
# This file is synced from docopslab-dev gem
|
|
3
|
-
|
|
4
|
-
# Disable overly strict rules for common patterns
|
|
5
|
-
ignore:
|
|
6
|
-
# Allow commonly used but deprecated actions (we'll upgrade gradually)
|
|
7
|
-
- 'SC2086:' # shellcheck rule about double quotes
|
|
8
|
-
- 'the runner of "ubuntu-latest" is deprecated'
|
|
9
|
-
|
|
10
|
-
# Custom shell for shellcheck integration
|
|
11
|
-
shellcheck:
|
|
12
|
-
enable: true
|
|
13
|
-
shell-options: "-e SC2086" # Allow some globbing patterns
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# actionlint configuration for this project
|
|
2
|
-
# References DocOps Lab base configuration
|
|
3
|
-
|
|
4
|
-
# Project-specific ignores (add as needed):
|
|
5
|
-
ignore:
|
|
6
|
-
# Example: Ignore specific workflow patterns
|
|
7
|
-
# - 'workflow "deploy.yml"'
|
|
8
|
-
# - '"ubuntu-20.04" is deprecated'
|
|
9
|
-
|
|
10
|
-
# Project-specific overrides:
|
|
11
|
-
shellcheck:
|
|
12
|
-
enable: true
|
|
13
|
-
# shell-options: "-e SC2016" # Add project-specific ShellCheck exclusions
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# DocOps Lab HTML-Proofer Base Configuration
|
|
3
|
-
# This provides sensible defaults for DocOps Lab projects
|
|
4
|
-
|
|
5
|
-
# URL checking options
|
|
6
|
-
check_external_hash: false # Skip checking external URL fragments (can be slow)
|
|
7
|
-
check_img_http: false # Allow HTTP images for now
|
|
8
|
-
enforce_https: false # Don't enforce HTTPS for all links
|
|
9
|
-
|
|
10
|
-
# URLs to ignore (patterns and strings)
|
|
11
|
-
ignore_urls:
|
|
12
|
-
- /localhost/ # Skip local development URLs
|
|
13
|
-
- /127\.0\.0\.1/ # Skip local IPs
|
|
14
|
-
- /example\.com/ # Skip example URLs
|
|
15
|
-
- /foo\.bar/ # Skip placeholder URLs
|
|
16
|
-
- /fonts.googleapis.com/ # Skip Google Fonts
|
|
17
|
-
- /fonts.gstatic.com/ # Skip Google Fonts static
|
|
18
|
-
|
|
19
|
-
# Files to ignore (patterns)
|
|
20
|
-
ignore_files:
|
|
21
|
-
- slides/ # Skip slides directories
|
|
22
|
-
|
|
23
|
-
# Other options
|
|
24
|
-
check_favicon: false # Don't require favicon
|
|
25
|
-
check_html: true # Check HTML structure
|
|
26
|
-
check_opengraph: false # Skip OpenGraph validation
|
|
27
|
-
disable_external: false # Check external links (can be disabled for speed)
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# DocOps Lab HTML-Proofer Configuration
|
|
2
|
-
# Combined base and project configuration for consistent HTML validation
|
|
3
|
-
# URL checking options
|
|
4
|
-
check_external_hash: false # Skip checking external URL fragments (can be slow)
|
|
5
|
-
check_img_http: false # Allow HTTP images for now
|
|
6
|
-
enforce_https: false # Don't enforce HTTPS for all links
|
|
7
|
-
check_favicon: false # Don't require favicon
|
|
8
|
-
check_html: true # Check HTML structure
|
|
9
|
-
check_opengraph: false # Skip OpenGraph validation
|
|
10
|
-
disable_external: false # Check external links (can be disabled for speed)
|
|
11
|
-
|
|
12
|
-
# URLs to ignore (patterns and strings)
|
|
13
|
-
ignore_urls:
|
|
14
|
-
- /localhost/ # Skip local development URLs
|
|
15
|
-
- /127\.0\.0\.1/ # Skip local IPs
|
|
16
|
-
- /example\.com/ # Skip example URLs
|
|
17
|
-
- /foo\.bar/ # Skip placeholder URLs
|
|
18
|
-
- /fonts\.googleapis\.com/ # Skip Google Fonts
|
|
19
|
-
- /fonts\.gstatic\.com/ # Skip Google Fonts static
|
|
20
|
-
# Add project-specific URL ignores below:
|
|
21
|
-
|
|
22
|
-
# Files to ignore (patterns)
|
|
23
|
-
ignore_files:
|
|
24
|
-
- slides/ # Skip slides directories
|
|
25
|
-
# Add project-specific file ignores below:
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
# RuboCop configuration for DocOps Lab projects
|
|
2
|
-
# This is the baseline configuration distributed via docopslab-dev
|
|
3
|
-
|
|
4
|
-
plugins:
|
|
5
|
-
- rubocop-rspec
|
|
6
|
-
|
|
7
|
-
AllCops:
|
|
8
|
-
TargetRubyVersion: 3.2
|
|
9
|
-
NewCops: enable
|
|
10
|
-
DisplayCopNames: true
|
|
11
|
-
DisplayStyleGuide: true
|
|
12
|
-
|
|
13
|
-
Style/MethodDefParentheses:
|
|
14
|
-
EnforcedStyle: require_no_parentheses
|
|
15
|
-
|
|
16
|
-
Style/MethodCallWithArgsParentheses:
|
|
17
|
-
EnforcedStyle: require_parentheses
|
|
18
|
-
AllowParenthesesInMultilineCall: true
|
|
19
|
-
AllowParenthesesInChaining: true
|
|
20
|
-
|
|
21
|
-
# Allow longer lines for documentation
|
|
22
|
-
Layout/LineLength:
|
|
23
|
-
Max: 120
|
|
24
|
-
AllowedPatterns:
|
|
25
|
-
- '\A\s*#.*\z' # Comments
|
|
26
|
-
- '\A\s*\*.*\z' # Rdoc comments
|
|
27
|
-
|
|
28
|
-
Metrics/MethodLength:
|
|
29
|
-
Max: 25
|
|
30
|
-
|
|
31
|
-
# Allow longer blocks for Rake tasks and RSpec
|
|
32
|
-
Metrics/BlockLength:
|
|
33
|
-
AllowedMethods:
|
|
34
|
-
- describe
|
|
35
|
-
- context
|
|
36
|
-
- feature
|
|
37
|
-
- scenario
|
|
38
|
-
- let
|
|
39
|
-
- let!
|
|
40
|
-
- subject
|
|
41
|
-
- task
|
|
42
|
-
- namespace
|
|
43
|
-
Max: 50
|
|
44
|
-
|
|
45
|
-
# Documentation not required for internal tooling
|
|
46
|
-
Style/Documentation:
|
|
47
|
-
Enabled: false
|
|
48
|
-
|
|
49
|
-
# Allow TODO comments
|
|
50
|
-
Style/CommentAnnotation:
|
|
51
|
-
Keywords:
|
|
52
|
-
- TODO
|
|
53
|
-
- FIXME
|
|
54
|
-
- OPTIMIZE
|
|
55
|
-
- HACK
|
|
56
|
-
- REVIEW
|
|
57
|
-
|
|
58
|
-
Style/CommentedKeyword:
|
|
59
|
-
Enabled: false
|
|
60
|
-
|
|
61
|
-
Style/StringLiterals:
|
|
62
|
-
Enabled: true
|
|
63
|
-
EnforcedStyle: single_quotes
|
|
64
|
-
|
|
65
|
-
Style/StringLiteralsInInterpolation:
|
|
66
|
-
Enabled: true
|
|
67
|
-
EnforcedStyle: single_quotes
|
|
68
|
-
|
|
69
|
-
Style/FrozenStringLiteralComment:
|
|
70
|
-
Enabled: true
|
|
71
|
-
EnforcedStyle: always
|
|
72
|
-
|
|
73
|
-
Layout/FirstParameterIndentation:
|
|
74
|
-
EnforcedStyle: consistent
|
|
75
|
-
|
|
76
|
-
Layout/ParameterAlignment:
|
|
77
|
-
EnforcedStyle: with_fixed_indentation
|
|
78
|
-
|
|
79
|
-
Layout/MultilineMethodCallBraceLayout:
|
|
80
|
-
EnforcedStyle: same_line
|
|
81
|
-
|
|
82
|
-
Layout/MultilineMethodCallIndentation:
|
|
83
|
-
EnforcedStyle: aligned
|
|
84
|
-
|
|
85
|
-
Layout/FirstMethodArgumentLineBreak:
|
|
86
|
-
Enabled: true
|
|
87
|
-
|
|
88
|
-
Layout/TrailingWhitespace:
|
|
89
|
-
Enabled: true
|
|
90
|
-
|
|
91
|
-
Layout/EmptyLineAfterGuardClause:
|
|
92
|
-
Enabled: true
|
|
93
|
-
|
|
94
|
-
Layout/HashAlignment:
|
|
95
|
-
Enabled: false
|
|
96
|
-
|
|
97
|
-
Layout/SpaceAroundOperators:
|
|
98
|
-
Enabled: false
|
|
99
|
-
|
|
100
|
-
Layout/SpaceAroundEqualsInParameterDefault:
|
|
101
|
-
Enabled: false
|
|
102
|
-
EnforcedStyle: no_space
|
|
103
|
-
|
|
104
|
-
Metrics/AbcSize:
|
|
105
|
-
Enabled: false
|
|
106
|
-
|
|
107
|
-
Metrics/CyclomaticComplexity:
|
|
108
|
-
Enabled: false
|
|
109
|
-
|
|
110
|
-
Metrics/PerceivedComplexity:
|
|
111
|
-
Enabled: false
|
|
112
|
-
|
|
113
|
-
Lint/UnusedMethodArgument:
|
|
114
|
-
Enabled: true
|
|
115
|
-
|
|
116
|
-
Lint/UselessAssignment:
|
|
117
|
-
Enabled: true
|
|
118
|
-
|
|
119
|
-
Lint/IneffectiveAccessModifier:
|
|
120
|
-
Enabled: true
|
|
121
|
-
|
|
122
|
-
Security/YAMLLoad:
|
|
123
|
-
Enabled: false # Projects may intentionally use unsafe YAML loading
|
|
124
|
-
|
|
125
|
-
Security/Eval:
|
|
126
|
-
Enabled: true # Catch and replace with safer alternatives
|
|
127
|
-
|
|
128
|
-
# Disable Naming/PredicateMethod - we use generate_, run_, sync_, etc for actions
|
|
129
|
-
Naming/PredicateMethod:
|
|
130
|
-
Enabled: false
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
# ShellCheck configuration for DocOps Lab projects
|
|
2
|
-
# This file is synced from docopslab-dev gem
|
|
3
|
-
|
|
4
|
-
# Disable some overly strict rules for our use cases
|
|
5
|
-
disable=SC2034 # Variable appears unused (common in sourced scripts)
|
|
6
|
-
disable=SC2086 # Double quote to prevent globbing (sometimes we want globbing)
|
|
7
|
-
disable=SC2181 # Check exit code directly with e.g. 'if mycmd;', not indirectly with $?
|
|
8
|
-
|
|
9
|
-
# Set default shell to bash (most of our scripts are bash)
|
|
10
|
-
shell=bash
|
|
11
|
-
|
|
12
|
-
# Enable additional optional checks
|
|
13
|
-
enable=quote-safe-variables
|
|
14
|
-
enable=require-variable-braces
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
extends: script
|
|
3
|
-
scope: raw
|
|
4
|
-
level: warning
|
|
5
|
-
message: "Section heading must be preceded by an explicit ID in format [[section-id]] on the line above."
|
|
6
|
-
link: https://docs.asciidoctor.org/asciidoc/latest/sections/custom-ids/
|
|
7
|
-
description: "Ensures all section headings have explicit IDs for better cross-referencing and stable links."
|
|
8
|
-
script: ExplicitSectionIDs.tengo
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
extends: script
|
|
3
|
-
scope: raw
|
|
4
|
-
level: warning
|
|
5
|
-
message: "Each sentence should be on its own line for better version control diffs and readability."
|
|
6
|
-
link: https://docs.asciidoctor.org/asciidoc/latest/writing/style/#one-sentence-per-line
|
|
7
|
-
description: "Encourages writing one sentence per line to improve readability and version control diffs."
|
|
8
|
-
script: OneSentencePerLine.tengo
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
extends: existence
|
|
3
|
-
scope: raw
|
|
4
|
-
level: error
|
|
5
|
-
message: "Use '[source,lang]' with '----' delimiters instead of markdown-style code blocks with '```'."
|
|
6
|
-
link: https://docs.asciidoctor.org/asciidoc/latest/verbatim/source-blocks/
|
|
7
|
-
raw:
|
|
8
|
-
- '```\w*\n[\s\S]*?\n```'
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
extends: existence
|
|
3
|
-
scope: raw
|
|
4
|
-
level: error
|
|
5
|
-
message: "Use proper AsciiDoc admonition blocks instead of manual formatting."
|
|
6
|
-
link: https://docs.asciidoctor.org/asciidoc/latest/blocks/admonitions/
|
|
7
|
-
raw:
|
|
8
|
-
- '^\*\*NOTE:\*\*|^\*\*TIP:\*\*|^\*\*IMPORTANT:\*\*|^\*\*CAUTION:\*\*|^\*\*WARNING:\*\*'
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Use AsciiDoc definition list syntax (term:: definition) instead of bold/italic text followed by a colon."
|
|
3
|
-
link: https://docs.asciidoctor.org/asciidoc/latest/lists/description/
|
|
4
|
-
level: error
|
|
5
|
-
scope: raw
|
|
6
|
-
raw:
|
|
7
|
-
- (?m)^(\* )?\*\*?(.+)(:\*\*?|\*\*?:)[\s\n]+(.+)$
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: |
|
|
3
|
-
Add a blank line before starting a list after a sentence ending in a colon.
|
|
4
|
-
level: warning
|
|
5
|
-
scope: raw
|
|
6
|
-
raw:
|
|
7
|
-
- '(?m)^.*(?<!:):[ \t]*$(?=\n[\*\.]\s)'
|
|
8
|
-
link: "Tip: run sed -E '/^[^:]+:[^:]*$/ { N; s/:\n([*.])/:\\n\\1/ }' -i yourfile.adoc"
|