feat(run): support GitHub Copilot CLI as a first-class firma run agent#202
Merged
Merged
Conversation
175d0c9 to
1bae628
Compare
Add a built-in copilot profile, mapping, and firma config scaffold at parity with codex/claude-code: - AgentProfile::Copilot (provider github; copilot / copilot-cli names). - Copilot managed seccomp baseline that permits filesystem.delete so Copilot's SQLite session store (~/.copilot/*.db) works. - CaTrustMode profile field (default Sole); copilot uses AppendSystemRoots to inject system roots + firma-ca, fixing UnknownIssuer on real GitHub TLS. Other profiles keep the sole firma-ca bundle unchanged. - copilot mapping with github MITM bypass hosts, emitted as https_mitm.bypass_hosts in the generated firma.toml. - firma config --profile copilot scaffolds the copilot mapping, profile, and MITM bypass; firma run -- copilot auto-selects the profile. - Example run profile, docs-site guide, llms.txt entry, and an auto-select integration test.
1bae628 to
7837370
Compare
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Contributor
I am curious about this comment. Is it because of how child execution is being detected or another issue? |
Contributor
Author
We just check the first argument, and checking arguments is not very reliable. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
GitHub Copilot CLI is now a supported agent for
firma run, at the same level as the existing Codex and Claude Code agents. You can wrap it withfirma run --profile copilot(or justfirma run -- copilot, which picks the right profile from the command name), andfirma config --profile copilotsets up a working configuration for it.The new profile handles three things that Copilot needs and that the generic profile got wrong:
It also passes the GitHub login tokens through to Copilot so it can authenticate, adds a documentation page and an example configuration, and includes a test that confirms
firma run -- copilotselects the copilot profile automatically.Why
People running Copilot CLI behind OpenFirma hit three separate failures (a database error, a broken GitHub connection, and a certificate error). This makes Copilot work out of the box with a single profile, without weakening the existing Codex and Claude Code setups, which keep their current behaviour unchanged.
Notes
gh copilotextension is not auto-detected because the command word isgh. For that form, pass--profile copilotexplicitly.