A Chrome extension that displays Linear Custom Views as a kanban-style whiteboard. Built for daily standups and team-wide progress overview.
- Whiteboard view - Grid layout with issues as rows and sub-issue statuses as columns
- Drag & drop - Move cards between status columns to update state
- Cycle filter - Filter by cycle period (auto-detects the active cycle)
- Assignee highlight - Highlight cards for a specific team member
- Grouping & pager - Supports Custom View grouping settings
- Zoom - Adjust text and card size from 50% to 150%
- Priority & label colors - Left border shows priority color, background shows label color
- Days-in-progress indicator - Ring visualization for time spent in Started state
- Node.js 20+
- npm
npm installnpm run devEnable developer mode at chrome://extensions and load the dist/ folder.
npm run build- Get a Personal API Key from Linear Settings > Account > Security
- Configure the API Key in the extension's Settings page
- Open a Linear Custom View page
- Click the "Whiteboard" button in the header
Publishing to the Chrome Web Store is automated via GitHub Actions.
Set up the following in Google Cloud Console:
-
Create a project and enable the Chrome Web Store API
-
Create an OAuth 2.0 client ID (Desktop app)
-
Add
https://www.googleapis.com/auth/chromewebstorescope to the OAuth consent screen -
Obtain a refresh token:
https://accounts.google.com/o/oauth2/auth?response_type=code&scope=https://www.googleapis.com/auth/chromewebstore&client_id=<CLIENT_ID>&redirect_uri=urn:ietf:wg:oauth:2.0:oobExchange the authorization code for a token:
curl -X POST "https://oauth2.googleapis.com/token" \ -d "client_id=<CLIENT_ID>" \ -d "client_secret=<CLIENT_SECRET>" \ -d "code=<AUTH_CODE>" \ -d "grant_type=authorization_code" \ -d "redirect_uri=urn:ietf:wg:oauth:2.0:oob"
-
Add the following secrets in GitHub repository Settings > Secrets:
Secret Description CHROME_EXTENSION_IDExtension ID on Chrome Web Store CHROME_CLIENT_IDOAuth client ID CHROME_CLIENT_SECRETOAuth client secret CHROME_REFRESH_TOKENRefresh token
- Go to the Actions tab and select Publish Chrome Extension
- Click "Run workflow" and enter the version number (e.g.
0.2.0) - The workflow automatically builds, uploads, and submits for review
The publish target is restricted to trusted testers only.
- TypeScript / Vanilla DOM
- Vite + @crxjs/vite-plugin
- Chrome Manifest V3
- Linear GraphQL API