Tasko by RUKN — VS Code Extension
RUKN · Tasko — VS Code / Cursor extension for Tasko. View the current task timer in the status bar and stop it from the editor. Connects to your Tasko (Frappe) site.
Setup
- Install dependencies:
npm install
- Compile:
npm run compile
- Press F5 in VS Code to launch the Extension Development Host.
The extension uses the RUKN logo as its icon (icon.png). The source is icon.svg. To regenerate the 128×128 PNG after editing the SVG, run: npm run generate-icon.
Configuration
- Tasko: Set API credentials — Set your Frappe site URL and API key/secret (from User → API Access).
- tasko.baseUrl — Your Tasko/Frappe site URL (e.g.
https://your-site.com).
CodeRabbit
Run a review (after coderabbit auth login if needed):
./scripts/run-coderabbit-review.sh
Output is written to .coderabbit-review.txt.
Why it doesn’t show in Cursor
Cursor uses the Open VSX registry, not the VS Code Marketplace. Publishing with vsce publish only makes the extension available in VS Code. To have it show up in Cursor’s Extensions panel, you must also publish to Open VSX (see below).
Publishing to VS Code Marketplace
1. Create a publisher (one-time)
- Go to Visual Studio Marketplace and sign in with your Microsoft account.
- Click your profile (top right) → Publish extension (or go to Manage publishers).
- Click Create Publisher and choose a Publisher ID (e.g.
your-company or your GitHub username). This ID is permanent and will appear in the extension URL.
- Fill in display name and logo if you want.
2. Set the publisher in this extension
In package.json, the publisher is set to RUKNSoftware (RUKN). To use a different publisher, replace it with your Publisher ID:
"publisher": "RUKNSoftware"
3. Install dependencies (includes vsce)
From the extension folder, run npm install. The project already includes @vscode/vsce as a dev dependency, so you don't need a global install or sudo. If you use Node 18, the project pins undici to 5.x via an override so vsce runs correctly; Node 20+ works without that.
4. Get a Personal Access Token (PAT)
- Go to Azure DevOps and sign in with the same Microsoft account.
- Create an organization if you don’t have one (e.g.
myorg).
- User settings (top right) → Personal access tokens → + New Token.
- Name it (e.g. “VS Code publish”), choose Custom defined → scope Marketplace → Manage.
- Create and copy the token (you won’t see it again).
5. Log in with vsce (one-time per machine)
cd tasko-vs-extension
npx vsce login your-publisher-id
When prompted, paste your PAT. Using npx vsce runs the local vsce (no global install).
6. Package and publish
From the extension root (tasko-vs-extension/):
npm run package
This compiles and creates tasko-vs-extension-0.1.0.vsix. To publish to the marketplace:
npm run publish:marketplace
Or with npx: npx vsce publish. For a patch release (e.g. 0.1.0 → 0.1.1), bump version in package.json and run npm run publish:marketplace again.
Optional: publish as .vsix only (no marketplace)
To share the extension as a file (install via Extensions → ... → Install from VSIX):
npx vsce package
Then distribute the .vsix file; no Microsoft account or PAT needed for installers.
Publishing to Open VSX (so it appears in Cursor)
Cursor’s built-in Extensions panel uses Open VSX. Publish there so users can find Tasko by RUKN in Cursor. You must sign the Publisher Agreement with the Eclipse Foundation before your first publish.
1. Sign the Eclipse Publisher Agreement (required, one-time)
Create an Eclipse account
Go to accounts.eclipse.org/user/register and register. In your profile, set your GitHub username to the same account you will use on open-vsx.org.
Log in to Open VSX
Go to open-vsx.org and sign in with GitHub.
Link Eclipse and open the agreement
- Click your avatar (top right) → Settings.
- Click “Log in with Eclipse” and authorize with your Eclipse account.
- After linking, “Show Publisher Agreement” appears on your profile.
- Click it, read the agreement, and click “Agree”.
Create the namespace (so you can publish)
From the extension folder (with OVSX_PAT set or --pat), run:
npx ovsx create-namespace RUKNSoftware
Use the same name as the publisher in package.json. This makes you a contributor so you can publish; the namespace is still unverified until you claim it.
Claim the namespace (optional but recommended)
To get a verified namespace and full control, open a GitHub issue to claim it:
- Go to github.com/EclipseFdn/open-vsx.org/issues/new.
- Choose the namespace template (or use a new issue).
- Title: Claiming namespace RUKNSoftware (or your publisher id).
- In the body, state that you are the publisher and want to claim the namespace. Include your open-vsx.org username (your GitHub login used on open-vsx.org).
- Submit the issue. A maintainer will grant you owner of the namespace; then it becomes verified.
Create an access token
On open-vsx.org: Avatar → Settings → Access Tokens → Generate New Token. Copy and save it (e.g. as OVSX_PAT); it is shown only once.
2. Publish
From the extension root, after npm install:
npx ovsx publish --pat $OVSX_PAT
Or with the npm script:
npm run publish:openvsx
(Set OVSX_PAT to your token, or pass --pat YOUR_TOKEN to ovsx publish.)
3. After publishing
Install from VSIX in Cursor (no Open VSX)
If someone has the .vsix file, they can install it in Cursor without Open VSX: Extensions → ... → Install from VSIX.