Skip to content

docs: refresh workshop content for current Copilot CLI behavior - #11

Open
jsburckhardt wants to merge 1 commit into
mainfrom
refresh/cli-v1.0.83-3
Open

docs: refresh workshop content for current Copilot CLI behavior#11
jsburckhardt wants to merge 1 commit into
mainfrom
refresh/cli-v1.0.83-3

Conversation

@jsburckhardt

Copy link
Copy Markdown
Collaborator

Refreshes all 13 workshop modules and slide decks against the currently installed CLI. Every claim below was verified against live CLI output, and every module was then executed end-to-end in the workshop Docker container.

Accuracy corrections

Fix Modules
sandbox.gitAuth/ghAuthsandbox.auth.git/auth.gh — wrong key was silently ignored 04, 13
--share/--share-gist are non-interactive-only; /share for live sessions 11, 12, 13
Split --resume (session picker) from --continue (most recent session) 11, 12
shell(git)shell(git:*) — bare form never matched git subcommands 02, 12
--available-tools/--excluded-tools take tool names, not permission rule kinds 12
/usage reports AI credits, not premium requests 10
/plugins/plugin; --scope gains session, working-directory 06, 07
Added third built-in skill discover-resources 06
copilot mcp list omits built-in servers; /mcp shows them 05
assisted mode requires experimental auto-approval 04
/sandbox also registers under a managed policy 04
Inline hook locations: global config.json vs repo settings.json 09
Eight off-by-one module prerequisite references 03–10, 13

Coverage added

  • Flags: --sandbox, --assisted-approval, --usage-output-file, --enable-mcp-server, --extension-sdk-path, --no-eager-powershell-resolution, --remote, --remote-export
  • Settings: bannerStyle, defaultMode, defaultPermissionMode
  • Env vars: COPILOT_ASSISTED_APPROVAL, COPILOT_MULTIPLEXER, COPILOT_INLINE_IMAGES_HERDR
  • Commands: copilot app, copilot init, /exit print, /model sub-options
  • Added jq and gh to prerequisites

Exercise bugs found by actually running the workshop

These all passed a syntax check but broke or misbehaved when executed:

  • A > [!TIP] callout was trapped inside a << 'EOF' heredoc, so it was written verbatim into the instructions file the reader generates
  • Three bash fences contained blocking interactive sessions and in-session ! lines — pasting them created stray files and ran npm install in the reader's own shell
  • test-and-commit { was invalid bash; because it loads via BASH_ENV, it fired npm test on every shell command Copilot ran
  • copilot --version exits before config init, so the ls $COPILOT_HOME step always failed
  • --sandbox was silently ignored without --experimental
  • MCP server name githubgithub-mcp-server

Validation

  • Integration test: all 13 modules executed in the copilot-workshop container — 130 commands, 122 passed, 8 failed, 77 skipped (interactive-only; none auth-gated, nothing hung). All 8 failures are fixed in this PR.
  • Spot-verified live: --share produced a valid transcript, --continue recovered a seeded codeword, --available-tools 'bash,view' genuinely restricted the tool list, GitHub MCP tool counts moved 5 → 0 → 46 as documented, and destructive rm/overwrite prompts were correctly blocked under default permissions.
  • Static checks: cross-references, code fences, table columns, exercise numbering and Marp frontmatter all pass; workshop prose remains fully versionless.

Housekeeping

  • Refreshed 11 redirecting docs.github.com URLs
  • Synced all 13 slide decks; "Your Turn!" slides and Fluent styling intact
  • Updated the validated CLI version in the instructions constant, README badge/text, and landing page

Refresh all 13 workshop modules and slide decks against the currently
installed CLI, correcting inaccurate claims, closing coverage gaps, and
fixing exercise commands that failed or misbehaved when executed.

Accuracy corrections:
- sandbox.gitAuth/ghAuth -> sandbox.auth.git/auth.gh (key was silently ignored)
- --share/--share-gist documented as non-interactive-only; /share for live sessions
- split --resume (session picker) from --continue (most recent session)
- shell(git) -> shell(git:*); bare form never matched git subcommands
- --available-tools/--excluded-tools take tool names, not permission rule kinds
- /usage reports AI credits rather than premium requests
- /plugins -> /plugin; --scope gains session and working-directory
- add third built-in skill discover-resources
- clarify that copilot mcp list omits built-in servers; /mcp shows them
- note assisted mode requires experimental auto-approval
- note /sandbox also registers under a managed policy
- clarify inline hook locations (global config.json vs repo settings.json)
- correct eight off-by-one module prerequisite references

Coverage added:
- flags: --sandbox, --assisted-approval, --usage-output-file,
  --enable-mcp-server, --extension-sdk-path,
  --no-eager-powershell-resolution, --remote, --remote-export
- settings: bannerStyle, defaultMode, defaultPermissionMode
- env vars: COPILOT_ASSISTED_APPROVAL, COPILOT_MULTIPLEXER,
  COPILOT_INLINE_IMAGES_HERDR
- commands: copilot app, copilot init, /exit print, /model sub-options
- add jq and gh to prerequisites

Exercise fixes found by executing every module in the workshop container:
- move a TIP callout out of a heredoc that corrupted a generated file
- split blocking sessions and in-session ! lines out of bash fences
- fix test-and-commit function syntax that ran npm test via BASH_ENV
- start a session before listing COPILOT_HOME, which --version never creates
- pair --sandbox with --experimental so the flag is not ignored
- use github-mcp-server as the built-in MCP server name

Also refresh eleven redirecting documentation URLs, sync all slide decks,
and update the validated CLI version in the instructions, README badge,
and landing page.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 04e10c63-8abf-4a9c-b149-158d2b829bb5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants