Repository navigation
Conversation
Signed-off-by: Bruce Hamilton <scarlettbernique@gmail.com>
✅ Deploy Preview for cncf-techdocs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Signed-off-by: Bruce Hamilton <scarlettbernique@gmail.com>
Signed-off-by: Bruce Hamilton <scarlettbernique@gmail.com>
Signed-off-by: Bruce Hamilton <scarlettbernique@gmail.com>
iRaindrop
left a comment
There was a problem hiding this comment.
Reviewed the harness against the KubeVirt .github folder it was copied from. The structure copied cleanly (all content diffs are Prettier line-wrapping). The comments below cover what is still KubeVirt-specific and what would make the harness complete end-to-end for the next project.
Suggestions not tied to a specific line:
- Add a
/rank-recommendationsprompt that producesinput/ai-ranked-recommendations.csv. For KubeVirt this ranking step was ad hoc; codifying it closes the only manual gap in the pipeline. - Reference (or add) the upload process. The issue prompts say "a process will upload" the files, but the harness does not say where that script or workflow lives.
- Record the validated toolchain in
ai-harness.md: Copilot CLI version, model, and that the prompt files rely onmode: agentand${input:title}. - Add a pre-flight checklist: required labels exist in the target repo (
help wanted, the three priority labels), the project'sanalysis.mdis scaffolded from the techdocs template, and.githubhas no conflicting prompt files. - Consider an
examples/kubevirt/folder holding the KubeVirt "Current Repository" section and issue template, so the generic files stay generic but a worked example is still available.
| title: AI Assisted Analysis Harness | ||
| --- | ||
|
|
||
| ## AI Assisted Analysis Overview |
There was a problem hiding this comment.
This file is currently only a title and an empty H2. It is the natural home for the end-to-end workflow, which today lives partly in copilot-instructions.md and partly in people's heads:
- Copy
_github/to.github/in the target project repo (note the rename; every prompt references.github/...paths). - Fill in the "Current Repository" section of
copilot-instructions.md. - Run the sixteen
/<area>-fullprompts, then the three/<section>-commentprompts. - Rank the recommendations into
input/ai-ranked-recommendations.csv. - Run
/create-issues, review, then/create-umbrella-issues. - Upload the issue files and paste outputs into
analysis.mdper the mapping table.
Moving the process text here would also let copilot-instructions.md stay focused on instructions Copilot needs at run time.
There was a problem hiding this comment.
Thank you iRaindrop, how thoughtful of you to think of all these things.
| issues/ | ||
| create-issues.prompt.md # Generates numbered issue files from ranked recommendations | ||
| create-umbrella-issues.prompt.md # Groups issue files into umbrella issues | ||
| output/ |
There was a problem hiding this comment.
This tree shows per-area outputs at .github/output/ root, but create-issues.prompt.md reads from .github/output/analysis/ and output/readme.md describes analysis/ and issues/ sub-folders. For KubeVirt the files were moved by hand. Suggest making output/analysis/ the canonical location, updating this diagram and the area/section engines to match, and adding .gitkeep (or a readme) in output/analysis/ and output/issues/ so the folders exist after clone.
| message, for example | ||
| `run /create-umbrella-issues — merge the analytics and site-ownership umbrellas`. | ||
|
|
||
| ## Current Repository |
There was a problem hiding this comment.
This section is still the KubeVirt text verbatim (MkDocs, .nav.yml, yaspeller, kubevirt-doc-issue.md, the label mapping, #343). Since this is the one place the engines read project context from, suggest replacing it with a fill-in template with <!-- FILL IN --> placeholders for:
- Project name and display name
- Main and secondary repositories
- Published docs site URL
- Issues repository URL (used for
repo:in issue front matter) - Issue template file name under
issue_template/ - CNCF project page URL
- Assistance-request issue (
cncf/techdocs#NNN) - Priority label mapping (
urgent/high/backlogto the repo's actual labels) - Build system and content conventions
The issue prompts can then read these fields instead of hardcoding KubeVirt values (see comments on those files). The KubeVirt version could move to an examples/ folder as a worked example.
| Copilot shall output Markdown files from the AI-assisted analysis to the | ||
| `.github/output` directory in the current directory. | ||
|
|
||
| ### What This Repo Is |
There was a problem hiding this comment.
Minor: the "Analysis responses style" section earlier in this file says readers are "Kubernetes subject-matter experts" and to "Follow Kubernetes documentation conventions". That is right for KubeVirt but not for every CNCF project; consider parameterizing it from "Current Repository" or softening to "the project's ecosystem".
| - `.github/input/ai-ranked-recommendations.csv` — the ranked recommendations. | ||
| Columns: `Section`, `Area`, `Recommendation`, `Suggested Priority` | ||
| (`1 - Urgent`, `2 - High`, `3 - Backlog`). | ||
| - `.github/output/analysis/kubevirt-*-recommendations.md` — the per-area |
There was a problem hiding this comment.
Hardcoded kubevirt- slug. The area engines derive <project-slug> from "Current Repository"; this prompt should do the same, for example .github/output/analysis/<project-slug>-*-recommendations.md.
| work them if it matters. End with this sentence, adapted as needed: "This | ||
| umbrella issue tracks recommended changes resulting from an analysis of the | ||
| KubeVirt documentation commissioned by | ||
| [CNCF](https://www.cncf.io/projects/kubevirt/). The assistance request is |
There was a problem hiding this comment.
Same as create-issues: the CNCF project URL and the assistance-request issue are KubeVirt-specific and should come from "Current Repository". The title on line 9 ("from the KubeVirt documentation issues") also needs genericizing.
| --- | ||
| title: { title } #{Issue number} | ||
| labels: [high, help wanted] | ||
| repo: https://github.com/kubevirt/user-guide/issues |
There was a problem hiding this comment.
Hardcoded KubeVirt repo URL in a template that is meant to be reused. Suggest a placeholder such as {issues repo URL} and have the prompt fill it from "Current Repository".
Separately: once _github is renamed to .github, issue_template/ sits next to GitHub's own ISSUE_TEMPLATE/ convention. On case-insensitive filesystems (macOS default) the two names collide, and on Linux they are easy to confuse. Consider renaming this folder to templates/.
| - Otherwise name it `<project-slug>-<stem>-answers.md`. | ||
| - If a file exists by the same name, overwrite it. | ||
|
|
||
| Output the file to the `.github/output` directory. |
There was a problem hiding this comment.
Suggest .github/output/analysis here (and in comment, recommendations, and section-comment) so the per-area outputs land where create-issues expects them without a manual move. See the comment on the tree diagram in copilot-instructions.md.
| @@ -0,0 +1,6 @@ | |||
| # About this folder | |||
|
|
|||
| Use this folder contain two sub-folders for Copilot to place output: | |||
There was a problem hiding this comment.
Typo: "Use this folder contain two sub-folders" → "This folder contains two sub-folders". Also, Git does not track empty directories, so analysis/ and issues/ will not exist after clone; add a .gitkeep or a short readme in each.
| @@ -0,0 +1,4 @@ | |||
| # About this folder | |||
|
|
|||
| Use this folder to place temporary prompt files, spreadsheets, or anything else | |||
There was a problem hiding this comment.
Worth documenting the one required input here: ai-ranked-recommendations.csv with columns Section, Area, Recommendation, Suggested Priority (1 - Urgent, 2 - High, 3 - Backlog), since /create-issues depends on it. If a /rank-recommendations prompt is added, note that it produces this file.
Signed-off-by: Bruce Hamilton <scarlettbernique@gmail.com>
Signed-off-by: Bruce Hamilton <scarlettbernique@gmail.com>
Provides the directory structure and guidance under
.githubin the project's doc website repo for conducting an AI-assisted analysis using Copilot GitHub Enterprise.