## Best Practices
* **Push regularly** to keep your GitHub branch updated
* **Complete and merge** one feature before creating another
* Structure larger projects as multiple feature canvases instead of developing everything in a single branch
By following these steps, you'll ensure smooth collaboration and maintain a clean project history.
# Github Organizations
Source: https://tempolabsinc.mintlify.app/Basics/GitOrgs
Tempo now integrates directly with GitHub Organizations, empowering your team to seamlessly collaborate and push AI projects faster.
We're excited to announce GitHub Organizations integration in Tempo!
Unlike most AI software platforms built solely for individual workflows, Tempo is designed for team collaboration from the ground up.
With this new integration, you can effortlessly push Tempo projects directly into your GitHub organization, making team collaboration smoother, faster, and more efficient.
Check out the video walkthrough below to see exactly how easy it is to start collaborating on AI projects with your entire team.
# Keyboard Shortcuts
Source: https://tempolabsinc.mintlify.app/Basics/Keyboard Shortcuts
Speed up your workflow with keyboard shortcuts
## Navigation
| Shortcut | Action |
| ------------------------------------------------- | -------------------------- |
| Ctrl/Cmd+Shift+D | Back to dashboard |
| Alt+1 | Switch to Dom Tree |
| Alt+2 | Switch to Assets |
| Alt+3 | Switch to Community |
| Alt+4 | Switch to File Selector |
| Alt+5 | Switch to Git Settings |
| Alt+6 | Switch to History |
| Alt+7 | Switch to App Store |
| Alt+8 | Switch to Info |
| Alt+9 | Switch to Project Settings |
## Zoom
| Shortcut | Action |
| -------------------------------- | ----------------- |
| Ctrl/Cmd+= | Zoom in |
| Ctrl/Cmd+- | Zoom out |
| Ctrl/Cmd+0 | Reset zoom |
| Shift+1 | Zoom to fit |
| Shift+2 | Zoom to selection |
## Selection
| Shortcut | Action |
| -------------------------------- | ----------------------- |
| Ctrl/Cmd+A | Select all elements |
| Tab | Select next sibling |
| Shift+Tab | Select previous sibling |
| \\ | Select parent |
| Esc | Clear selection |
## Tools
| Shortcut | Action |
| ------------ | ------------------------- |
| A | AI tool |
| V | Select tool |
| T | Text tool |
| H | Hand tool |
| F | Draw tool |
| G | Generate image |
| X | Switch to light/dark mode |
| D | Design/Interactive mode |
## Text Formatting
| Shortcut | Action |
| ------------------------------------------------- | ----------------------- |
| Ctrl/Cmd+B | Toggle bold |
| Ctrl/Cmd+I | Toggle italic |
| Ctrl/Cmd+U | Toggle underline |
| Ctrl/Cmd+Shift+X | Toggle strikethrough |
| Ctrl/Cmd+Alt+L | Text align left |
| Ctrl/Cmd+Alt+T | Text align center |
| Ctrl/Cmd+Alt+R | Text align right |
| Ctrl/Cmd+Alt+J | Text align justified |
| Shift+Ctrl/Cmd+, | Decrease font size |
| Shift+Ctrl/Cmd+. | Increase font size |
| Ctrl/Cmd+Alt+, | Decrease font weight |
| Ctrl/Cmd+Alt+. | Increase font weight |
| Alt+, | Decrease letter spacing |
| Alt+. | Increase letter spacing |
| Shift+Alt+, | Decrease line height |
| Shift+Alt+. | Increase line height |
## Layout & Style
| Shortcut | Action |
| -------------------------------------------- | ------------------ |
| Shift+A | Add auto layout |
| Alt+Shift+A | Remove auto layout |
| Alt+/ | Remove fill |
| Shift+/ | Remove stroke |
## Canvas Actions
| Shortcut | Action |
| ------------------------------------------------- | -------------------------------------- |
| Ctrl/Cmd+Z | Undo |
| Ctrl/Cmd+Shift+Z | Redo |
| Ctrl/Cmd+D | Duplicate selected element |
| Backspace | Delete selected element |
| Ctrl/Cmd+Alt+K | Create component from selected element |
| Ctrl/Cmd+Alt+B | Detach component instance |
| Ctrl/Cmd+Alt+G | Group (wrap) selected elements |
| Ctrl/Cmd+Shift+R | Paste to replace selected elements |
## Positioning
| Shortcut | Action |
| ----------------------------- | ------------------- |
| ← | Nudge left |
| → | Nudge right |
| ↑ | Nudge up |
| ↓ | Nudge down |
| Shift+← | Nudge left (large) |
| Shift+→ | Nudge right (large) |
| Shift+↑ | Nudge up (large) |
| Shift+↓ | Nudge down (large) |
# Local Mode (Tempo <> Windsurf or Cursor)
Source: https://tempolabsinc.mintlify.app/Basics/LocalMode
Local Mode syncs your Tempo project with your IDE in real time—no ZIPs, no Git.
**Local Mode** bridges the gap between your favorite IDE and the power of Tempo.
Instead of juggling ZIP downloads or the constant push/pull routine with GitHub, Local Mode enables real-time, 2-way sync between Tempo and editors like VS Code, Cursor, or Windsurf.
Whether you're coding solo or collaborating with AI, changes made in your IDE are instantly reflected in Tempo—and vice versa. No friction, no hacks—just smooth, seamless collaboration that keeps your project in perfect sync. Work where you want.
Ship how you want. Welcome to Local Mode.
# Prompting in Tempo
Source: https://tempolabsinc.mintlify.app/Basics/Prompting
Learn effective prompting strategies to make the most out of Tempo
## Overview
Unlock the full potential of Tempo with these tried-and-tested prompting techniques.
These methods, drawn from our team’s experiences and user insights, can help you guide the AI to produce more precise and impactful results.
### What is prompting?
Prompting is the process of giving written instructions to the AI to shape your project. Think of it as an interactive conversation—your prompts guide the AI to build or refine specific aspects of your design.
Since Tempo utilizes advanced language models, the way you frame your requests can significantly influence the output. Taking time to craft clear, detailed prompts ensures you achieve optimal results.
## Use your Mouse to Guide AI
One of Tempos’ standout features is the ability to click directly on individual components within the Canvas. This tells the AI exactly which element you’d like to update, and your selection appears in the chat to ensure clarity.
## Prompting strategies
Below are a range of techniques to help you achieve the best results. These approaches are flexible—experiment with them and combine methods to suit your project’s needs.
### Setting the Scene with Context
Providing relevant background information helps the AI better understand your requirements before diving into specifics.
Example Prompt:
```md theme={null}
I’m working on a collaborative tool to help teams manage their projects. Here are the key features I’d like to include:
- User sign-up and authentication
- Project dashboards
- Task tracking and assignment
- Progress reporting
Start by designing the project dashboard.
```
### Incremental prompting
Instead of overwhelming the AI with a large, complex task, break it into smaller, manageable steps. Incremental instructions often yield better, more accurate results.
**Instead of:**
*"Create a CRM app with authentication,Google Sheets export, and data enrichment."*
**Try these prompts sequentially:**
```md theme={null}
1. Set up a basic CRM interface
2. Add user authentication features.
3. Enable Google Sheets export functionality.
4. Incorporate data enrichment from an external service
```
### Image Prompts
Tempo supports uploading images to guide the AI.
Whether it’s a design layout or a wireframe, adding detailed instructions alongside visuals can enhance results.
**Detailed Visual Prompt**
```md theme={null}
Based on the attached image, build a Kanban board.
Include features to add and reorder cards within columns, and move cards between columns.
Use drag-and-drop functionality, leveraging libraries like Pangea home-dnd.
```
### Avoid Vague Prompts
Vague instructions can lead to subpar results. Being specific and thorough helps the AI deliver what you envision.
**Avoid**
*"Build a form"*
**Instead use:**
```md theme={null}
Design a form with input fields for name, email, and phone number.
Ensure form validation and include a “Submit” button.
```
### Prompt with constraints
Constraints can help focus the AI’s attention on what’s most important and avoid unnecessary complexity.
**Example with Constraints:**
```md theme={null}
Create a task manager that shows up to three tasks at a time, with options to add, edit, and delete tasks.
```
### Fixing Errors with Prompts
When problems arise, the AI is more likely to fix them if you describe the issue in detail.
**Avoid:**
*"The project is broken. Fix it."*
**Better:**
```md theme={null}
The screen went blank after the last edit.
It was functional before. Can you investigate and restore the previous state?
```
For more detailed documentation, refer to [Prompting Best Practices](https://tempolabsinc.mintlify.app/Best%20Practices/Level%20Up%20Your%20Prompting%20Game)
# Restart Server
Source: https://tempolabsinc.mintlify.app/Basics/RestartServer
How to restart your server in Tempo
Sometimes, the simplest fix is to turn it **OFF** and then turn it **back ON**.
Now, you can do exactly that in Tempo with the new **"Restart Project"** feature.
Whether you’re troubleshooting an issue or just want a fresh start, restarting your project is now just a click away.
Here’s how it works 👇
# Starter Repo and Github Integration
Source: https://tempolabsinc.mintlify.app/Basics/Starter Repo and Github Integration
Connect your project to GitHub and version control
Tempo supports git-backed projects, allowing you to push and pull changes seamlessly between your local Canvas and a GitHub repository.
## Connecting a Project to GitHub
Syncing your Tempo project with GitHub is quick and straightforward:
1. In Tempo, navigate to the Git Settings tab.
2. Select Create a Repository and name your repo.
3. When prompted, install the GitHub App to enable integration.
4. Authorize and Refresh
5. Return to the main screen and refresh your permissions to complete the setup.
## Adding Media
You can add images and videos using two primary methods:
1. Uploading media directly to your connected GitHub repository.
2. Referencing media hosted at external URLs.
## Using an external image URL
You can use images/videos hosted on platforms like Unsplash, Imgur, Youtube or similar services.
This is a quick and convenient method, but keep the following in mind:
1. Ensure you have the appropriate usage rights for any image.
2. Some servers may block external usage with a feature called CORS, which might prevent the image from loading.
**Steps to Add an External Media:**
1. Find an image/video on your preferred platform (e.g., Unsplash, Youtube).
2. Copy the image/video's URL.
3. Use the URL in your project prompt. For example:
```md theme={null}
"Add a hero section image using the following URL: https://upload.wikimedia.org/wikipedia/commons/thumb/7/73/Pale_Blue_Dot.png/442px-Pale_Blue_Dot.png
```
## Using video and images from your GitHub *public* directory
For projects connected to GitHub, you can upload media to your repository's public folder and reference them in your Tempo prompts.
1. Connect your repository and make sure your project is synced with GitHub.
2. Navigate to the public folder in your repository.
3. Click Add File → Upload Files.
4. Drag and drop your image/video into the public folder or use the Choose Your Files option to upload manually.
5. Write a commit message (e.g., "Add images for app use").
6. Click Commit Changes to save the file.
7. Select the uploaded file and click on the copy icon next to the file name to copy the image’s path.
8. Reference the image in your Tempo prompt, e.g., "Add a hero section image from my repository: public/my-image.jpg."
## Setting up
The first step to world-class documentation is setting up your editing environments.
How To Open Dev Tools
How to filter network logs
Supabase Failed Import Error
Supabase Incorrect Function Name Error
Bad Request: supabaseKey required Error