build(devcontainer): add repoverlay, agency install, and ff-oce overlay#26752
build(devcontainer): add repoverlay, agency install, and ff-oce overlay#26752tylerbutler merged 15 commits intomicrosoft:mainfrom
Conversation
|
/azp run Build - protocol-definitions,Build - test-tools,server-gitrest,server-gitssh,server-routerlicious,Build - client packages,repo-policy-check,Build - build-tools |
|
/azp run Build - api-markdown-documenter,Build - benchmark-tool,Build - build-common,Build - build-tools,Build - common-utils,Build - eslint-config-fluid,Build - eslint-plugin-fluid,server-historian |
|
Azure Pipelines successfully started running 5 pipeline(s). |
|
Azure Pipelines successfully started running 7 pipeline(s). |
There was a problem hiding this comment.
Pull request overview
Adds repoverlay support to the AI-agent devcontainer and introduces a shareable ff-oce overlay containing a Claude agent and a Kusto investigation skill/reference for the Fluid Framework Client OCE rotation.
Changes:
- Extend
.devcontainer/Dockerfileand the AI-agent profile to optionally installagencyandrepoverlay, and ensure user-local install paths are onPATH. - Refactor shell alias setup to work across bash/zsh entry points and add an OCE helper alias (
copilot-oce). - Add the
ff-ocerepoverlay library content (agent + Kusto skill + large query reference).
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| scripts/codespace-setup/repoverlay-install.sh | Adds an (optional) repoverlay installer script. |
| scripts/codespace-setup/agency-install.sh | Adds an (optional) agency installer script. |
| scripts/codespace-setup/post-create.sh | Improves nvm sourcing under set -u. |
| scripts/codespace-setup/playwright-setup.sh | Skips Playwright skill setup when playwright-cli isn’t present. |
| scripts/codespace-setup/ai-setup.sh | Refactors system-wide alias hookup; adds zsh support. |
| scripts/codespace-setup/agent-aliases.sh | Adds shell-guarding and an OCE helper alias. |
| .repoverlay/library/ff-oce/repoverlay.ccl | Defines the ff-oce overlay configuration. |
| .repoverlay/library/ff-oce/.claude/skills/ff-oce-kusto/references/kusto-query-reference.md | Adds a large Fluid telemetry/Kusto query reference document. |
| .repoverlay/library/ff-oce/.claude/skills/ff-oce-kusto/SKILL.md | Adds the skill definition and orientation for the reference. |
| .repoverlay/library/ff-oce/.claude/agents/ff-oce.md | Adds the ff-oce agent definition and responsibilities. |
| .devcontainer/ai-agent/devcontainer.json | Enables agency + repoverlay in the AI-enabled profile; adds ADO auth extension. |
| .devcontainer/Dockerfile | Adds PATH updates and optional installation of agency and repoverlay. |
You can also share your feedback on Copilot code review. Take the survey.
.repoverlay/library/ff-oce/.claude/skills/ff-oce-kusto/SKILL.md
Outdated
Show resolved
Hide resolved
alexvy86
left a comment
There was a problem hiding this comment.
Didn't go through the ff-oce.md or kusto-query-reference.md file but those are probably going to see iteration anyway.
| "dbaeumer.vscode-eslint", | ||
| "esbenp.prettier-vscode", | ||
| "MAI-EngineeringSystems.mai-ai-telemetry", | ||
| "ms-codespaces-tools.ado-codespaces-auth", |
There was a problem hiding this comment.
From its docs:
This extension is not recommended to be installed by itself. You should instead use the external-repository and artifacts-helper devcontainer features which will ensure this extension is preinstalled on your Codespace with proper configuration.
Worth consideration? Not sure the external-repository one matters in this case, but I think I've seen artifacts-helper in other places.
There was a problem hiding this comment.
It's not clear to me how any of this fits together. :) The extension was suggested to unblock agency's install - I'll add the other features as well.
.repoverlay/library/ff-oce/.claude/skills/ff-oce-kusto/SKILL.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Not necessarily for this PR, but we'll probably want another reference doc for the Office Fluid Test database which is relatively similar, but also has tables that only exist there, e.g. the ones for our pipeline telemetry, perf benchmarks telemetry, bundle size telemetry. And in general, is the right database to query to investigate issues with our own engineering systems.
There was a problem hiding this comment.
Agreed - ideally our kusto query reference files are factored into their most atomic chunks, and then various kusto-related skills can reference various query files as needed. Since some might overlap, and want to share, but not share everything - if that makes sense.
nvm internally references unset variables, which causes "unbound variable" errors when sourced with set -u active. Disable -u alongside -e in both the subshell and the outer nvm use call.
The ai-setup.sh script unconditionally called playwright-setup.sh, which runs playwright-cli. When INSTALL_PLAYWRIGHT_CLI is disabled, this fails with exit code 127 (command not found), breaking the postCreateCommand.
…poverlay Agency and repoverlay install to ~/.local/bin and ~/.cargo/bin respectively, but these paths weren't on PATH in non-login shells, causing "command not found" errors for the agent aliases.
- Remove unused agency-install.sh and repoverlay-install.sh scripts (installation is handled by Dockerfile build args) - Fix correlation ID hierarchy to show Session_Id and Data_hostCorrelationId as equivalent rather than hierarchical - Fix grammar: "might required" → "might require"
Co-authored-by: Alex Villarreal <716334+alexvy86@users.noreply.github.com>
|
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output |
Summary
agencyandrepoverlayinstallation to the Dockerfile via build args, with user-local bin paths added toPATH.ff-ocerepoverlay overlay: a Claude agent and Kusto skill for the Fluid Framework Client OCE rotation, with a comprehensive query reference covering Office Fluid telemetry tables, correlation IDs, and investigation patterns./etc/profile.d/wrapper with a direct symlink.playwright-setup.shguard that skips gracefully whenplaywright-cliis not installed.nvmsourcing underset -uinpost-create.sh.