TEMPO is a powerful AI-powered code completion extension for Visual Studio Code that provides intelligent suggestions across multiple programming languages using OpenRouter's AI models.
- 🤖 AI-Powered Completions - Intelligent code suggestions using state-of-the-art language models
- 🌍 Multi-Language Support - Works with JavaScript, TypeScript, Python, Java, Go, Rust, C/C++, C#, PHP, Ruby, Swift, Kotlin, Scala, HTML, CSS, and JSON
- ⚡ Fast & Efficient - Smart caching system reduces API calls and improves response time
- 🎯 Context-Aware - Understands your code context for better suggestions
- 🎨 Seamless Integration - Native inline completion like GitHub Copilot
- 🔧 Customizable - Choose your preferred AI model and configure settings
Before installing TEMPO, you'll need:
- Visual Studio Code (version 1.85 or higher)
- Node.js (version 18 or higher)
- OpenRouter API Key - Get one from https://openrouter.ai
- Sign up for a free account
- Add credits to your account
- Generate an API key from your dashboard
-
Download the latest
.vsixfile from the Releases page -
Install the extension:
code --install-extension tempo-1.0.0.vsix
Or install via VS Code UI:
- Open VS Code
- Go to Extensions view (
Ctrl+Shift+X/Cmd+Shift+X) - Click the
...menu →Install from VSIX... - Select the downloaded
tempo-1.0.0.vsixfile
-
Reload VS Code:
- Press
Ctrl+Shift+P/Cmd+Shift+P - Type "Developer: Reload Window" and press Enter
- Press
# Clone the repository
git clone https://github.com/yourusername/tempo.git
cd tempo
# Install dependencies
npm install
# Compile the extension
npm run compile
# Package the extension
npm install -g @vscode/vsce
vsce package
# Install the generated .vsix file
code --install-extension tempo-1.0.0.vsixOpen VS Code Settings:
- Press
Ctrl+,/Cmd+, - Search for "tempo"
- Enter your OpenRouter API key in Tempo: Open Router Api Key
Or edit settings.json directly:
{
"tempo.openRouterApiKey": "sk-or-v1-your-api-key-here"
}| Setting | Description | Default |
|---|---|---|
tempo.model |
AI model to use | anthropic/claude-3.5-sonnet |
tempo.maxTokens |
Maximum tokens for completion | 150 |
tempo.enabled |
Enable/disable the extension | true |
anthropic/claude-3.5-sonnet(Recommended - Best balance)anthropic/claude-3-opus(Highest quality)openai/gpt-4-turbo(Very good)openai/gpt-3.5-turbo(Fast and cheaper)google/gemini-pro(Good alternative)meta-llama/llama-3-70b-instruct(Open source)mistralai/mistral-large(Fast and efficient)
- Open any supported file (
.js,.py,.java,.go, etc.) - Start typing code
- Wait briefly (~300ms) after you stop typing
- See AI suggestions appear in gray text
- Accept with
Tabor→key - Dismiss with
Escor continue typing
function calculateTotal(items) {
// Start typing: let total =
// TEMPO will suggest: let total = items.reduce((sum, item) => sum + item.price, 0);
// Press Tab to accept
}Access commands via Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
- Toggle TEMPO - Enable or disable the extension
Watch the status bar (bottom-right corner) for extension state:
| Icon | Meaning |
|---|---|
$(sparkle) AI Ready |
Extension is active and ready |
$(loading~spin) Generating... |
Fetching completion from AI |
$(error) AI Error |
An error occurred (check console) |
$(alert) No API Key |
API key not configured |
- Check API Key: Ensure your OpenRouter API key is set correctly
- Verify Credits: Make sure your OpenRouter account has credits
- Check Status Bar: Look for error indicators
- Wait Longer: Give it ~500ms after stopping typing
- Check Console: Help → Toggle Developer Tools → Console tab
- Try a faster model:
openai/gpt-3.5-turbo - Reduce
maxTokenssetting to100or less - Check your internet connection
- Use a more powerful model:
anthropic/claude-3-opusoropenai/gpt-4-turbo - Increase
maxTokensto200-300 - Ensure your code has clear context around the cursor
- Check that the extension is enabled in Extensions view
- Reload VS Code:
Ctrl+Shift+P→ "Developer: Reload Window" - Check Output panel: View → Output → Select "TEMPO"
TEMPO uses OpenRouter's pay-per-use pricing. To minimize costs:
- ✅ Built-in caching (5-second cache for repeated requests)
- ✅ Use cheaper models for simple completions (
gpt-3.5-turbo) - ✅ Adjust
maxTokensto reasonable values (100-150) - ✅ Monitor usage on your OpenRouter dashboard
- Your code is sent to OpenRouter's API for processing
- API keys are stored locally in VS Code settings
- No telemetry or data collection by TEMPO
- Review OpenRouter's Privacy Policy
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with OpenRouter for AI model access
- Powered by models from Anthropic, OpenAI, Google, Meta, and more
- Inspired by GitHub Copilot
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: iyanu752@gmail.com
If you find TEMPO useful, please consider giving it a star on GitHub!
Made with ❤️ by Your Name