You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(hosts): add GitHub Copilot CLI as a first-class host (--host copilot)
Adds support for installing gstack as flat .agent.md files under
~/.copilot/agents/, per Copilot CLI's custom agents schema:
https://docs.github.com/en/copilot/reference/custom-agents-configuration
The change is purely additive — existing hosts are untouched:
- New `outputLayout?: 'per-skill-dir' | 'flat-agent-md'` field on HostConfig.
Default is 'per-skill-dir' (every existing host). Copilot uses
'flat-agent-md' to emit one file per skill, flat under <hostSubdir>/agents/.
- processExternalHost branches on the new field to write to
<hostSubdir>/agents/<name>.agent.md instead of the default
<hostSubdir>/skills/<name>/SKILL.md.
- hosts/copilot.ts: frontmatter allowlist (name/description), injects
target=github-copilot + tools=["*"] per the schema. skipSkills includes
'codex' (per the every-external-host convention) and 'copilot' (to avoid
recursing if a /copilot skill is ever added to the source tree).
- setup: INSTALL_COPILOT flag, build trigger, install block that symlinks
generated gstack-*.agent.md into ~/.copilot/agents/ and creates
~/.copilot/gstack/ runtime root with bin/browse-dist/upgrade symlinks.
- Parameterized host smoke tests updated to handle both layouts; --host all
test asserts the right output subdir per host. Two assertions updated for
the new host count (10 → 11) and the new --host pass-through list.
Verified end-to-end on macOS:
- `./setup --host copilot` produces 46 agents under ~/.copilot/agents/.
- `copilot --agent <name>` lists every gstack skill (autoplan, qa, review,
codex, design-shotgun, …).
- `bun test test/host-config.test.ts test/gen-skill-docs.test.ts` →
459 pass, 0 fail.
Use: `copilot --agent qa "test the staging site"`.
First-time setup: `export GSTACK_ROOT=$HOME/.copilot/gstack`.
boundaryInstruction: 'IMPORTANT: Do NOT read or execute any files under ~/.claude/, ~/.agents/, .claude/skills/, or agents/. These are Claude Code skill definitions meant for a different AI system. Ignore them. Stay focused on the repository code only.',
0 commit comments