Automatically sync GitHub Copilot prompts from multiple Git repositories to your local VS Code environment.
The Promptitude Extension automatically synchronizes the latest GitHub Copilot prompts, instructions, and templates from one or more Git repositories to your local VS Code user prompts directory. This ensures you always have access to the most up-to-date, peer-reviewed prompts across all your projects from multiple sources.
- ๐ Automatic Sync: Configurable sync frequency (daily by default)
- ๐ฆ Multiple Repositories: Support for syncing from multiple Git repositories simultaneously
- ๐ Cross-Platform: Works on macOS, Windows, and Linux
- โ๏ธ Configurable: Customizable sync frequency and target directory
- ๐ Secure: Uses your existing GitHub authentication from VS Code and secure PAT storage for Azure DevOps
- ๐ Multi-Provider: Supports both GitHub and Azure DevOps repositories
- ๐ฆ Read-Only: Safe pull-only synchronization (no risk of overwriting repositories)
- ๐จ User-Friendly: Simple setup with minimal configuration required
- ๐ Status Indicators: Clear feedback on sync status and last update time
- ๐ก๏ธ Error Handling: Graceful handling of repository conflicts and partial failures
- VS Code 1.70.0 or higher
- GitHub authentication configured in VS Code (for GitHub repositories)
- Azure DevOps Personal Access Token (for Azure DevOps repositories)
- Access to a git repository with prompts and configuration files
- Download the latest
promptitude-extension.vsixfile from the releases - Open VS Code
- Press
Ctrl+Shift+P(orCmd+Shift+Pon macOS) to open the command palette - Type "Extensions: Install from VSIX" and select it
- Browse and select the downloaded
.vsixfile - Restart VS Code when prompted
- Open VS Code Settings (
Ctrl+,orCmd+,) - Search for "Promptitude"
- Configure your preferences (optional - defaults work for most users)
- The extension will automatically perform an initial sync
| Setting | Description | Default | Type |
|---|---|---|---|
promptitude.enabled |
Enable/disable automatic syncing | true |
boolean |
promptitude.frequency |
Sync frequency | "daily" |
string |
promptitude.customPath |
Custom prompts directory path | "" |
string |
promptitude.repositories |
Repositories with optional branch (use url or `url |
branch`) | [] |
promptitude.syncOnStartup |
Sync when VS Code starts | true |
boolean |
promptitude.showNotifications |
Show sync status notifications | true |
boolean |
promptitude.syncChatmode |
Sync chatmode prompts | true |
boolean |
promptitude.syncInstructions |
Sync instructions prompts | false |
boolean |
promptitude.syncPrompt |
Sync prompt files | true |
boolean |
"startup"- Only sync when VS Code starts"hourly"- Sync every hour"daily"- Sync once per day (default)"weekly"- Sync once per week"manual"- Only sync when manually triggered
The extension automatically detects the correct prompts directory for your operating system:
- macOS:
~/Library/Application Support/Code/User/prompts - Windows:
%APPDATA%\Code\User\prompts - Linux:
~/.config/Code/User/prompts
You can override this by setting a custom path in promptitude.customPath.
The extension will adapt this path automatically to function with non-default VS Code profiles.
The extension supports syncing from multiple Git repositories simultaneously. This is useful for organizations that maintain prompt collections across multiple repositories or for users who want to combine prompts from different sources.
-
Using VS Code Settings UI:
- Open Settings (
Ctrl+,orCmd+,) - Search for "promptitude.repositories"
- Click "Add Item" to add each repository using one of the following formats:
https://github.com/your-org/prompts(defaults to branchmain)https://github.com/your-org/prompts|develop(explicit branch)https://dev.azure.com/org/project/_git/repo(Azure DevOps modern format)https://org.visualstudio.com/project/_git/repo(Azure DevOps legacy format)
- Open Settings (
-
Using JSON Configuration:
{ "promptitude.repositories": [ "https://github.com/your-org/prompts", "https://github.com/your-org/prompts|develop", "https://github.com/another-org/shared-prompts|release" ] }
When syncing multiple repositories:
- Partial Success: If some repositories sync successfully while others fail, the extension shows a partial success notification with details
- Complete Failure: If all repositories fail, an error notification is shown
- Individual Errors: Repository-specific errors are logged and reported separately
Once configured, the extension works automatically based on your sync frequency setting. You'll see notifications (if enabled) when sync operations complete.
The extension adds a status bar item showing:
- Sync status (โ synced, ๐ syncing, โ error)
- Last sync time
- Click to manually trigger sync
The extension syncs all prompt files from the repository subdirectories into a flattened structure:
chatmodes/*.md โ User/prompts/
instructions/*.md โ User/prompts/
prompts/*.md โ User/prompts/
Access these commands through the VS Code Command Palette (Ctrl+Shift+P or Cmd+Shift+P):
| Command | Description |
|---|---|
| Promptitude: Sync Now | Manually trigger an immediate sync of all configured repositories |
| Promptitude: Show Status | Display extension status, configuration, and authentication information |
| Promptitude: Open Prompts Folder | Open the local prompts directory in your system file explorer |
| Command | Description |
|---|---|
| Promptitude: Add Azure DevOps Personal Access Token | Add or update a Personal Access Token (PAT) used to access Azure DevOps repositories |
| Promptitude: Remove Azure DevOps Personal Access Token(s) | Remove one or all stored PATs |
| Promptitude: Clear Azure DevOps Authentication Cache | Clear cached organization authentication; forces re-authentication on next sync |
Problem: Extension can't access the GitHub repository
Solutions:
- Ensure you're signed into GitHub in VS Code (
View > Command Palette > GitHub: Sign In) - Verify you have access to the repository
- Check your internet connection
Problem: Extension can't access Azure DevOps repository (400/401/403 errors)
Solutions:
- Ensure your Personal Access Token (PAT) has the correct permissions:
- Minimum required:
Code (read)permission - For organization repositories: ensure PAT has access to the specific organization/project
- Minimum required:
- Verify the repository URL format is correct:
- Modern:
https://dev.azure.com/org/project/_git/repo - Legacy:
https://org.visualstudio.com/project/_git/repo
- Modern:
- Check that the PAT hasn't expired
- Use the "Promptitude: Add Azure DevOps Personal Access Token" command to re-enter your PAT
Problem: Extension can't find or create the prompts directory
Solutions:
- Ensure VS Code has write permissions to the user directory
- Manually create the prompts directory if it doesn't exist
- Set a custom path in extension settings
Problem: Sync operation seems stuck
Solutions:
- Check your internet connection
- Try manual sync to see detailed error messages
- Restart VS Code and try again
Enable debug logging:
- Open VS Code Settings
- Search for "promptitude.debug"
- Enable debug mode
- Check the "Promptitude" output channel for detailed logs
- Read-Only Access: The extension only pulls content from the repository
- No Data Collection: No usage data or personal information is collected
- GitHub Authentication: Uses VS Code's built-in GitHub authentication
- Azure DevOps Authentication: Securely stores Personal Access Tokens using VS Code's SecretStorage
- Local Storage: All prompts are stored locally on your machine
- No Network Requests: Only communicates with GitHub/Azure DevOps for repository access
# Clone the repository
git clone <url>
# Install dependencies
npm install
# Build the extension
npm run compile
# Package the extension
npm run packagetools/vscode-extension/
โโโ src/
โ โโโ extension.ts # Main extension entry point
โ โโโ syncManager.ts # Sync logic and GitHub integration
โ โโโ configManager.ts # Configuration management
โ โโโ statusBarManager.ts # Status bar integration
โ โโโ utils/
โ โโโ fileSystem.ts # File system operations
โ โโโ github.ts # GitHub API wrapper
โ โโโ notifications.ts # User notifications
โโโ package.json # Extension manifest
โโโ tsconfig.json # TypeScript configuration
โโโ webpack.config.js # Build configuration
โโโ README.md # This file
npm run compile- Build the extensionnpm run watch- Build in watch modenpm run package- Create VSIX packagenpm run test- Run testsnpm run lint- Run ESLint
We welcome contributions to improve the extension! Please see our Contribution Guide for details.
- Check existing issues in the repository
- Create a new issue with:
- Extension version
- VS Code version
- Operating system
- Detailed description of the problem
- Steps to reproduce
- Open an issue with the "enhancement" label
- Describe the desired functionality
- Explain the use case and benefits
For the complete release history, detailed changes, and migration notes, please refer to the project's changelog:
Apache 2.0
For support and questions:
- Check the troubleshooting section above
- Report an issue.
Made with โค๏ธ by the Logient-nventive Team