Use Squiid with
GitHub Copilot
GitHub Copilot needs credentials for every service your project touches. Give it one instead: SQUIID_API_KEY in .env, and every service in the catalog behind it.
What GitHub Copilot is
GitHub Copilot is GitHub AI assistant. It started as inline completion in the editor, then added chat, and now includes a coding agent that can be assigned an issue and open a pull request from it. The editor side works on your local checkout, while the coding agent runs in GitHub infrastructure, so the two get their configuration from different places.
The problem: every agent wants keys
The moment a coding agent stops writing a component and starts wiring up a product, it needs credentials. A database URL for Supabase. A deploy token for Vercel. An API key for Resend. Another for Twilio, another for Stripe, another for whichever model provider the feature calls. Each one is a signup, a dashboard, a billing relationship and a secret that has to exist somewhere GitHub Copilot can reach.
What happens next is worse than a long .env file. People paste secrets into prompts to get better answers, and keys end up in chat transcripts, in screenshots posted for help, and in committed config. Because each key belongs to a different vendor, rotating one after a leak means finding it, regenerating it and updating every place it was copied to.
The fix: one key, one convention
Squiid holds the upstream credentials for every service in the catalog. Your project gets one variable:
SQUIID_API_KEY=sq_live_xxxxxxxxxxxxxxxxxxxx
Then every call your app or your agent makes goes to the gateway with that one key:
curl https://api.squiid.io/v1/supabase/... \
-H "Authorization: Bearer $SQUIID_API_KEY"
Official SDKs take a base URL, so most integrations are a one line change rather than a rewrite:
import { createClient } from '@supabase/supabase-js';
const db = createClient(
'https://api.squiid.io/v1/supabase',
process.env.SQUIID_API_KEY,
);
That is the gateway convention: https://api.squiid.io/v1/<service>/ with Authorization: Bearer $SQUIID_API_KEY. It is the same for every service, which is why an agent only has to learn it once. Full detail is on the gateway convention page.
Setting it up in GitHub Copilot
- For the editor, your project
.envis read by your application as usual. PutSQUIID_API_KEYthere. - Repository-wide instructions go in
.github/copilot-instructions.md. Add the gateway convention so both chat and the coding agent produce calls againstapi.squiid.iorather than inventing provider environment variable names. - For the Copilot coding agent, environment values and secrets are configured on the repository in GitHub settings, in the environment used by the agent. The exact location has changed as the feature has rolled out, so check GitHub current documentation before relying on it.
What it costs
Usage is paid from prepaid credits at par: $1 of credit is $1 at the provider, no markup. The free plan is $0/month with a 15% fee on credit top-ups and a $50 minimum top-up. Solo is $19.97/month and its top-up fee starts at 8%, falling to 6.5%, 5% and 3.5% as trailing 30-day API spend passes $100, $500 and $2,000. Team is $29.97 per seat per month for seats 1-5, $24.97 for seats 6-20 and $19.97 above that, with the same ladder one point lower. Custom pricing is 3% or less against a commitment. Subscription-priced services such as Supabase Pro at $25 a month pass through at the provider price with no fee. Credits pause at zero rather than overdrawing, with alerts at 75%, 90% and 100%. See spend controls.
Services agents ask for most
The eight services that come up first in almost every GitHub Copilot project, all reachable with the same key.
Supabase
DatabasePostgres with auth, storage and realtime.
Vercel
HostingDeploy from a git push, preview per branch.
Resend
EmailTransactional email in one POST request.
Twilio
MessagingSMS, voice and phone numbers worldwide.
Cloudflare R2
StorageR2 object storage, Workers, KV and D1.
Stripe
PaymentsCheckout, subscriptions and webhooks.
Anthropic
LLM APIClaude models for app-side generation.
OpenAI
LLM APIChat, embeddings, images and audio.
Set it up in 3 steps
Add the services in Squiid
Create a Squiid account, top up credits, and click add on the services this project needs. Squiid provisions them upstream and keeps the provider credentials.
One line in .env
Put SQUIID_API_KEY=sq_live_… in .env and remove every provider key you were carrying. That is the whole secret surface of the project.
Tell GitHub Copilot the convention
Write the base URL and the header into your project rules file so GitHub Copilot generates correct calls without being reminded.
Questions people ask
Where do I put instructions that Copilot will follow across a repository?
In .github/copilot-instructions.md. Four lines stating the Squiid base URL, the header, and that no provider keys belong in the repo is enough to change what Copilot suggests for every file in the project.
How does the Copilot coding agent get secrets?
From the environment configured for it on the repository in GitHub settings, not from your laptop. Add SQUIID_API_KEY there. Because it is one variable rather than a dozen, keeping that environment in sync stops being a chore.
Does Copilot need my Supabase or Vercel credentials?
No. It needs whatever your code needs, and with the gateway convention your code needs one variable. That is the difference between an agent that could leak six credentials and one that can only leak a key you rotate in a click.
Is Copilot billing related to Squiid billing?
No. Copilot is billed by GitHub for its own model usage. Squiid bills for your application service usage from prepaid credits at provider prices, plus your monthly plan.
Give GitHub Copilot one key.
Not twelve.
One account, one API key, one bill and one dashboard for every service in the catalog your project needs.