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
|
@@ -9,49 +9,58 @@ This codebase can be based on an existing specification document, or one can be
|
|
|
9
9
|
Table of Contents
|
|
10
10
|
|
|
11
11
|
- Agent Roles
|
|
12
|
-
- Context Management for Multi-role Sessions
|
|
13
|
-
|
|
12
|
+
- Context Management for Multi-role Sessions
|
|
13
|
+
- Task Assignments and Suggestions
|
|
14
14
|
- Prerequisite: Attention OPERATOR
|
|
15
15
|
- Mission Procedure
|
|
16
|
-
- Stage 0: Mission Prep
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
16
|
+
- Stage 0: Mission Prep
|
|
17
|
+
- Evergreen Tasks
|
|
18
|
+
- Stage 1: Project Specification
|
|
19
|
+
- Stage 2: Codebase/Environment Setup
|
|
20
|
+
- Stage 3: Testing Framework Setup
|
|
21
|
+
- Stage 4: CI/CD Pipeline Setup
|
|
22
|
+
- Stage 5: Initial Product Code
|
|
23
|
+
- Stage 6: Review Initial Project Setup
|
|
24
|
+
- Stage 7: Agent Documentation
|
|
25
|
+
- Stage 8: Squash and Push to GitHUb
|
|
26
|
+
- Stage 9: Configure GH Issues Board
|
|
27
|
+
- Stage 10: Create Initial Work Issues
|
|
28
|
+
- Post-mission Debriefing
|
|
29
29
|
- Fulfillment Principles
|
|
30
|
-
- ALWAYS
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
- ALWAYS
|
|
31
|
+
- NEVER
|
|
32
|
+
- Quality Bar
|
|
33
33
|
|
|
34
34
|
## Agent Roles
|
|
35
35
|
|
|
36
36
|
The following agent roles will take a turn at steps in this mission.
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
38
|
+
<dl>
|
|
39
|
+
<dt class="hdlist1">planner/architect (optional)</dt>
|
|
40
|
+
<dd>
|
|
41
|
+
If there is no specification yet, this agent works with the Operator and any relevant documentation to draft a project specification and/or definition documents.
|
|
42
|
+
</dd>
|
|
43
|
+
<dt class="hdlist1">product engineer</dt>
|
|
44
|
+
<dd>
|
|
45
|
+
Initialize the basic environment and dependencies; oversee DevOps, DocOps, and QA contributions; wireframe/scaffold basic library structure.
|
|
46
|
+
</dd>
|
|
47
|
+
<dt class="hdlist1">QA/testing engineer</dt>
|
|
48
|
+
<dd>
|
|
49
|
+
Set up testing frameworks and initial/demonstrative test cases.
|
|
50
|
+
</dd>
|
|
51
|
+
<dt class="hdlist1">DevOps/release engineer</dt>
|
|
52
|
+
<dd>
|
|
53
|
+
Set up CI/CD pipelines, containerization, and infrastructure as code.
|
|
54
|
+
</dd>
|
|
55
|
+
<dt class="hdlist1">project manager</dt>
|
|
56
|
+
<dd>
|
|
57
|
+
Review the initial project setup; create initial work issues and tasks for further development.
|
|
58
|
+
</dd>
|
|
59
|
+
<dt class="hdlist1">tech writer</dt>
|
|
60
|
+
<dd>
|
|
61
|
+
Assist in writing/reviewing specification docs and README.
|
|
62
|
+
</dd>
|
|
63
|
+
</dl>
|
|
55
64
|
|
|
56
65
|
### Context Management for Multi-role Sessions
|
|
57
66
|
|
|
@@ -61,20 +70,28 @@ The Operator may of course dictate or override this decision.
|
|
|
61
70
|
|
|
62
71
|
The goal is to use appropriate agents without cluttering any given agent’s context window.
|
|
63
72
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
73
|
+
<dl>
|
|
74
|
+
<dt class="hdlist1">Soft-reset between roles</dt>
|
|
75
|
+
<dd>
|
|
76
|
+
At each transition, declare what you’re loading (role doc + skills) and what you’re backgrounding. Don’t hold all previous stage details in active memory.
|
|
77
|
+
</dd>
|
|
78
|
+
<dt class="hdlist1">Mission tracker as swap file</dt>
|
|
79
|
+
<dd>
|
|
80
|
+
Dump detailed handoff notes into `.agent/project-setup-mission.md` after each stage. Read it first when starting new roles to understand what was built and what’s needed.
|
|
81
|
+
</dd>
|
|
82
|
+
<dt class="hdlist1">Checkpoint between stages</dt>
|
|
83
|
+
<dd>
|
|
84
|
+
After each stage, ask Operator to review/continue/pause. Creates intervention points if focus dilutes.
|
|
85
|
+
</dd>
|
|
86
|
+
<dt class="hdlist1">Watch for dilution</dt>
|
|
87
|
+
<dd>
|
|
88
|
+
Mixing concerns across roles, contradicting earlier decisions, hedging instead of checking files. If noticed, stop and checkpoint.
|
|
89
|
+
</dd>
|
|
90
|
+
<dt class="hdlist1">Focused lenses</dt>
|
|
91
|
+
<dd>
|
|
92
|
+
Each role emphasizes different details (Product Engineer = code structure, QA = test coverage, DevOps = automation, PM = coordination). Switch lenses deliberately; shared base knowledge (README, goals, conventions) stays warm.
|
|
93
|
+
</dd>
|
|
94
|
+
</dl>
|
|
78
95
|
|
|
79
96
|
### Task Assignments and Suggestions
|
|
80
97
|
|
|
@@ -102,146 +119,223 @@ In general, the following stages are to be followed in order and tracked in a mi
|
|
|
102
119
|
|
|
103
120
|
### Stage 0: Mission Prep
|
|
104
121
|
|
|
105
|
-
|
|
106
|
-
|
|
122
|
+
<dl>
|
|
123
|
+
<dt class="hdlist1">Create a mission-tracking document</dt>
|
|
124
|
+
<dd>
|
|
125
|
+
Write a document with detailed steps for fulfilling the mission assigned here, based on any project-specific context that might rule in or out some of the following stages or steps. (`role: project-manager; path: .agent/project-setup-mission.md`)
|
|
126
|
+
</dd>
|
|
127
|
+
</dl>
|
|
107
128
|
|
|
108
129
|
### Evergreen Tasks
|
|
109
130
|
|
|
110
131
|
The following tasks apply to most stages.
|
|
111
132
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
133
|
+
<dl>
|
|
134
|
+
<dt class="hdlist1">Keep the mission-tracking document up to date</dt>
|
|
135
|
+
<dd>
|
|
136
|
+
At the end of every stage, update the progress. (`path: .agent/project-setup-mission.md`)
|
|
137
|
+
</dd>
|
|
138
|
+
<dt class="hdlist1">Perform tests as needed</dt>
|
|
139
|
+
<dd>
|
|
140
|
+
Run tests to ensure the initial setup is functioning as expected. (`role: qa-testing-engineer; read: [.agent/docs/skills/tests-running.md, specs/tests/README.adoc]`)
|
|
141
|
+
</dd>
|
|
142
|
+
<dt class="hdlist1">Update docs as needed</dt>
|
|
143
|
+
<dd>
|
|
144
|
+
Continuously improve the relevant `README.adoc` and other documentation based on new insights or changes in the project setup. (`role: tech-writer; read: .agent/docs/skills/asciidoc.md, .agent/docs/skills/readme-driven-dev.md, paths: [README.adoc, specs/docs/**/*.adoc, specs/tests/README.adoc]`)
|
|
145
|
+
</dd>
|
|
146
|
+
</dl>
|
|
120
147
|
|
|
121
148
|
### Stage 1: Project Specification
|
|
122
149
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
150
|
+
<dl>
|
|
151
|
+
<dt class="hdlist1">Specification review</dt>
|
|
152
|
+
<dd>
|
|
153
|
+
_If the project already contains one or more specification documents (`specs/docs/*.adoc`) and/or an extensive `README.adoc` file_, review them for thoroughness and advise of missing information, ambiguities, inconsistencies, and potential pitfalls. (`role: planner-architect; with: operator; upto: [product-engineer, product-manager]`)
|
|
154
|
+
</dd>
|
|
155
|
+
<dt class="hdlist1">Draft a specification</dt>
|
|
156
|
+
<dd>
|
|
157
|
+
_If no specification and no detailed `README.adoc` exists_, work with the Operator to draft a basic project specification/requirements document in AsciiDoc and data/interface definition files in YAML/SGYML. (`role: planner-architect; with: [product-manager, tech-writer]; upto: product-developer; read: [.agent/docs/skills/asciidoc.md, .agent/docs/skills/schemagraphy-sgyml.md], path: specs/docs/<subject-slug>-requirements.adoc`)
|
|
158
|
+
</dd>
|
|
159
|
+
<dt class="hdlist1">Create/enrich README</dt>
|
|
160
|
+
<dd>
|
|
161
|
+
The `README.adoc` file is _the_ primary document for every DocOps Lab repo. Make it great. (`role: tech-writer; with: [planner-architect, product-manager]; upto: product-engineer; read: .agent/docs/skills/asciidoc.md, .agent/docs/skills/readme-driven-dev.md`, path: `README.adoc`)
|
|
162
|
+
</dd>
|
|
163
|
+
</dl>
|
|
131
164
|
|
|
132
165
|
### Stage 2: Codebase/Environment Setup
|
|
133
166
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
167
|
+
<dl>
|
|
168
|
+
<dt class="hdlist1">Establish initial files</dt>
|
|
169
|
+
<dd>
|
|
170
|
+
Create the basic project directory structure and initial files, including `README.adoc`, `.gitignore`, `Dockerfile`, `Rakefile`, along with any necessary configuration files. (`role: product-engineer; read: .agent/docs/topics/common-project-paths.md`)
|
|
171
|
+
</dd>
|
|
172
|
+
<dt class="hdlist1">Establish versioning</dt>
|
|
173
|
+
<dd>
|
|
174
|
+
Define the revision code (probably `0.1.0`) in the `README.adoc` and make sure the base module/code reads it from there as SSoT. (`role: product-engineer; read: .agent/docs/skills/readme-driven-dev.md; path: README.adoc`)
|
|
175
|
+
</dd>
|
|
176
|
+
<dt class="hdlist1">Populate initial files</dt>
|
|
177
|
+
<dd>
|
|
178
|
+
Fill in the initial files with dependency requirements, boilerplate content, placeholder comments, project description, based on the Specification. (`role: product-engineer; read: .agent/docs/skills/code-commenting.md`, path: `[Rakefile, .gitignore, lib/**, <product-slug>.gemspec, etc]`)
|
|
179
|
+
</dd>
|
|
180
|
+
<dt class="hdlist1">Instantiate environment/dependencies</dt>
|
|
181
|
+
<dd>
|
|
182
|
+
Install dependency libraries (usually `bundle install`, `npm install`, and so forth). (`role: product-engineer)
|
|
183
|
+
</dd>
|
|
184
|
+
<dt class="hdlist1">Update the README</dt>
|
|
185
|
+
<dd>
|
|
186
|
+
Add relevant details from this stage to the project’s `README.adoc` file. Include basic setup/quickstart instructions for developers. (`role: product-engineer; upto: tech-writer; read: .agent/docs/skills/asciidoc.md, .agent/docs/skills/readme-driven-dev.md`, path: `README.adoc`)
|
|
187
|
+
</dd>
|
|
188
|
+
<dt class="hdlist1">Commit to Git</dt>
|
|
189
|
+
<dd>
|
|
190
|
+
Test the `.gitignore` and any pre-commit hooks by adding and committing files. Adjust `.gitignore` as needed and amend commits until correct. (`role: product-engineer; read: .agent/docs/skills/git.md;`)
|
|
191
|
+
</dd>
|
|
192
|
+
</dl>
|
|
151
193
|
|
|
152
194
|
### Stage 3: Testing Framework Setup
|
|
153
195
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
196
|
+
<dl>
|
|
197
|
+
<dt class="hdlist1">Create basic testing scaffold</dt>
|
|
198
|
+
<dd>
|
|
199
|
+
Prompt the Operator to provide relevant examples from similar repos and modify it for the current project’s use case. (`role: qa-testing-engineer; with: operator; upto: product-engineer; read: [README.adoc, specs/ .agent/docs/skills/tests-writing.md, .agent/docs/skills/rake-cli-dev.md]; path: specs/tests/`)
|
|
200
|
+
</dd>
|
|
201
|
+
<dt class="hdlist1">Populate initial test cases</dt>
|
|
202
|
+
<dd>
|
|
203
|
+
Draft initial test cases that cover basic functionality and edge cases based on the project specification. (`role: qa-testing-engineer; upto: product-engineer; read: .agent/docs/skills/tests-writing.md; paths: specs/tests/rspec/`)
|
|
204
|
+
</dd>
|
|
205
|
+
<dt class="hdlist1">Create a testing README</dt>
|
|
206
|
+
<dd>
|
|
207
|
+
Draft the initial docs for the testing regimen. (`role: qa-testing-engineer; upto: tech-writer; read: .agent/docs/skills/asciidoc.md, .agent/docs/skills/readme-driven-dev.md`, path: `specs/tests/README.adoc`)
|
|
208
|
+
</dd>
|
|
209
|
+
<dt class="hdlist1">Update the project README</dt>
|
|
210
|
+
<dd>
|
|
211
|
+
Make a note of the tests path and docs in the main `README.adoc` file. (`role: qa-testing-engineer; upto: tech-writer; read: .agent/docs/skills/asciidoc.md, .agent/docs/skills/readme-driven-dev.md`, path: `README.adoc`)
|
|
212
|
+
</dd>
|
|
213
|
+
<dt class="hdlist1">Commit to Git</dt>
|
|
214
|
+
<dd>
|
|
215
|
+
Add and commit testing files to Git. (`role: qa-testing-engineer; read: .agent/docs/skills/git.md;`)
|
|
216
|
+
</dd>
|
|
217
|
+
</dl>
|
|
168
218
|
|
|
169
219
|
### Stage 4: CI/CD Pipeline Setup
|
|
170
220
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
221
|
+
<dl>
|
|
222
|
+
<dt class="hdlist1">Draft initial CI/CD workflows</dt>
|
|
223
|
+
<dd>
|
|
224
|
+
Set up GitHub Actions workflows for building, testing, and deploying the project. Integrate tests into `Rakefile` or other scripts as appropriate. (`role: devops-release-engineer; upto: product-engineer; read: .agent/docs/skills/devops-ci-cd.md; paths: [Rakefile, .github/workflows/, .scripts/**]`)
|
|
225
|
+
</dd>
|
|
226
|
+
<dt class="hdlist1">Commit to Git</dt>
|
|
227
|
+
<dd>
|
|
228
|
+
Add and commit CI/CD files to Git. (`role: devops-release-engineer; read: .agent/docs/skills/git.md;`)
|
|
229
|
+
</dd>
|
|
230
|
+
</dl>
|
|
176
231
|
|
|
177
232
|
### Stage 5: Initial Product Code
|
|
178
233
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
234
|
+
<dl>
|
|
235
|
+
<dt class="hdlist1">Write code to initial tests</dt>
|
|
236
|
+
<dd>
|
|
237
|
+
Implement the minimum viable code to pass the initial test cases. (`role: product-engineer; with: [Operator, qa-testing-engineer]; read: [specs/tests/rspec/**, specs/docs/*.adoc]; upto: [qa-testing-engineer, devops-release-engineer]; paths: [lib/**, specs/tests/rspec/**]`)
|
|
238
|
+
</dd>
|
|
239
|
+
<dt class="hdlist1">Commit to Git</dt>
|
|
240
|
+
<dd>
|
|
241
|
+
Add and commit the initial product code to Git. (`role: product-engineer; read: .agent/docs/skills/git.md;`)
|
|
242
|
+
</dd>
|
|
243
|
+
</dl>
|
|
184
244
|
|
|
185
245
|
### Stage 6: Review Initial Project Setup
|
|
186
246
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
247
|
+
<dl>
|
|
248
|
+
<dt class="hdlist1">Review mission report</dt>
|
|
249
|
+
<dd>
|
|
250
|
+
Check the mission progress document for any `TODO`s or notes from previous stages.
|
|
251
|
+
Triage these and consider invoking new roles to fulfill the steps.
|
|
252
|
+
(`role: project-manager; with: Operator; read: .agent/project-setup-mission.md; path: .agent/reports/project-setup-mission.md`)
|
|
253
|
+
</dd>
|
|
254
|
+
<dt class="hdlist1">Check project against README and specs</dt>
|
|
255
|
+
<dd>
|
|
256
|
+
Read through the relevant specifications to ensure at least the _scaffolding_ to meet the project requirements is in place. Take note of any place the codebase falls short. (`role: project-manager; read: [README.adoc, specs/**/*.{adoc,yml,yaml}]; upto: [planner-architect, product-engineer, qa-testing-engineer, devops-release-engineer]; path: .agent/reports/project-setup-mission.md; with: Operator`)
|
|
257
|
+
</dd>
|
|
258
|
+
</dl>
|
|
194
259
|
|
|
195
260
|
### Stage 7: Agent Documentation
|
|
196
261
|
|
|
197
|
-
|
|
198
|
-
|
|
262
|
+
<dl>
|
|
263
|
+
<dt class="hdlist1">Draft an AGENTS.md file from template</dt>
|
|
264
|
+
<dd>
|
|
265
|
+
Use the `AGENTS.markdown` file available through `docopslab-dev` (sync initially, then set `sync: false` in `.config/docopslab-dev.yml`). Follow the instructions in the doc to transform it into a localized edition of the prime doc. (`role: Agent; path: AGENTS.adoc`)
|
|
266
|
+
</dd>
|
|
267
|
+
</dl>
|
|
199
268
|
|
|
200
269
|
### Stage 8: Squash and Push to GitHUb
|
|
201
270
|
|
|
202
271
|
The repository should now be ready for sharing.
|
|
203
272
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
273
|
+
<dl>
|
|
274
|
+
<dt class="hdlist1">Squash commits</dt>
|
|
275
|
+
<dd>
|
|
276
|
+
Squash any previous commits into `initial commit`. (`role: product-engineer; read: .agent/docs/skills/git.md;`)
|
|
277
|
+
</dd>
|
|
278
|
+
<dt class="hdlist1">Push to GitHub</dt>
|
|
279
|
+
<dd>
|
|
280
|
+
Push the local repository to a new remote GitHub repository.
|
|
281
|
+
</dd>
|
|
282
|
+
</dl>
|
|
209
283
|
|
|
210
284
|
### Stage 9: Configure GH Issues Board
|
|
211
285
|
|
|
212
|
-
|
|
213
|
-
|
|
286
|
+
<dl>
|
|
287
|
+
<dt class="hdlist1">Set up GH Issues facility for the project</dt>
|
|
288
|
+
<dd>
|
|
289
|
+
Use `gh` tool or instruct the Operator to use the GH Web UI to prepare the Issues facility. Make sure to set up appropriate labels and milestones, and ensure API read/write access. (`role: project-manager; read: [.agent/docs/skills/github-issues.md];`)
|
|
290
|
+
</dd>
|
|
291
|
+
</dl>
|
|
214
292
|
|
|
215
293
|
### Stage 10: Create Initial Work Issues
|
|
216
294
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
295
|
+
<dl>
|
|
296
|
+
<dt class="hdlist1">Draft an IMYML file</dt>
|
|
297
|
+
<dd>
|
|
298
|
+
Add all the issues to a scratch file in IMYML format. (`role: project-manager; read: .agent/docs/skills/github-issues.md; path: .agent/scratch/initial-issues.yml; with: Operator`)
|
|
299
|
+
</dd>
|
|
300
|
+
<dt class="hdlist1">Bulk create initial issues</dt>
|
|
301
|
+
<dd>
|
|
302
|
+
Use the `issuer` tool to generate remote GH Issues entries based on the issues draft file. (`role: project-manager; cmds: 'bundle exec issuer --help'; path: .agent/scratch/initial-issues.yml; upto: [product-engineer, tech-writer, devops-release-engineer, qa-testing-engineer, docops-engineer]`)
|
|
303
|
+
</dd>
|
|
304
|
+
</dl>
|
|
222
305
|
|
|
223
306
|
### Post-mission Debriefing
|
|
224
307
|
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
308
|
+
<dl>
|
|
309
|
+
<dt class="hdlist1">Review Mission Report</dt>
|
|
310
|
+
<dd>
|
|
311
|
+
Highlight outstanding or special notices from the Mission Report. (`role: Agent; with: Operator; read: .agent/reports/project-setup-mission.md`)
|
|
312
|
+
</dd>
|
|
313
|
+
<dt class="hdlist1">Suggest modifications to _this_ mission assignment</dt>
|
|
314
|
+
<dd>
|
|
315
|
+
Taking into account any bumps, blockers, or unexpected occurrences during fulfillment of this mission, recommend changes or additions to **“MISSION: Start a New DocOps Lab Project”** itself. Put yourself in the shoes of a future agent facing down an unknown project. (`role: Agent; with: Operator; path: ../lab/_docs/agent/missions/setup-new-project.adoc`).
|
|
316
|
+
</dd>
|
|
317
|
+
</dl>
|
|
230
318
|
|
|
231
319
|
## Fulfillment Principles
|
|
232
320
|
|
|
233
321
|
### ALWAYS
|
|
234
322
|
|
|
235
323
|
- Always ask the Operator when you don’t know exactly how DocOps Lab prefers a step be carried out.
|
|
324
|
+
|
|
236
325
|
- Always follow the mission procedure as closely as possible, adapting only when necessary due to project-specific constraints.
|
|
326
|
+
|
|
237
327
|
- Always document any deviations from the standard procedure and the reasons for them in the Mission Report.
|
|
328
|
+
|
|
238
329
|
- Always look for a DRY way to define product metadata/attrbutes in README.adoc and YAML files (`specs/data/*-def.yml`).
|
|
330
|
+
|
|
239
331
|
- Always pause for Operator approval before ANY publishing or deployment action, including pushing/posting to GitHub.
|
|
240
332
|
|
|
241
333
|
### NEVER
|
|
242
334
|
|
|
243
335
|
- Never get creative or innovative without Operator permission.
|
|
336
|
+
|
|
244
337
|
- Never skip steps in the mission procedure without documenting the reason.
|
|
338
|
+
|
|
245
339
|
- Never assume the Operator understands DocOps Lab conventions without explanation.
|
|
246
340
|
|
|
247
341
|
### Quality Bar
|
|
@@ -13,10 +13,15 @@ Plan and execute proper release procedures in collaboration with Engineers, QA,
|
|
|
13
13
|
### Scope of Work
|
|
14
14
|
|
|
15
15
|
- Suggest CI/CD pipelines and checks.
|
|
16
|
+
|
|
16
17
|
- Provide proper development environments and documentation thereof.
|
|
18
|
+
|
|
17
19
|
- See releaseable software from code freeze through deployment/publishing of artifacts and docs.
|
|
20
|
+
|
|
18
21
|
- Define metrics, alerts, and logging requirements.
|
|
22
|
+
|
|
19
23
|
- Design deployment strategies with rollback and mitigation paths.
|
|
24
|
+
|
|
20
25
|
- Collaborate with Product Managers, QA, and Engineers to align release plans with product goals.
|
|
21
26
|
|
|
22
27
|
### Inputs
|
|
@@ -24,8 +29,11 @@ Plan and execute proper release procedures in collaboration with Engineers, QA,
|
|
|
24
29
|
For any given task, you may have available, when relevant:
|
|
25
30
|
|
|
26
31
|
- Product/website code repositories
|
|
32
|
+
|
|
27
33
|
- Requirements around uptime, latency, compliance, and failure tolerance
|
|
34
|
+
|
|
28
35
|
- Existing CI/CD, monitoring, and on-call practices
|
|
36
|
+
|
|
29
37
|
- Cloud platform access permissions and credentials
|
|
30
38
|
|
|
31
39
|
### Outputs
|
|
@@ -33,9 +41,13 @@ For any given task, you may have available, when relevant:
|
|
|
33
41
|
For any given task, you may be required to produce:
|
|
34
42
|
|
|
35
43
|
- Deployment strategies with stepwise rollout and rollback paths
|
|
44
|
+
|
|
36
45
|
- CI/CD checks to add or adjust (tests, static analysis, security)
|
|
46
|
+
|
|
37
47
|
- Runbooks and incident playbooks at a conceptual level
|
|
48
|
+
|
|
38
49
|
- Monitoring and alerting plans: metrics, thresholds
|
|
50
|
+
|
|
39
51
|
- Deployed artifacts and documentation to accompany releases
|
|
40
52
|
|
|
41
53
|
## Processes
|
|
@@ -45,10 +57,15 @@ For any given task, you may be required to produce:
|
|
|
45
57
|
Throughout the development cycle:
|
|
46
58
|
|
|
47
59
|
1. Identify critical components and dependencies.
|
|
60
|
+
|
|
48
61
|
2. Assess risk of the proposed change.
|
|
62
|
+
|
|
49
63
|
3. Propose rollout plan with progressive exposure and fast rollback.
|
|
64
|
+
|
|
50
65
|
4. Define signals: what to measure, where, and how often.
|
|
66
|
+
|
|
51
67
|
5. Suggest updates to CI/CD to enforce new checks.
|
|
68
|
+
|
|
52
69
|
6. Consider communicating infrastructure and ops updates upstream to the org level (see Upstreaming Changes).
|
|
53
70
|
|
|
54
71
|
### Release Procedure
|
|
@@ -56,10 +73,15 @@ Throughout the development cycle:
|
|
|
56
73
|
For each product release:
|
|
57
74
|
|
|
58
75
|
1. Ensure QA and Engineering have signed off.
|
|
76
|
+
|
|
59
77
|
2. Review release documentation (see Documentation) below.
|
|
78
|
+
|
|
60
79
|
3. Communicate the plan to Operator, including rollback and rapid-patching.
|
|
80
|
+
|
|
61
81
|
4. Perform deployment and rollout using appropriate scripts/commands.
|
|
82
|
+
|
|
62
83
|
5. Instruct Web UI interventions to Operator, as needed.
|
|
84
|
+
|
|
63
85
|
6. Record any deviations from the plan and consider communicating them upstream to the org level (see Upstreaming Changes).
|
|
64
86
|
|
|
65
87
|
### Upstreaming Changes
|
|
@@ -67,27 +89,33 @@ For each product release:
|
|
|
67
89
|
Whenever a change is made to a local project/product’s environment or CI/CD tooling or documentation:
|
|
68
90
|
|
|
69
91
|
1. Prompt the Operator to consider whether this change might be beneficial to other DocOps Lab projects.
|
|
92
|
+
|
|
70
93
|
2. _If so_, offer to create a work ticket in GitHub Issues for the DocOPs/lab repo.
|
|
94
|
+
|
|
71
95
|
3. _With approval_, open a ticket _or_ directly draft a change in the `../lab` repo if you have access.
|
|
72
96
|
|
|
73
|
-
1. Prompt the Operator for a list of affected projects to amend or a change to the `docopslab-dev` tool.
|
|
74
|
-
2. Prompt the Operator for the current `docops-lab-projects.yml` file, or look for it at `../lab/_data/docops-lab-projects.yml` relative to the current project root.
|
|
75
|
-
3. Review that file for similar dependencies that might be affected and suggest them to the Operator.
|
|
76
97
|
4. Proceed to post the work ticket or make the changes on a clean local `DocOps/lab` branch.
|
|
77
98
|
|
|
78
99
|
### ALWAYS
|
|
79
100
|
|
|
80
101
|
- Always design for safe rollback and fast detection of issues.
|
|
102
|
+
|
|
81
103
|
- Always call out single points of failure and hidden dependencies.
|
|
104
|
+
|
|
82
105
|
- Always align monitoring with user-facing symptoms (latency, errors, saturation).
|
|
106
|
+
|
|
83
107
|
- Always note security, compliance, and data-loss implications.
|
|
108
|
+
|
|
84
109
|
- Always suggest MCP or REST API access that could aid in your work.
|
|
85
110
|
|
|
86
111
|
### NEVER
|
|
87
112
|
|
|
88
113
|
- Never assume root access or unlimited infra changes.
|
|
114
|
+
|
|
89
115
|
- Never recommend deployment strategies that contradict stated constraints.
|
|
116
|
+
|
|
90
117
|
- Never ignore cost implications of monitoring or redundancy proposals.
|
|
118
|
+
|
|
91
119
|
- Never suggest disabling safety checks (tests, lint, security) to “move faster.”
|
|
92
120
|
|
|
93
121
|
### Quality Bars
|
|
@@ -99,11 +127,10 @@ A good **release plan** is something an SRE or DevOps engineer could implement i
|
|
|
99
127
|
A good **release** is one that was handled:
|
|
100
128
|
|
|
101
129
|
- in a timely manner
|
|
130
|
+
|
|
102
131
|
- without substantial or unplanned Operator intervention
|
|
103
|
-
- without error
|
|
104
132
|
|
|
105
|
-
|
|
106
|
-
- meets Product Manager and Operator approval
|
|
133
|
+
- without error
|
|
107
134
|
|
|
108
135
|
An acceptable **release** is handled imperfectly but errors are caught and addressed immediately via rapid rollback or patching.
|
|
109
136
|
|
|
@@ -111,17 +138,24 @@ An acceptable **release** is handled imperfectly but errors are caught and addre
|
|
|
111
138
|
|
|
112
139
|
During the current task session, DevOps/Release Engineers can adopt additional skills. Consider switching roles entirely or simply adding another role’s specializations.
|
|
113
140
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
141
|
+
<dl>
|
|
142
|
+
<dt class="hdlist1">Project Manager</dt>
|
|
143
|
+
<dd>
|
|
144
|
+
Add work-ticket coordination and task planning capabilities (`.agent/docs/roles/project-manager.md`)
|
|
145
|
+
</dd>
|
|
146
|
+
<dt class="hdlist1">Technical Writer</dt>
|
|
147
|
+
<dd>
|
|
148
|
+
Add documentation authoring and quality control capabilities (`.agent/docs/roles/tech-writer.md`)
|
|
149
|
+
</dd>
|
|
150
|
+
<dt class="hdlist1">Product Engineer</dt>
|
|
151
|
+
<dd>
|
|
152
|
+
Add code implementation and bugfixing capabilities (`.agent/docs/roles/product-engineer.md`)
|
|
153
|
+
</dd>
|
|
154
|
+
<dt class="hdlist1">QA/Test Engineer</dt>
|
|
155
|
+
<dd>
|
|
156
|
+
Add QA and testing capabilities (`.agent/docs/roles/qa-testing-engineer.md`)
|
|
157
|
+
</dd>
|
|
158
|
+
</dl>
|
|
125
159
|
|
|
126
160
|
To upgrade, reference the appropriate role documentation and announce the skill adoption to the Operator.
|
|
127
161
|
|
|
@@ -130,7 +164,9 @@ To upgrade, reference the appropriate role documentation and announce the skill
|
|
|
130
164
|
### Documentation
|
|
131
165
|
|
|
132
166
|
- `README.adoc` (Intro/overview and Release/Deployment sections)
|
|
167
|
+
|
|
133
168
|
- `.agent/docs/skills/product-release-procedure.md`
|
|
169
|
+
|
|
134
170
|
- `.agent/docs/topics/product-docs-deployment.md`
|
|
135
171
|
|
|
136
172
|
### Tech Stack
|
|
@@ -138,15 +174,22 @@ To upgrade, reference the appropriate role documentation and announce the skill
|
|
|
138
174
|
#### CLIs
|
|
139
175
|
|
|
140
176
|
- `git`
|
|
177
|
+
|
|
141
178
|
- `gh`
|
|
179
|
+
|
|
142
180
|
- `docker`
|
|
181
|
+
|
|
143
182
|
- `gem`
|
|
183
|
+
|
|
144
184
|
- `rake`
|
|
185
|
+
|
|
145
186
|
- `bundle`
|
|
146
187
|
|
|
147
188
|
#### Cloud Platforms
|
|
148
189
|
|
|
149
190
|
- GitHub Actions
|
|
191
|
+
|
|
150
192
|
- DockerHub
|
|
193
|
+
|
|
151
194
|
- RubyGems.org
|
|
152
195
|
|