Frame Map
A streamlined project management canvas inside your editor
Stay in flow. Ship faster. Never leave your editor.
About
Frame Map is a lean, offline-first project canvas for your editor. It lets you manage tasks, monitor progress, and organize your workflow right where you code.
No extra tools. No accounts. No cloud dependency. It can all live locally.
What It Does
- Classic canvas layout — To Do, In Progress, Done
- Canvases split into lanes so every project reads at a glance
- Detailed task cards with priority labels, tags, assignees, checklists, and notes
- Multiple canvases to keep separate projects organized
- Join codes for easy canvas sharing with your team
- Board notes that sync with everyone on the board
- Everything saved locally as plain JSON files
- Clean, minimal interface designed for focus
- Optional live sync when a canvas server is configured
- Input sanitization and validation built in
Setup
From the Marketplace
- Open the Extensions panel (
Ctrl+Shift+X / Cmd+Shift+X)
- Search for Frame Map
- Click Install
You can also install manually from a .vsix file via the Extensions menu.
First Use
The board opens automatically every time the extension is installed (each install, update, or reinstall triggers it once) — no need to click Open Board.
You can also open it at any time from the command palette:
- Windows/Linux:
Ctrl+Shift+P → Frame Map: Open Board
- macOS:
Cmd+Shift+P → Frame Map: Open Board
Entry Board
settings.json (shipped with the extension) controls what happens when the board UI is opened:
| Key |
Type |
Default |
Meaning |
entryBoard |
boolean |
true |
When true, the welcome canvas is joined once on first run. When false, the board opens locally and no welcome canvas is joined. |
welcomeCanvasID |
string |
system-welcome-canvas |
The canvas id joined from the server when entryBoard is true. |
On every new install the extension opens the board and joins the welcome canvas automatically. Outside of an install, Open Board restores the board you were last on instead of re-joining the welcome canvas.
The welcome canvas is fetched from https://www.canvases.work/api/canvases/sync?canvasId=system-welcome-canvas (the server URL and sync path are configurable through frameMap.serverBaseUrl and frameMap.syncEndpoint).
Canvases
Creating one
- Run Frame Map: Create Canvas from the command palette
- Give it a name
- Start adding lanes and cards
Joining one
- Press Join in the canvas header
- Paste a canvas code shared by a teammate — either the full form (
Canvas::join::s32SvqJMBL8G) or just the short code (s32SvqJMBL8G)
- The board appears with its lanes, cards, and board note synced with everyone else
Sharing one
- Press Share in the canvas header
- Share the code with your team
- Anyone with the code can join the board and stay in sync
Managing Tasks
- Hit + Card to create a new task
- Click any card to open the full editor
- Drag cards between lanes as work progresses
- Add tags, set priority, write checklists, and attach notes
- Delete cards from the detail view
Available Commands
| Action |
How |
| Open the board |
Command palette (Frame Map: Open Board) — also pinned top-right of the editor |
| Create canvas |
Command palette → Frame Map: Create Canvas |
| Join canvas |
Join button or Frame Map: Join Canvas with Code |
| Share canvas |
Share button or Frame Map: Create Canvas Code |
| Leave canvas |
Leave button or Frame Map: Leave Canvas |
| Toggle visibility |
Frame Map: Toggle Canvas Visibility |
| Add card |
+ Card button on a canvas |
| Edit card |
Click the card |
| Delete card |
Inside the card editor |
| Close overlay |
Press Esc or click outside |
Common Issues
| Problem |
Solution |
| Canvas doesn't open |
Reload your editor (Developer: Reload Window) |
| Icon not showing |
Reinstall the extension |
| Join code rejected |
Double-check O vs 0 and other lookalike characters |
| Lost data |
Verify your user storage folder (~/.framemap) |
| Keybinding conflict |
Remap in Keybindings settings |
License
MIT License