🔐 DevOps Hub - Credential Vault
A dead-simple VS Code extension that stores your deployment credentials securely and makes them available to GitHub Copilot.
🎯 The Concept
This extension does ONE THING and does it perfectly:
Store your credentials securely, so GitHub Copilot can do EVERYTHING ELSE.
No complex UI. No error handling. No fancy commands.
Just a secure vault that GitHub Copilot can read from to handle all your DevOps tasks.
🚀 How It Works
Step 1: Install & Open
- Press F5 to run the extension (Extension Development Host)
- Click the DevOps Hub icon in the Activity Bar (left sidebar)
- The credential vault opens
Step 2A: Connect Services (EASIEST! 🎉)
NEW: One-Click OAuth Connection!
Instead of manually copying tokens, just click:
- 🔗 "Connect to Netlify" (Command Palette)
- Browser opens → Login → Authorize → Done!
See OAUTH_SETUP.md
for setup (5 minutes, FREE!)
Step 2B: Or Paste Keys Manually
If you prefer manual entry (or for services without OAuth yet):
Supabase (5 keys):
- Project URL:
https://xxxxx.supabase.co
- Anon Key
- Service Role Key
- Database Password
- Access Token
Stripe (1 key minimum):
- Secret Key:
sk_test_...
or sk_live_...
- Webhook Secret:
whsec_...
(optional - auto-fetched if missing!)
Netlify (OAuth OR manual):
- Option A: Use "Connect to Netlify" command (recommended!)
- Option B: Manually paste Auth Token:
nfp_...
- Site ID (optional - auto-created on first deploy!)
🤖 Smart Automation: If you don't provide the Stripe Webhook Secret or Netlify Site ID, Copilot will automatically fetch/create them on first use! See SMART_AUTOMATION.md
for details.
Step 3: Save
Click "💾 Save All Keys"
Step 4: Let Copilot Do Everything
That's it! Now just ask GitHub Copilot:
@workspace Run my Supabase migrations
@workspace Deploy to Netlify
@workspace Sync Stripe products
@workspace Create a Supabase Edge Function
How does Copilot know about your credentials?
When you save credentials, the extension writes them to:
- ✅ VS Code Secret Storage (encrypted)
- ✅
~/.devops-hub-mcp/credentials.json
(owner-only permissions)
GitHub Copilot can read the JSON file and use your credentials! See CREDENTIALS_INFO.md
for details.
GitHub Copilot will:
- ✅ Read credentials from the vault
- ✅ Handle all error cases
- ✅ Run API calls
- ✅ Execute deployments
- ✅ Manage migrations
- ✅ Fix any issues automatically
- ✅ Auto-fetch missing credentials (Stripe webhook secret, Netlify site ID)
✨ Smart Automation Features
This isn't just a password manager—it's an intelligent deployment assistant!
🔐 Auto-Fetch Stripe Webhook Secret
Don't have your Stripe webhook secret? No problem!
- You enter: Stripe Secret Key
- Copilot automatically: Fetches/creates webhook endpoint and saves the secret
- You never have to visit the Stripe Dashboard
🌐 Auto-Create Netlify Site ID
First time deploying? No manual setup needed!
- You enter: Netlify Auth Token
- Copilot automatically: Creates the site and saves the Site ID
- Every future deploy updates that same site
Result: Paste 7 keys instead of 9. The extension handles the rest! 🎉
See SMART_AUTOMATION.md
for technical details.
💡 Why This Approach?
❌ The Old Way (Bolt.new style):
- Build complex UI for every operation
- Handle every possible error case
- Create commands for migrations, deployments, etc.
- Maintain API integration code
- Update when APIs change
✅ The New Way (Credential Vault + Copilot):
- Store credentials once
- Let Copilot handle everything
- No UI complexity
- No error handling needed
- Copilot adapts to API changes automatically
🔒 Security
All credentials are stored using VS Code's Secret Storage API:
- ✅ Encrypted at rest
- ✅ OS-level security (Windows Credential Manager, macOS Keychain, Linux Secret Service)
- ✅ Never stored in plain text
- ✅ Never in settings.json or workspace files
- ✅ Only accessible by this extension and Copilot
📋 Commands
Command |
What It Does |
DevOps Hub: Open Credential Vault |
Opens the sidebar |
DevOps Hub: Show Credentials (for Copilot) |
Shows what's stored (for debugging) |
DevOps Hub: Clear All Credentials |
Removes all stored credentials |
🎓 How to Get Your Keys
Supabase Keys
- Go to https://app.supabase.com
- Open your project
- Settings → API:
- Project URL
- anon/public key
- service_role key
- Settings → Database:
- Account → Access Tokens:
Stripe Keys
- Go to https://dashboard.stripe.com
- Developers → API Keys:
- Secret key (test or live)
- Developers → Webhooks:
- Click webhook → Reveal signing secret
Netlify Keys
- Go to https://app.netlify.com
- User settings → Applications → Personal access tokens:
- Site settings → Site details (optional):
🤖 Example: Let Copilot Deploy
Once your keys are saved, just chat with Copilot:
Deploy to Netlify:
@workspace Build and deploy my site to Netlify
Copilot will:
- Read Netlify auth token from vault
- Run
npm run build
- Zip the dist folder
- Upload to Netlify API
- Show deployment URL
Run Supabase Migrations:
@workspace Run all pending Supabase migrations
Copilot will:
- Read Supabase credentials from vault
- Scan
supabase/migrations/*.sql
- Connect to database
- Execute migrations in order
- Report results
Sync Stripe Products:
@workspace Fetch all Stripe products and save to my database
Copilot will:
- Read Stripe secret key from vault
- Call Stripe API to list products
- Call Stripe API to list prices
- Save to your database
- Confirm completion
🛠️ For Developers
Project Structure
src/
├── extension.ts # Simple activation & commands
├── services/
│ └── credentialsManager.ts # Secret Storage wrapper
└── views/
└── credentialsView.ts # Webview form
Accessing Credentials in Code
import { getCredentials } from './extension';
// Get all credentials
const creds = await getCredentials();
// Use them
const { supabase, stripe, netlify } = creds;
📦 What's NOT Included
This extension intentionally does NOT include:
- ❌ Migration runners
- ❌ Deployment logic
- ❌ API wrappers
- ❌ Error handling UI
- ❌ Status indicators
- ❌ Command implementations
Why? Because GitHub Copilot does all of that better than any UI we could build.
🎯 The Philosophy
"Don't build what GitHub Copilot can do better."
This extension is a secure .env file that Copilot can read.
That's it. That's all it needs to be.
Everything else - deployments, migrations, API calls, error handling - is handled by GitHub Copilot, which is:
- ✅ Smarter than any hardcoded logic
- ✅ More adaptable to API changes
- ✅ Better at error handling
- ✅ Always up-to-date with best practices
🚀 Get Started
- Press F5
- Click the DevOps Hub icon
- Paste your 9 keys
- Save
- Ask Copilot to deploy 🎉
That's the whole workflow!
📝 License
MIT
Made for developers who trust GitHub Copilot to handle the complexity. 🤖✨