goga-tool-mkdocs 1.0.0__tar.gz
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.
- goga_tool_mkdocs-1.0.0/.github/workflows/docs.yml +26 -0
- goga_tool_mkdocs-1.0.0/.github/workflows/new_version.yml +21 -0
- goga_tool_mkdocs-1.0.0/.github/workflows/notify.yml +17 -0
- goga_tool_mkdocs-1.0.0/.github/workflows/publish.yml +17 -0
- goga_tool_mkdocs-1.0.0/.gitignore +225 -0
- goga_tool_mkdocs-1.0.0/LICENSE +28 -0
- goga_tool_mkdocs-1.0.0/PKG-INFO +28 -0
- goga_tool_mkdocs-1.0.0/README.md +7 -0
- goga_tool_mkdocs-1.0.0/docs/getting-started.md +49 -0
- goga_tool_mkdocs-1.0.0/docs/index.md +36 -0
- goga_tool_mkdocs-1.0.0/docs/overrides/main.html +68 -0
- goga_tool_mkdocs-1.0.0/docs/pipeline.md +67 -0
- goga_tool_mkdocs-1.0.0/docs/skills/discovery.md +21 -0
- goga_tool_mkdocs-1.0.0/docs/skills/impact-analysis.md +23 -0
- goga_tool_mkdocs-1.0.0/docs/skills/mkdocs.md +50 -0
- goga_tool_mkdocs-1.0.0/docs/skills/nav-sync.md +18 -0
- goga_tool_mkdocs-1.0.0/docs/skills/questions.md +22 -0
- goga_tool_mkdocs-1.0.0/docs/skills/structure.md +18 -0
- goga_tool_mkdocs-1.0.0/docs/skills/validator.md +25 -0
- goga_tool_mkdocs-1.0.0/docs/skills/writer.md +20 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/__init__.py +0 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs/SKILL.md +164 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-discovery/SKILL.md +73 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-impact-analysis/SKILL.md +72 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-nav-sync/SKILL.md +71 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-questions/SKILL.md +70 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-structure/SKILL.md +71 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-validator/SKILL.md +72 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs/skills/mkdocs-writer/SKILL.md +73 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/PKG-INFO +28 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/SOURCES.txt +35 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/dependency_links.txt +1 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/requires.txt +4 -0
- goga_tool_mkdocs-1.0.0/goga_tool_mkdocs.egg-info/top_level.txt +1 -0
- goga_tool_mkdocs-1.0.0/mkdocs.yml +47 -0
- goga_tool_mkdocs-1.0.0/pyproject.toml +100 -0
- goga_tool_mkdocs-1.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: Release docs
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- '[0-9]+.[0-9]+.x'
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: write
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
deploy:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v4
|
|
15
|
+
|
|
16
|
+
- name: Configure Python
|
|
17
|
+
uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: 3.x
|
|
20
|
+
|
|
21
|
+
- name: Install dependencies
|
|
22
|
+
run: |
|
|
23
|
+
pip install -e ".[docs]"
|
|
24
|
+
|
|
25
|
+
- name: Build and Deploy
|
|
26
|
+
run: mkdocs gh-deploy --force
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: Open New Version
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
type:
|
|
7
|
+
description: "New version type"
|
|
8
|
+
required: true
|
|
9
|
+
type: choice
|
|
10
|
+
options: [minor, major]
|
|
11
|
+
|
|
12
|
+
permissions:
|
|
13
|
+
contents: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
create-branch:
|
|
17
|
+
uses: qarium/ci/.github/workflows/library-new-version.yml@0.0.x
|
|
18
|
+
with:
|
|
19
|
+
type: ${{ inputs.type }}
|
|
20
|
+
secrets:
|
|
21
|
+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: Notify Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_run:
|
|
5
|
+
workflows: ["Publish Release"]
|
|
6
|
+
types: [completed]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
notify:
|
|
13
|
+
if: ${{ github.event.workflow_run.conclusion == 'success' }}
|
|
14
|
+
uses: qarium/ci/.github/workflows/library-notify.yml@0.0.x
|
|
15
|
+
secrets:
|
|
16
|
+
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
|
|
17
|
+
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: Publish Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: write
|
|
8
|
+
id-token: write
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
release:
|
|
12
|
+
uses: qarium/ci/.github/workflows/library-publish.yml@0.0.x
|
|
13
|
+
with:
|
|
14
|
+
src-package: goga_tool_mkdocs
|
|
15
|
+
secrets:
|
|
16
|
+
PYPI_API_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
17
|
+
ZAI_TOKEN: ${{ secrets.ZAI_TOKEN }}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# goga: ralphex config managed by goga
|
|
2
|
+
.goga/prompts/*.txt
|
|
3
|
+
.goga/agents/*.txt
|
|
4
|
+
.goga/config
|
|
5
|
+
|
|
6
|
+
# Byte-compiled / optimized / DLL files
|
|
7
|
+
__pycache__/
|
|
8
|
+
*.py[codz]
|
|
9
|
+
*$py.class
|
|
10
|
+
|
|
11
|
+
# C extensions
|
|
12
|
+
*.so
|
|
13
|
+
|
|
14
|
+
# Distribution / packaging
|
|
15
|
+
.Python
|
|
16
|
+
build/
|
|
17
|
+
develop-eggs/
|
|
18
|
+
dist/
|
|
19
|
+
downloads/
|
|
20
|
+
eggs/
|
|
21
|
+
.eggs/
|
|
22
|
+
lib/
|
|
23
|
+
lib64/
|
|
24
|
+
parts/
|
|
25
|
+
sdist/
|
|
26
|
+
var/
|
|
27
|
+
wheels/
|
|
28
|
+
share/python-wheels/
|
|
29
|
+
*.egg-info/
|
|
30
|
+
.installed.cfg
|
|
31
|
+
*.egg
|
|
32
|
+
/MANIFEST
|
|
33
|
+
|
|
34
|
+
# PyInstaller
|
|
35
|
+
# Usually these files are written by a python script from a template
|
|
36
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
37
|
+
*.manifest
|
|
38
|
+
*.spec
|
|
39
|
+
|
|
40
|
+
# Installer logs
|
|
41
|
+
pip-log.txt
|
|
42
|
+
pip-delete-this-directory.txt
|
|
43
|
+
|
|
44
|
+
# Unit test / coverage reports
|
|
45
|
+
htmlcov/
|
|
46
|
+
.tox/
|
|
47
|
+
.nox/
|
|
48
|
+
.coverage
|
|
49
|
+
.coverage.*
|
|
50
|
+
.cache
|
|
51
|
+
nosetests.xml
|
|
52
|
+
coverage.xml
|
|
53
|
+
*.cover
|
|
54
|
+
*.py.cover
|
|
55
|
+
*,cover
|
|
56
|
+
.hypothesis/
|
|
57
|
+
.pytest_cache/
|
|
58
|
+
cover/
|
|
59
|
+
|
|
60
|
+
# Translations
|
|
61
|
+
*.mo
|
|
62
|
+
*.pot
|
|
63
|
+
|
|
64
|
+
# Django stuff:
|
|
65
|
+
*.log
|
|
66
|
+
local_settings.py
|
|
67
|
+
db.sqlite3
|
|
68
|
+
db.sqlite3-journal
|
|
69
|
+
|
|
70
|
+
# Flask stuff:
|
|
71
|
+
instance/
|
|
72
|
+
.webassets-cache
|
|
73
|
+
|
|
74
|
+
# Scrapy stuff:
|
|
75
|
+
.scrapy
|
|
76
|
+
|
|
77
|
+
# Sphinx documentation
|
|
78
|
+
docs/_build/
|
|
79
|
+
|
|
80
|
+
# PyBuilder
|
|
81
|
+
.pybuilder/
|
|
82
|
+
target/
|
|
83
|
+
|
|
84
|
+
# Jupyter Notebook
|
|
85
|
+
.ipynb_checkpoints
|
|
86
|
+
|
|
87
|
+
# IPython
|
|
88
|
+
profile_default/
|
|
89
|
+
ipython_config.py
|
|
90
|
+
|
|
91
|
+
# pyenv
|
|
92
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
93
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
94
|
+
# .python-version
|
|
95
|
+
|
|
96
|
+
# pipenv
|
|
97
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
98
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
99
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
100
|
+
# install all needed dependencies.
|
|
101
|
+
#Pipfile.lock
|
|
102
|
+
|
|
103
|
+
# UV
|
|
104
|
+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
|
|
105
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
106
|
+
# commonly ignored for libraries.
|
|
107
|
+
#uv.lock
|
|
108
|
+
|
|
109
|
+
# poetry
|
|
110
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
111
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
112
|
+
# commonly ignored for libraries.
|
|
113
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
114
|
+
#poetry.lock
|
|
115
|
+
#poetry.toml
|
|
116
|
+
|
|
117
|
+
# pdm
|
|
118
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
119
|
+
# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
|
|
120
|
+
# https://pdm-project.org/en/latest/usage/project/#working-with-version-control
|
|
121
|
+
#pdm.lock
|
|
122
|
+
#pdm.toml
|
|
123
|
+
.pdm-python
|
|
124
|
+
.pdm-build/
|
|
125
|
+
|
|
126
|
+
# pixi
|
|
127
|
+
# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
|
|
128
|
+
#pixi.lock
|
|
129
|
+
# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
|
|
130
|
+
# in the .venv directory. It is recommended not to include this directory in version control.
|
|
131
|
+
.pixi
|
|
132
|
+
|
|
133
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
134
|
+
__pypackages__/
|
|
135
|
+
|
|
136
|
+
# Celery stuff
|
|
137
|
+
celerybeat-schedule
|
|
138
|
+
celerybeat.pid
|
|
139
|
+
|
|
140
|
+
# SageMath parsed files
|
|
141
|
+
*.sage.py
|
|
142
|
+
|
|
143
|
+
# Environments
|
|
144
|
+
.env
|
|
145
|
+
.envrc
|
|
146
|
+
.venv
|
|
147
|
+
env/
|
|
148
|
+
venv/
|
|
149
|
+
ENV/
|
|
150
|
+
env.bak/
|
|
151
|
+
venv.bak/
|
|
152
|
+
|
|
153
|
+
# Spyder project settings
|
|
154
|
+
.spyderproject
|
|
155
|
+
.spyproject
|
|
156
|
+
|
|
157
|
+
# Rope project settings
|
|
158
|
+
.ropeproject
|
|
159
|
+
|
|
160
|
+
# mkdocs documentation
|
|
161
|
+
/site
|
|
162
|
+
|
|
163
|
+
# mypy
|
|
164
|
+
.mypy_cache/
|
|
165
|
+
.dmypy.json
|
|
166
|
+
dmypy.json
|
|
167
|
+
|
|
168
|
+
# Pyre type checker
|
|
169
|
+
.pyre/
|
|
170
|
+
|
|
171
|
+
# pytype static type analyzer
|
|
172
|
+
.pytype/
|
|
173
|
+
|
|
174
|
+
# Cython debug symbols
|
|
175
|
+
cython_debug/
|
|
176
|
+
|
|
177
|
+
# PyCharm
|
|
178
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
179
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
180
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
181
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
182
|
+
#.idea/
|
|
183
|
+
|
|
184
|
+
# Abstra
|
|
185
|
+
# Abstra is an AI-powered process automation framework.
|
|
186
|
+
# Ignore directories containing user credentials, local state, and settings.
|
|
187
|
+
# Learn more at https://abstra.io/docs
|
|
188
|
+
.abstra/
|
|
189
|
+
|
|
190
|
+
# Visual Studio Code
|
|
191
|
+
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
|
|
192
|
+
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
|
|
193
|
+
# and can be added to the global gitignore or merged into this file. However, if you prefer,
|
|
194
|
+
# you could uncomment the following to ignore the entire vscode folder
|
|
195
|
+
# .vscode/
|
|
196
|
+
|
|
197
|
+
# Ruff stuff:
|
|
198
|
+
.ruff_cache/
|
|
199
|
+
|
|
200
|
+
# PyPI configuration file
|
|
201
|
+
.pypirc
|
|
202
|
+
|
|
203
|
+
# Cursor
|
|
204
|
+
# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
|
|
205
|
+
# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
|
|
206
|
+
# refer to https://docs.cursor.com/context/ignore-files
|
|
207
|
+
.cursorignore
|
|
208
|
+
.cursorindexingignore
|
|
209
|
+
|
|
210
|
+
# Marimo
|
|
211
|
+
marimo/_static/
|
|
212
|
+
marimo/_lsp/
|
|
213
|
+
__marimo__/
|
|
214
|
+
|
|
215
|
+
# IDE
|
|
216
|
+
.idea/
|
|
217
|
+
|
|
218
|
+
# AI
|
|
219
|
+
.claude/
|
|
220
|
+
.ralphex/
|
|
221
|
+
docs/tasks/
|
|
222
|
+
docs/plans/
|
|
223
|
+
docs/design/
|
|
224
|
+
docs/arch/
|
|
225
|
+
docs/superpowers/
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026, Mikhail Trifonov
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
16
|
+
contributors may be used to endorse or promote products derived from
|
|
17
|
+
this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: goga-tool-mkdocs
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Goga tool. MkDocs documentation skills.
|
|
5
|
+
License: BSD-3-Clause
|
|
6
|
+
Classifier: Development Status :: 3 - Alpha
|
|
7
|
+
Classifier: Intended Audience :: Developers
|
|
8
|
+
Classifier: Programming Language :: Python :: 3
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
14
|
+
Requires-Python: >=3.10
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Provides-Extra: docs
|
|
18
|
+
Requires-Dist: mkdocs>=1.6.0; extra == "docs"
|
|
19
|
+
Requires-Dist: mkdocs-material>=9.5.0; extra == "docs"
|
|
20
|
+
Dynamic: license-file
|
|
21
|
+
|
|
22
|
+
# goga-tool-mkdocs
|
|
23
|
+
|
|
24
|
+
MkDocs documentation maintenance tool for the Goga framework.
|
|
25
|
+
|
|
26
|
+
## Documentation
|
|
27
|
+
|
|
28
|
+
[https://qarium.github.io/goga-tool-mkdocs](https://qarium.github.io/goga-tool-mkdocs)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Getting Started
|
|
2
|
+
|
|
3
|
+
## Installation
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pip install goga-tool-mkdocs
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Connect to agent
|
|
10
|
+
|
|
11
|
+
Install skills into a Goga agent:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
goga connect <agent>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Requirements
|
|
18
|
+
|
|
19
|
+
- Python 3.10+
|
|
20
|
+
- Goga CLI
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
Run the tool from a Goga project root:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
/goga:tool mkdocs
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The tool detects the execution mode automatically:
|
|
31
|
+
|
|
32
|
+
- If no prior documentation state exists (no `mkdocs.yml`, no `docs/`), it runs in **bootstrap** mode
|
|
33
|
+
- If documentation already exists, it runs in **incremental** mode and patches only affected areas
|
|
34
|
+
|
|
35
|
+
## Project setup
|
|
36
|
+
|
|
37
|
+
For the tool to produce documentation, your project should contain at least one of:
|
|
38
|
+
|
|
39
|
+
- `CODEMANIFEST` files in cell directories
|
|
40
|
+
- `.usages/` directories with practice files
|
|
41
|
+
- `.tests/` directories with test specifications
|
|
42
|
+
|
|
43
|
+
## Output
|
|
44
|
+
|
|
45
|
+
The tool generates:
|
|
46
|
+
|
|
47
|
+
- `docs/` directory with markdown pages
|
|
48
|
+
- `mkdocs.yml` with navigation
|
|
49
|
+
- `.goga/tools/mkdocs/traceability.yml` linking docs to source cells
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# goga-tool-mkdocs
|
|
2
|
+
|
|
3
|
+
MkDocs documentation maintenance tool for the Goga framework.
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
`goga-tool-mkdocs` orchestrates creation, synchronization, patching, validation, and maintenance of MkDocs documentation using authoritative project artifacts.
|
|
8
|
+
|
|
9
|
+
It is invoked via the Goga aggent command:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
/goga:tool mkdocs
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## How it works
|
|
16
|
+
|
|
17
|
+
The tool runs a deterministic pipeline of subskills that discover project artifacts, analyze changes, build documentation structure, write content, synchronize navigation, and validate results.
|
|
18
|
+
|
|
19
|
+
Two execution modes are available:
|
|
20
|
+
|
|
21
|
+
- **Bootstrap** — generates documentation from scratch when no prior state exists
|
|
22
|
+
- **Incremental** — patches existing documentation based on detected changes
|
|
23
|
+
|
|
24
|
+
## Authoritative sources
|
|
25
|
+
|
|
26
|
+
Documentation is generated from:
|
|
27
|
+
|
|
28
|
+
- `CODEMANIFEST` files
|
|
29
|
+
- `.usages/**/*.md` files
|
|
30
|
+
- `.tests/**/*.yml` / `.tests/**/*.yaml` files
|
|
31
|
+
|
|
32
|
+
## Quick links
|
|
33
|
+
|
|
34
|
+
- [Getting Started](getting-started.md)
|
|
35
|
+
- [Pipeline](pipeline.md)
|
|
36
|
+
- [Skills](skills/mkdocs.md)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{% extends "base.html" %}
|
|
2
|
+
|
|
3
|
+
{% block extrahead %}
|
|
4
|
+
{{ super() }}
|
|
5
|
+
<style>
|
|
6
|
+
/* Dark navbar — override palette in both themes */
|
|
7
|
+
[data-md-color-scheme=default][data-md-color-primary=custom],
|
|
8
|
+
[data-md-color-scheme=slate][data-md-color-primary=custom] {
|
|
9
|
+
--md-primary-fg-color: #0a0a13;
|
|
10
|
+
--md-primary-fg-color--light: #0a0a13cc;
|
|
11
|
+
--md-primary-bg-color: #ffffff;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.md-header__button.md-logo img,
|
|
15
|
+
.md-header__button.md-logo svg {
|
|
16
|
+
width: 32px;
|
|
17
|
+
height: 32px;
|
|
18
|
+
border-radius: 50%;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Search form — visible on dark header */
|
|
22
|
+
.md-search__overlay {
|
|
23
|
+
background-color: transparent !important;
|
|
24
|
+
}
|
|
25
|
+
[data-md-toggle=search]:checked~.md-header .md-search__overlay {
|
|
26
|
+
background-color: #0000008a !important;
|
|
27
|
+
}
|
|
28
|
+
.md-search__inner {
|
|
29
|
+
background-color: transparent !important;
|
|
30
|
+
}
|
|
31
|
+
.md-search__form {
|
|
32
|
+
background-color: #3a3a3a !important;
|
|
33
|
+
border-radius: 0.5rem;
|
|
34
|
+
}
|
|
35
|
+
.md-search__form:hover {
|
|
36
|
+
background-color: #4a4a4a !important;
|
|
37
|
+
}
|
|
38
|
+
.md-search__input {
|
|
39
|
+
color: #e0e0e0 !important;
|
|
40
|
+
}
|
|
41
|
+
.md-search__input::placeholder {
|
|
42
|
+
color: #999999 !important;
|
|
43
|
+
}
|
|
44
|
+
.md-search__icon {
|
|
45
|
+
color: #999999 !important;
|
|
46
|
+
}
|
|
47
|
+
.md-search__form:hover .md-search__icon,
|
|
48
|
+
.md-search__input:focus-visible ~ .md-search__icon {
|
|
49
|
+
color: #e0e0e0 !important;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* Links in dark theme — readable on dark background */
|
|
53
|
+
[data-md-color-scheme=slate] .md-nav__link,
|
|
54
|
+
[data-md-color-scheme=slate] .md-toc__link,
|
|
55
|
+
[data-md-color-scheme=slate] article a {
|
|
56
|
+
color: #cbd5e0 !important;
|
|
57
|
+
}
|
|
58
|
+
[data-md-color-scheme=slate] .md-nav__link--passed,
|
|
59
|
+
[data-md-color-scheme=slate] .md-toc__link--passed {
|
|
60
|
+
color: #718096 !important;
|
|
61
|
+
}
|
|
62
|
+
[data-md-color-scheme=slate] .md-nav__link:hover,
|
|
63
|
+
[data-md-color-scheme=slate] .md-toc__link:hover,
|
|
64
|
+
[data-md-color-scheme=slate] article a:hover {
|
|
65
|
+
color: var(--md-accent-fg-color) !important;
|
|
66
|
+
}
|
|
67
|
+
</style>
|
|
68
|
+
{% endblock %}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Pipeline
|
|
2
|
+
|
|
3
|
+
The mkdocs tool executes a deterministic pipeline of subskills. The pipeline order differs between execution modes.
|
|
4
|
+
|
|
5
|
+
## Traceability
|
|
6
|
+
|
|
7
|
+
The tool maintains `.goga/tools/mkdocs/traceability.yml` — a mapping from documentation pages to source cell paths:
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
docs/auth.md:
|
|
11
|
+
- auth/data
|
|
12
|
+
- auth/oauth
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Rules:
|
|
16
|
+
|
|
17
|
+
- Entries reference cell directory paths (e.g. `auth/data`), not files
|
|
18
|
+
- Each cell path must exist as a directory with a `CODEMANIFEST` file
|
|
19
|
+
- A page is linked to a cell if it uses information from that cell's `CODEMANIFEST` or `.usages/` files
|
|
20
|
+
|
|
21
|
+
## Bootstrap mode
|
|
22
|
+
|
|
23
|
+
Used when no prior documentation state exists.
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
1. Discovery — scan project for authoritative sources
|
|
27
|
+
2. Structure — build documentation hierarchy
|
|
28
|
+
3. Writer — create documentation content
|
|
29
|
+
4. Nav Sync — generate mkdocs.yml navigation
|
|
30
|
+
5. Validator — validate consistency and integrity
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Incremental mode
|
|
34
|
+
|
|
35
|
+
Used when documentation already exists. Adds impact analysis to detect what changed.
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
1. Discovery — scan project for authoritative sources
|
|
39
|
+
2. Impact Analysis — detect affected and stale documentation pages
|
|
40
|
+
3. Structure — update documentation hierarchy
|
|
41
|
+
4. Writer — patch stale sections, create missing ones
|
|
42
|
+
5. Nav Sync — update mkdocs.yml navigation
|
|
43
|
+
6. Validator — validate consistency and integrity
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Reconciliation loop
|
|
47
|
+
|
|
48
|
+
If the validator returns `requires_reconciliation: true`, the pipeline re-runs a subset:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
1. Impact Analysis
|
|
52
|
+
2. Writer
|
|
53
|
+
3. Nav Sync
|
|
54
|
+
4. Validator
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Maximum reconciliation loops: **2**.
|
|
58
|
+
|
|
59
|
+
## Completion criteria
|
|
60
|
+
|
|
61
|
+
The pipeline is complete when:
|
|
62
|
+
|
|
63
|
+
- Documentation is synchronized with authoritative artifacts
|
|
64
|
+
- Navigation is valid
|
|
65
|
+
- Required sections exist
|
|
66
|
+
- Stale docs are resolved
|
|
67
|
+
- No blocking questions remain
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# discovery
|
|
2
|
+
|
|
3
|
+
Discover authoritative documentation artifacts and public documentation surface.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Scans the repository to detect all sources that documentation should be generated from.
|
|
8
|
+
|
|
9
|
+
## Workflow
|
|
10
|
+
|
|
11
|
+
1. Scan repository
|
|
12
|
+
2. Detect authoritative domains
|
|
13
|
+
3. Detect `CODEMANIFEST` files
|
|
14
|
+
4. Detect `.usages/` directories
|
|
15
|
+
5. Detect `.tests/` directories
|
|
16
|
+
6. Detect existing documentation
|
|
17
|
+
7. Detect `mkdocs.yml`
|
|
18
|
+
|
|
19
|
+
## Output
|
|
20
|
+
|
|
21
|
+
Returns structured discovery results listing all found artifacts, existing documentation state, and any warnings about missing sources.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# impact-analysis
|
|
2
|
+
|
|
3
|
+
Determine affected documentation areas and stale pages.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Analyzes changes (git diff) against the traceability mapping to identify which documentation pages need updating.
|
|
8
|
+
|
|
9
|
+
## Workflow
|
|
10
|
+
|
|
11
|
+
1. Analyze git diff
|
|
12
|
+
2. Load traceability mapping
|
|
13
|
+
3. Detect affected documentation pages
|
|
14
|
+
4. Detect stale sections
|
|
15
|
+
5. Detect required patches
|
|
16
|
+
|
|
17
|
+
## When it runs
|
|
18
|
+
|
|
19
|
+
Only in **incremental** mode and during reconciliation loops. Not part of the bootstrap pipeline.
|
|
20
|
+
|
|
21
|
+
## Output
|
|
22
|
+
|
|
23
|
+
Returns a deterministic patch plan listing affected pages, stale sections, and required patches.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# mkdocs
|
|
2
|
+
|
|
3
|
+
Master orchestration skill for MkDocs documentation maintenance.
|
|
4
|
+
|
|
5
|
+
## Role
|
|
6
|
+
|
|
7
|
+
Coordinates all subskills in deterministic order to create, synchronize, patch, validate, and maintain MkDocs documentation.
|
|
8
|
+
|
|
9
|
+
## Invocation
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
/goga:tool mkdocs
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Invoked via the Goga tool agent command dispatcher. Not invoked directly by other skills.
|
|
16
|
+
|
|
17
|
+
## Execution modes
|
|
18
|
+
|
|
19
|
+
| Mode | When |
|
|
20
|
+
|------|------|
|
|
21
|
+
| Bootstrap | No prior documentation state exists |
|
|
22
|
+
| Incremental | Documentation already exists, needs patching |
|
|
23
|
+
|
|
24
|
+
## Subskills
|
|
25
|
+
|
|
26
|
+
| Subskill | Purpose |
|
|
27
|
+
|----------|---------|
|
|
28
|
+
| [Discovery](discovery.md) | Discover authoritative artifacts |
|
|
29
|
+
| [Impact Analysis](impact-analysis.md) | Detect affected and stale pages |
|
|
30
|
+
| [Structure](structure.md) | Build documentation hierarchy |
|
|
31
|
+
| [Writer](writer.md) | Create and patch content |
|
|
32
|
+
| [Nav Sync](nav-sync.md) | Synchronize mkdocs.yml navigation |
|
|
33
|
+
| [Validator](validator.md) | Validate consistency and integrity |
|
|
34
|
+
| [Questions](questions.md) | Escalate blocking uncertainties |
|
|
35
|
+
|
|
36
|
+
## Authoritative sources
|
|
37
|
+
|
|
38
|
+
Documentation is generated from:
|
|
39
|
+
|
|
40
|
+
- `CODEMANIFEST` — cell contract definitions
|
|
41
|
+
- `.usages/**/*.md` — usage practice files
|
|
42
|
+
- `.tests/**/*.yml` / `.tests/**/*.yaml` — test specifications
|
|
43
|
+
|
|
44
|
+
## Traceability
|
|
45
|
+
|
|
46
|
+
Maintains `.goga/tools/mkdocs/traceability.yml` mapping documentation pages to source cell paths.
|
|
47
|
+
|
|
48
|
+
## Reconciliation
|
|
49
|
+
|
|
50
|
+
If validation fails, the pipeline re-runs impact analysis through validator (max 2 loops).
|